/* MARKETING OS · F1 (Mai napom, Kimenő, felső sáv, telefon) -- a prototípus tokenjeit használja (--surface, --text, --border, --bad, --warn, --ok …). */

/* ── Állapotsáv: borostyán szint + a külön jelzések (mérés áll / költés szünetel) ── */
.st-box.st-amber .st-ok { display: none; }
.st-box.st-amber .st-sig { background: var(--warn); color: #fff; }
.st-box.st-amber .st-cta { color: var(--warn); }
.st-box .st-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.st-box .st-chips:empty { display: none; }
.st-box .st-chip { font-size: 13px; font-weight: 700; padding: 2px 9px; border-radius: 999px; background: rgba(255, 255, 255, .22); color: #fff; }
.st-box.st-green .st-chip { background: rgba(255, 255, 255, .22); }
.mos-focusnote { font-size: 14px; padding: 8px 12px; border-radius: 10px; background: var(--warn-bg); color: var(--text-2); border: 1px solid var(--warn); }

/* ── Döntéskártya ── */
.mx-dec.mos-focus { box-shadow: 0 0 0 2px var(--primary, #6b46c1); }
.mos-agentline { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 14px; color: var(--text-2); }
.mos-untrusted { font-size: 14px; padding: 8px 10px; border-radius: 8px; background: var(--warn-bg); color: var(--text-2); border: 1px dashed var(--warn); }
.mx-dec.mos-ext .mx-q { opacity: .92; border-left: 3px dashed var(--border-strong); padding-left: 10px; }
.mx-dec .mos-note { font-size: 14px; color: var(--muted); }
.mx-dec.mos-done { padding: 9px 14px; flex-direction: row; align-items: center; gap: 12px; flex-wrap: wrap; background: color-mix(in srgb, var(--ok-bg) 60%, var(--surface)); }
.mx-dec.mos-done::before { background: var(--ok); }
.mos-donetxt { font-size: 15px; color: var(--ok); font-weight: 600; flex: 1 1 auto; }
.mos-undo { font-size: 14px; color: var(--muted); cursor: pointer; text-decoration: underline; }
.mos-undo:hover { color: var(--text); }
.mos-pill.warn, .mos-pill.bad, .mos-pill.agent { white-space: normal; }
.wt-r.wt-isopen { border-top-color: var(--primary, #6b46c1); }
.wt-r + .mx-dec { margin: 4px 0 8px; }
.wt .mx-dec { margin-left: 0; margin-right: 0; }

/* ── Jobb oszlop ── */
.mos-auto { display: grid; grid-template-columns: 44px 1fr; gap: 8px; font-size: 14px; padding: 4px 0; align-items: baseline; }
.mos-auto-t { font-variant-numeric: tabular-nums; color: var(--muted); font-size: 13px; }
.mos-na { color: var(--muted); font-size: 16px !important; font-weight: 600; }
.ma-day-k { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.mx-row.mos-past { opacity: .7; }
.mx-row .mx-undo { cursor: pointer; }

/* ── Kimenő ── */
.mos-kim .mos-link { cursor: pointer; }
.mos-kim .mos-link:hover { text-decoration: underline; }
.mos-kim .mb-ib { cursor: pointer; }
.mos-kim .mb-ib:hover { background: var(--surface-2); color: var(--text); }
.mos-kim .btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.mos-kim .mb-hash svg, .mos-kim .btn svg { width: 13px; height: 13px; vertical-align: -2px; }
.mos-kim .kc-i { cursor: pointer; }
.mos-cal-empty { color: var(--muted); font-size: 13px; padding: 6px 4px; }
.mos-kim .mx-sum { margin: 4px 0 10px; }
.mos-kim .mx-fold { margin-bottom: 12px; }
.mos-kim .card-h .r { flex-wrap: wrap; }
.mos-stlabel { color: var(--text-2); }
.kim-sheet { display: none; }

/* ── Ablakok (dlg), csoportos választók ── */
.mos-modal-err { padding: 8px 18px; color: var(--bad); font-size: 14px; border-top: 1px solid var(--border); background: color-mix(in srgb, var(--bad) 8%, transparent); }
.mos-modal-err[hidden] { display: none; }
.mos-modal-wrap.is-busy .mos-modal { opacity: .75; pointer-events: none; }
.mos-grp { display: grid; gap: 6px; }
.mos-grp-h { display: flex; gap: 8px; align-items: baseline; font-size: 15px; }
.mos-prof { display: flex; gap: 14px; align-items: center; }
.mos-det { display: grid; gap: 10px; }
.mos-det b { font-size: 13px; text-transform: uppercase; letter-spacing: .4px; color: var(--muted); }
.mos-preview { border: 1px solid var(--border); border-radius: 10px; padding: 12px; display: grid; gap: 6px; background: var(--surface-2); }
.mos-row input[type="radio"], .mos-row input[type="checkbox"] { flex: none; }
.mx-chips .chip { cursor: pointer; }

/* ── Felső sáv ── */
.top .kill.mos-killed { background: var(--bad); color: #fff; border-color: var(--bad); }
.top .kill.mos-killed span.p-kl { display: inline !important; }
.top .kill[hidden] { display: none !important; }
.top .p-bell .badge-n[hidden] { display: none; }
.mos-umenu { position: fixed; z-index: 410; min-width: 260px; max-width: calc(100vw - 24px); background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow, 0 10px 30px rgba(0, 0, 0, .25)); padding: 6px; display: grid; gap: 2px; }
.mos-um-h { display: grid; padding: 8px 10px 10px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
.mos-um-i { padding: 9px 10px; border-radius: 8px; cursor: pointer; font-size: 15px; }
.mos-um-i:hover, .mos-um-i:focus { background: var(--surface-2); outline: none; }
.mos-um-out { color: var(--bad); }
.p-pop .p-li.mos-unread b::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--bad); margin-right: 6px; }
.p-pop .p-li.mos-read { opacity: .65; }
.p-pop .p-li { cursor: pointer; }
/* sok jelzésnél a harang listája görgethető (WP18): az alsó csoportok (Ma, Heti) is elérhetők, nem lóg ki a képernyőről */
.p-pop { max-height: calc(100vh - 88px); overflow-y: auto; overscroll-behavior: contain; }
/* telefonon a prototípus inline „right: 56px”-e a doboz bal szélét a nézeten kívülre tolta (x=-24): a popup a nézeten belül, 8 px margóval áll */
@media (max-width: 600px) { .p-pop { left: 8px !important; right: 8px !important; width: auto; max-width: calc(100vw - 16px); box-sizing: border-box; } }
.mos-pop-f { padding: 6px 8px 4px; display: flex; justify-content: flex-end; }

/* ── Parancssor ── */
.cp-ov .cp-it { cursor: pointer; }
.cp-ov .cp-it.act { background: var(--surface-2); }
.cp-ov .cp-ans { white-space: normal; }
.cp-ov .cp-ans ul { margin: 0; padding-left: 18px; display: grid; gap: 3px; }
.cp-ov .cp-ans a, .cp-ov .cp-src a { color: var(--primary, #6b46c1); cursor: pointer; text-decoration: underline; }
.cp-ov .cp-note { margin: 8px 16px; font-size: 13px; color: var(--muted); }
.cp-ov .cp-mic.is-on { background: var(--bad); color: #fff; }
.cp-ov .cp-acts { flex-wrap: wrap; }

/* ── Bemutató (▶): hiányzó elem jelzése ── */
.tr-card .mos-tour-miss { font-size: 13px; color: var(--muted); margin: 6px 0 0; padding: 6px 8px; border-radius: 8px; background: var(--surface-2); }

/* ── Telefon: szerkesztés nincs ── */
.mos-desk-msg { display: none; }
.mos-tabbar { display: none; }
@media (max-width: 767px) {
  body.mos-live { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  /* a súgó-fiók (p-guide, 1280 px alatt fix) alja a tabbar fölött ér véget, gombjait a tabbar nem takarja */
  :root { --tabbar-h: calc(60px + env(safe-area-inset-bottom, 0px)); } /* a fülsáv tényleges magassága (lent: height) */
  .p-guide { height: auto; bottom: var(--tabbar-h); }
  .mos-tabbar { display: grid; grid-template-columns: repeat(4, 1fr); box-sizing: border-box; height: var(--tabbar-h); position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--surface); border-top: 1px solid var(--border); padding-bottom: env(safe-area-inset-bottom, 0px); }
  .mos-tabbar [data-tab] { padding: 9px 4px 8px; text-align: center; font-size: 12px; color: var(--muted); display: grid; gap: 2px; justify-items: center; cursor: pointer; }
  .mos-tabbar [data-tab].on { color: var(--primary, #6b46c1); font-weight: 700; }
  .mos-tabbar [data-tab] i { font-style: normal; font-size: 18px; line-height: 1; }
  .mos-tabbar [data-tab] .mos-tb-n { position: absolute; margin-left: 16px; margin-top: -2px; background: var(--bad); color: #fff; font-size: 10px; border-radius: 999px; padding: 0 5px; }
  .view.mos-desk-only > .content, .view.mos-desk-only > .mos-live-root { display: none !important; }
  .view.mos-desk-only > .mos-desk-msg { display: block; margin: 24px 16px; padding: 22px 18px; border: 1px dashed var(--border-strong); border-radius: 14px; background: var(--surface); text-align: center; }
  .mos-desk-msg b { display: block; font-size: 18px; margin-bottom: 6px; }
  .mos-desk-msg p { margin: 0 0 12px; color: var(--text-2); }
  /* Mai napom: kompakt kártya, teljes szélességű gombok */
  #s-1 .ma-cols { display: block; }
  #s-1 .ma-colR { margin-top: 14px; }
  #s-1 .mx-acts .btn { flex: 1 1 calc(50% - 6px); text-align: center; justify-content: center; }
  #s-1 .mx-acts .btn-p { flex-basis: 100%; }
  #s-1 .mx-dec-h b { font-size: 16px; }
  #s-1 .mx-src { margin-left: 0; }
  #s-1 .st-box .st-sig, #s-1 .st-box .st-ok { padding: 12px 14px; gap: 10px; flex-wrap: wrap; }
  #s-1 .st-cta { margin-left: 0; }
  #s-1 .wt-r { grid-template-columns: 1fr auto; }
  #s-1 .wt-r .mx-src { grid-column: 1 / -1; }
  #s-1 .wt-r em, #s-1 .wt-r .wt-d { grid-column: 1; }
  #s-1 .mx-nums { grid-template-columns: 1fr; }
  .mos-edit { display: none !important; }
  /* Kimenő: kártyasorok, alsó lapos megerősítés-mutató */
  .mos-kim table.mb-q, .mos-kim table.mb-q tbody { display: block; }
  .mos-kim table.mb-q thead { display: none; }
  .mos-kim table.mb-q tr { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 2px 10px; padding: 10px 12px; border-top: 1px solid var(--border); }
  .mos-kim table.mb-q tr.mb-day { display: block; padding: 0; border-top: 0; }
  .mos-kim table.mb-q td { display: block; padding: 0 !important; border: 0 !important; min-width: 0; overflow-wrap: anywhere; }
  #s-5 .mb-q td.mb-to, #s-5 .mb-q td.mb-mat { min-width: 0; }
  #s-5 .mb-q td.mb-to b { white-space: normal; }
  .mos-kim table.mb-q td.mb-t { grid-row: 1 / span 2; }
  .mos-kim table.mb-q td:nth-child(2), .mos-kim table.mb-q td:nth-child(4) { grid-column: 2; }
  .mos-kim table.mb-q td:nth-child(3) { grid-column: 2; }
  .mos-kim table.mb-q td:nth-child(5), .mos-kim table.mb-q td.r { grid-column: 2; }
  .mos-kim table.mb-q td.r { text-align: left; margin-top: 4px; }
  .mos-kim .mx-cf { padding: 12px; }
  .mos-kim .kc-grid { grid-template-columns: 1fr; }
  .kim-sheet { display: flex; align-items: center; gap: 10px; justify-content: space-between; position: fixed; left: 8px; right: 8px; bottom: calc(66px + env(safe-area-inset-bottom, 0px)); z-index: 59; background: var(--warn-bg); color: var(--text); border: 1px solid var(--warn); border-radius: 14px; padding: 10px 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
  /* alsó lap (VIZ-B): alacsonyabb (a szűrő-chipek ne maradjanak alatta), a gombsor ragad a lap aljához és törik, hogy a „Teszt magamnak” ne lógjon ki */
  .mos-kim .kim-sheet { max-height: 42vh; overscroll-behavior: contain; }
  .mos-kim .kim-sheet .kim-sh-b { flex-wrap: wrap; position: sticky; bottom: 0; background: var(--surface); padding: 6px 0 2px; }
  .mos-kim .kim-sheet .kim-sh-b .btn { flex: 1 1 140px; min-width: 0; white-space: normal; text-align: center; }
  .mos-kim .mx-chips, .mos-kim .mx-chips .chip, .mos-kim .card-h .chip { scroll-margin-bottom: 45vh; }
  .mos-modal-wrap { padding: 4vh 8px 8px; }
  .mos-modal { width: 100%; }
  .p-stopbar { flex-wrap: wrap; padding: 8px 12px; font-size: 14px; }
}
@media (min-width: 768px) { .kim-sheet { display: none !important; } }

/* Kimenő · Lista és Naptár keskenyebb képernyőn (VIZ-B): a 975 px-es táblázat a 776 px-es kártyából kilógott, a „Művelet” oszlop elérhetetlen volt, a naptárból a 7. nap levágódott.
   768–1240 px között a sorok kártya-rácsok (idő | anyag, címzett | állapot, művelet), a naptár hét egyenlő oszlop. A #s-5 az app.css azonosító-specifikusságát hozza. */
@media (min-width: 768px) and (max-width: 1240px) {
  #s-5 .mb-q, #s-5 .mb-q tbody { display: block; }
  #s-5 .mb-q thead { display: none; }
  #s-5 .mb-q tr { display: grid; grid-template-columns: 78px minmax(0, 1fr) minmax(0, 230px); gap: 2px 14px; padding: 10px 14px; border-top: 1px solid var(--border); }
  #s-5 .mb-q tr.mb-day { display: block; padding: 0; border-top: 0; }
  #s-5 .mb-q td { display: block; padding: 0 !important; border: 0 !important; min-width: 0; overflow-wrap: anywhere; }
  #s-5 .mb-q td.mb-to, #s-5 .mb-q td.mb-mat { min-width: 0; }
  #s-5 .mb-q td.mb-to b { white-space: normal; }
  #s-5 .mb-q td.mb-t { grid-column: 1; grid-row: 1 / span 3; }
  #s-5 .mb-q td:nth-child(2) { grid-column: 2; grid-row: 1; }
  #s-5 .mb-q td.mb-mat { grid-column: 2; grid-row: 2; }
  #s-5 .mb-q td.mb-to { grid-column: 2; grid-row: 3; }
  #s-5 .mb-q td:nth-child(5) { grid-column: 3; grid-row: 1 / span 2; }
  #s-5 .mb-q td.r { grid-column: 3; grid-row: 3; text-align: left; }
  #s-5 .kc-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; padding: 12px 10px 14px; }
  #s-5 .kc-i { overflow-wrap: break-word; hyphens: auto; padding: 6px; overflow: hidden; min-width: 0; }
  #s-5 .kc-i .pill { white-space: normal; overflow-wrap: anywhere; hyphens: auto; max-width: 100%; box-sizing: border-box; font-size: 12px; line-height: 1.25; padding: 2px 7px; }
}
/* a sor színezése a sorra (nem a cellákra): kártya-rácsban a cellák közti rés is színes marad, a bal sáv a sor egészén fut (tablet + telefon) */
@media (max-width: 1240px) {
  #s-5 .mb-q tr.mb-need { background: color-mix(in srgb, var(--warn-bg) 50%, var(--surface)); box-shadow: inset 3px 0 0 var(--warn); }
  #s-5 .mb-q tr.mb-need td { background: transparent; }
  #s-5 .mb-q tr.mb-need td:first-child { box-shadow: none; }
  #s-5 .mb-q tr.mb-stop { box-shadow: inset 3px 0 0 var(--border-strong); }
  #s-5 .mb-q tr.mb-stop td:first-child { box-shadow: none; }
}

/* ── #telefon: élő előnézet keret ── */
.mos-tel { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 24px; align-items: start; }
.mos-tel-ph { display: grid; gap: 10px; justify-items: center; }
.mos-tel-tabs { display: flex; gap: 6px; }
.mos-tel-frame { width: 390px; height: 780px; border: 10px solid var(--text, #222); border-radius: 36px; overflow: hidden; background: var(--surface); box-shadow: 0 18px 40px rgba(0, 0, 0, .25); }
.mos-tel-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 1100px) { .mos-tel { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .mos-tel-ph { display: none; } }

/* ── Kampányok (#vaszon) ── */
.mos-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mos-vz { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; align-items: start; }
.mos-vzd { display: grid; gap: 14px; min-width: 0; }
.mos-camps { display: grid; }
.mos-camp { display: flex; gap: 10px; justify-content: space-between; align-items: center; padding: 12px 14px; border-top: 1px solid var(--border); cursor: pointer; }
.mos-camp:first-child { border-top: 0; }
.mos-camp:hover, .mos-camp.on { background: var(--surface-2); }
.mos-camp.on { box-shadow: inset 3px 0 0 var(--primary, #6b46c1); }
.mos-camp b { display: block; font-size: 15px; }
.mos-camp span:not(.mx-st) { font-size: 13px; color: var(--muted); }
.mos-chk { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: start; font-size: 14px; }
.mos-chk-i { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800; background: var(--surface-3); color: var(--muted); }
.mos-chk-i.ok { background: var(--ok-bg); color: var(--ok); }
.mos-chk-i.no { background: var(--warn-bg); color: var(--warn); }
.mos-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 12px; }
.mos-col { display: grid; gap: 8px; align-content: start; }
.mos-col-h { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); }
.mos-card { border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; display: grid; gap: 3px; background: var(--surface); font-size: 14px; }
.mos-card.ghost { border-style: dashed; background: var(--ai-bg); }
.mos-card span { color: var(--muted); font-size: 13px; }
@media (max-width: 1100px) { .mos-vz { grid-template-columns: 1fr; } .mos-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .mos-board { grid-template-columns: 1fr; } .mos-two { grid-template-columns: 1fr; } }

/* Keskeny képernyőn a prototípus .view { min-width: 960px } szabálya a saját képernyőinkre nem érvényes (vízszintes levágás ellen). */
@media (max-width: 860px) {
  .view[data-route="attekintes"], .view[data-route="kimeno"], .view[data-route="ontanulas"], .view[data-route="vaszon"], .view[data-route="telefon"] { min-width: 0; }
  .view[data-route="kimeno"] .mos-live-root, .view[data-route="ontanulas"] .mos-live-root, .view[data-route="vaszon"] .mos-live-root { min-width: 0; max-width: 100%; }
  .mos-kim .mx-sum { gap: 6px 14px; }
  .mos-kim .page-h, .view[data-route="ontanulas"] .page-h, .view[data-route="vaszon"] .page-h { flex-wrap: wrap !important; }
  .mos-kim .card-h, .view[data-route="ontanulas"] .card-h, .view[data-route="vaszon"] .card-h { flex-wrap: wrap; }
  .view[data-route="ontanulas"] .mx-kpis { grid-template-columns: 1fr; }
  .view[data-route="ontanulas"] table.tbl, .view[data-route="vaszon"] table.tbl { display: block; overflow-x: auto; }
}
@media (max-width: 860px) {
  .mos-kim .page-h > div:first-child, .view[data-route="ontanulas"] .page-h > div:first-child, .view[data-route="vaszon"] .page-h > div:first-child { flex: 1 1 100%; min-width: 0; }
  .mos-kim .page-h .act, .view[data-route="ontanulas"] .page-h .act, .view[data-route="vaszon"] .page-h .act { flex-wrap: wrap !important; margin-left: 0; }
  .mos-kim .mx-fold > summary { flex-wrap: wrap; }
  .mos-kim .mx-fold > summary > span { white-space: normal; }
  .mos-kim .card-h > h4 { flex: 1 1 100%; }
}

/* ── Leállító sáv: nem kötelező ok (chipek) ── */
.p-stopbar { flex-wrap: wrap; }
.p-stopbar .p-sb-t { flex: 1 1 auto; min-width: 0; }
.p-stopbar .p-whys { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.p-stopbar .p-whys-l { font-size: 13px; font-weight: 500; opacity: .92; }
.p-stopbar .p-why { cursor: pointer; font-size: 13px; font-weight: 600; padding: 2px 10px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .75); }
.p-stopbar .p-why:hover, .p-stopbar .p-why:focus-visible { background: rgba(255, 255, 255, .22); outline: none; }
/* a szerkesztők ■ gombja és a telefonos „asztali gépen” üzenet gombja leállítva állapotban piros */
.le-act .kill.mos-killed, .f3b-edtop .kill.mos-killed, .mos-desk-kill.mos-killed { background: var(--bad); color: #fff; border-color: var(--bad); }
.mos-desk-kill { margin-left: 8px; }
.mos-desk-kill[hidden] { display: none !important; }
.f3a-flow-killed { white-space: nowrap; }
/* WP02 · Azonnali jelzések (Mai napom), a Kimenő fejlécének két külön állapota, a Kampányok Ígéretlánc és Idősáv füle. */
.mx-sigs { margin: 0 0 12px; border-color: var(--bad); }
.mx-sig { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 10px 14px; border-top: 1px solid var(--border); }
.mx-sig-b { display: grid; gap: 2px; min-width: 0; flex: 1 1 260px; font-size: 14px; }
.mx-sig-b span { color: var(--text-2); font-size: 13px; }
.mx-sigs .mx-acts { display: flex; gap: 6px; flex-wrap: wrap; }
.kim-ads { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 10px; }
.kim-chip { font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--warn-bg); color: var(--warn); }
.kim-chip.kim-bad { background: var(--bad-bg); color: var(--bad); }
.kim-adtag { font-style: normal; font-weight: 700; color: var(--warn); }
.vz-tabs { margin: 0 0 12px; display: flex; flex-wrap: wrap; width: fit-content; }
.vz-pts { display: grid; gap: 10px; }
.vz-pt { display: grid; gap: 4px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; }
.vz-pt textarea, .vz-pt select { width: 100%; }
.vz-sum { display: flex; flex-wrap: wrap; gap: 14px; font-size: 14px; }
.vz-contra { display: grid; gap: 4px; padding: 8px 10px; border-radius: 10px; background: var(--bad-bg); color: var(--bad); font-size: 14px; }
.vz-bad { color: var(--bad); font-size: 13px; }
.vz-step { display: grid; gap: 3px; padding: 6px 0; border-top: 1px solid var(--border); font-size: 14px; }
.vz-fr { font-size: 13px; color: var(--text-2); padding-left: 8px; }
.vz-jump { margin-top: 6px; padding: 8px 10px; border-radius: 10px; background: var(--warn-bg); color: var(--warn); font-size: 14px; }
.vz-af { font-size: 14px; padding: 3px 0; }
.vz-day { display: grid; gap: 4px; }
.vz-ti { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 6px 8px; border: 1px solid var(--border); border-radius: 8px; font-size: 14px; }
.vz-ti.mine { border-color: var(--ai); background: var(--ai-bg); }
.vz-t { width: 100%; }
@media (max-width: 860px) { .vz-t { display: block; overflow-x: auto; } }
/* WP06: „Te döntesz” szint -- választós kártya: a rendszer javaslata jelölt, de nincs előkészített, egykattintásos Jóváhagyom */
.mx-acts .btn.mx-reco { box-shadow: 0 0 0 2px var(--primary, #6b46c1); }
.mos-auto .mos-pill { font-size: 11px; padding: 0 6px; }
.mx-at { display: inline-flex; gap: 6px; align-items: center; font-size: 14px; color: var(--text-2); }
.mx-at input { font: inherit; padding: 4px 6px; border: 1px solid var(--border, #d6d3e0); border-radius: 8px; background: var(--surface, #fff); color: inherit; }
/* WP17: a „Megnézem” szűrt Kimenő-nézete (ütközés): kiemelt sorok és a szűrő-sáv */
.mb-q tr.mb-focus > td { background: var(--warn-bg); }
.kim-focus { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; margin: 0 0 12px; }

/* ── WP08/WP13/WP16: menü-jelvény, Múlt hét, lezárt blokk, tanulság › Hová megy tovább, Alapok, megerősítés-számláló ── */
.side .nav[data-route="attekintes"] .dot[hidden] { display: none; }
#ma-week .nd { border-top: 0; padding-top: 0; margin-top: 0; }
#ma-week .nd-r { grid-template-columns: 1fr; gap: 2px; }
#ma-week .nd-v { font-size: 14px; line-height: 1.55; }
#ma-week .nd-v b { font-size: 15px; }
#ma-week .nd-v em.up { color: var(--ok); } #ma-week .nd-v em.down { color: var(--bad); }
.mos-na { color: var(--muted); font-weight: 500; }
.mx-dec .mx-mem > summary, .mx-mem > summary { cursor: pointer; list-style: none; } .mx-mem > summary::-webkit-details-marker { display: none; }
.mx-mem > summary::before { content: '▸ '; } .mx-mem[open] > summary::before { content: '▾ '; }
.mx-mem > div { padding: 2px 0 2px 14px; }
.mx-closed { margin-top: 8px; } .mx-closed .wt-r .mx-src { background: var(--surface-3, #eee); color: var(--muted); }
.mx-closed-r b { color: var(--text-2); font-weight: 600; }
.mx-conf { color: var(--warn); white-space: nowrap; }
.ln-to { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.ln-to .chip { cursor: pointer; }
.ln-pick { width: 20px; height: 20px; border-radius: 5px; border: 2px solid var(--border-strong); display: inline-grid; place-items: center; font-size: 14px; font-weight: 800; cursor: pointer; color: #fff; background: var(--surface); }
.ln-pick.on { background: var(--primary, #6b46c1); border-color: var(--primary, #6b46c1); }
.ln-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 12px 0 2px; border-top: 1px solid var(--border); margin-top: 8px; }
.btn.mos-off { opacity: .55; }
.vz-found .vz-f { display: grid; grid-template-columns: auto 1fr; gap: 6px 10px; padding: 8px 0; border-top: 1px solid var(--border); align-items: baseline; }
.vz-found .vz-f:first-of-type { border-top: 0; }
.vz-found .vz-fc { display: flex; flex-wrap: wrap; gap: 6px; grid-column: 2; }
@media (max-width: 767px) { .ln-r { grid-template-columns: 1fr; } }

/* ── WP23: Eredmények › Kampányonként, Mi működik, A következő teszt, Csatornák, Magától történt, ízlés ── */
.view[data-route="ontanulas"] .pl-low { display: block; font-size: 12px; line-height: 1.35; margin-top: 2px; }
.view[data-route="ontanulas"] tr.pl-lown td:first-child { box-shadow: inset 3px 0 0 var(--border-strong); }
.view[data-route="ontanulas"] .md-heat { min-width: 560px; }
.view[data-route="ontanulas"] .mx-rt td .mq-bad { margin-left: 4px; }
.view[data-route="ontanulas"] #er-auto p[data-testid="auto-entry"] { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.view[data-route="ontanulas"] .card-h .r { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-left: auto; }
.view[data-route="ontanulas"] #er-camp-table th.r, .view[data-route="ontanulas"] #er-camp-table td.r { white-space: nowrap; }
