:root{--paper:#F7F8F3;--surface:#fff;--ink:#17220F;--ink-2:#4A5740;--ink-3:#5F6E58;--forest:#1F3D0C;--lime:#A7CB38;--lime-soft:#EEF4D8;--moss:#5C7A3A;--rule:#D9DFCF;--warn:#B8731B;--warn-soft:#FBF1E1;--warn-ink:#805015;--crit:#A8362B;--crit-soft:#FAE8E5;--ok:#3E7A2E;--ok-soft:#E6F1DF;--r:10px;--r-lg:12px;--line:#DDE3D5;--soft:#EEF4D8;--side:#FBFCF8;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--touch:44px;--shadow:0 12px 50px rgba(23,34,15,.07)}
*{box-sizing:border-box}[hidden]{display:none!important}/* UX-javítókör: a hidden attribútum mindig rejt (osztály-display nem írja felül) */html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:16px;line-height:1.5}
a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{font-family:Fraunces,Georgia,serif;margin:0;color:var(--forest);font-weight:600;text-wrap:balance}
h1{font-size:1.75rem;line-height:1.15;font-weight:500;letter-spacing:-.02em}h2{font-size:1.1rem;margin-bottom:.5rem}h3{font-size:1rem;margin:.9rem 0 .35rem;color:var(--ink)}
.eyebrow{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--moss);font-weight:600}
.muted{color:var(--ink-3)}.small{font-size:.83rem;color:var(--ink-2)}.crit{color:var(--crit)}.nowrap{white-space:nowrap}.mt{margin-top:1rem}
.login-logo{height:56px;width:auto;margin:0 auto 1rem;display:block}
button.link{background:none;border:0;color:var(--lime);cursor:pointer;font:inherit;padding:0}
.hd{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.25rem 0 1rem;flex-wrap:wrap}.hd .count{font-family:Inter;font-size:.9rem;color:var(--ink-3);font-weight:500}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:1rem;margin-bottom:1rem}.card.warn-card{border-color:var(--warn)}.card.promo{background:var(--lime-soft);border-color:var(--lime)}
.card h2 .count{display:inline-block;background:var(--lime-soft);color:var(--forest);border-radius:999px;padding:0 .5rem;font-size:.8rem;font-family:Inter;vertical-align:middle}
.row{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--rule)}.row:first-of-type{border-top:0}.grow{flex:1;min-width:0}.right{text-align:right}
.list .item{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);margin-bottom:.5rem;color:inherit}.list .item:hover{text-decoration:none;border-color:var(--lime)}
.btn{display:inline-block;border:1px solid var(--rule);background:var(--surface);color:var(--forest);padding:.55rem .95rem;border-radius:999px;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;white-space:nowrap;min-height:44px;line-height:1.6}.btn:hover{text-decoration:none;border-color:var(--forest)}
.btn.primary{background:var(--lime);border-color:var(--lime);color:var(--forest)}.btn.small{padding:.3rem .7rem;min-height:36px;font-size:.82rem}.btn.big{width:100%;text-align:center;font-size:1.05rem}
.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem}
.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;background:var(--lime-soft);color:var(--forest);white-space:nowrap}
.pill.lc-aktiv,.pill.lc-elso_rendeles{background:var(--ok-soft);color:var(--ok)}.pill.lc-alvo{background:var(--warn-soft);color:var(--warn-ink)}.pill.lc-elveszett,.pill.lc-nem_celpont{background:var(--crit-soft);color:var(--crit)}.pill.crit-pill{background:var(--crit-soft);color:var(--crit)}
.pill.st-done{background:var(--ok-soft);color:var(--ok)}.pill.st-error{background:var(--crit-soft);color:var(--crit)}.pill.st-unknown,.pill.st-deferred{background:var(--warn-soft);color:var(--warn-ink)}
.tag{display:inline-block;font-size:.7rem;padding:.1rem .45rem;border-radius:4px;background:var(--paper);border:1px solid var(--rule);color:var(--ink-2);vertical-align:middle}.tag.warn{background:var(--warn-soft);color:var(--warn-ink);border-color:transparent}.tag.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.chips{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem}.chip{display:inline-flex;gap:.35rem;align-items:center;background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:.3rem .75rem;font-size:.85rem;color:var(--ink-2)}.chip b{color:var(--forest)}
.pills{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}
.phead{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.5rem}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem 1rem;margin-bottom:.75rem}.kv div{display:flex;flex-direction:column}.kv span{font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.kv b{font-weight:600;overflow-wrap:anywhere}
.tabnav{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--rule);margin-bottom:1rem}.tabnav a{padding:.55rem .8rem;white-space:nowrap;color:var(--ink-2);border-bottom:2px solid transparent}.tabnav a.on{color:var(--forest);border-color:var(--lime);font-weight:600}.tabnav a:hover{text-decoration:none}
.stack{display:flex;flex-direction:column;gap:.7rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}@media(max-width:36rem){.grid2{grid-template-columns:1fr}}
label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--ink-2);font-weight:500}label.check{flex-direction:row;align-items:center;gap:.5rem}
input,select,textarea{font:inherit;font-size:1rem;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);min-height:44px;width:100%}textarea{min-height:60px}input:focus,select:focus,textarea:focus{outline:2px solid var(--lime);outline-offset:1px;border-color:var(--lime)}
.inline{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline input[type=date]{width:auto}.inline input[type=file]{width:auto}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.filters input[type=search]{grid-column:1/-1}@media(min-width:56rem){.filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}.filters input[type=search]{grid-column:auto}}
.chipset{display:flex;gap:.4rem;flex-wrap:wrap}.chipbtn input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.chipset.need{outline:2px solid #c0392b;outline-offset:4px;border-radius:8px}.form-err{color:#c0392b;font-weight:600;margin:.2rem 0}.chipbtn span{display:inline-block;padding:.45rem .8rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);font-size:.9rem;min-height:40px;line-height:1.6;cursor:pointer}.chipbtn input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--forest);font-weight:600}.chipbtn span em{font-style:normal;font-size:.7rem;color:var(--warn-ink);margin-left:.25rem}
.tl{display:grid;grid-template-columns:7.5rem 1fr;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--rule)}.tl-when{font-size:.8rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.tl-body{overflow-wrap:anywhere}@media(max-width:36rem){.tl{grid-template-columns:1fr}}
.tw{overflow-x:auto}table{border-collapse:collapse;width:auto;min-width:100%;font-size:.88rem}th,td{text-align:left;padding:.45rem .55rem;border-bottom:1px solid var(--rule);vertical-align:top}td[colspan]{max-width:46rem;white-space:normal;overflow-wrap:break-word}th{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin-bottom:1rem}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:.8rem 1rem;display:flex;flex-direction:column}.tile span{font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.tile b{font-family:Fraunces,Georgia,serif;font-size:1.7rem;color:var(--forest);font-variant-numeric:tabular-nums}.tile.warn{border-color:var(--warn)}
.alert{background:var(--crit-soft);color:var(--crit);border-radius:8px;padding:.7rem .9rem;margin-bottom:.9rem}.alert.ok{background:var(--ok-soft);color:var(--ok)}
.login{max-width:24rem;margin:3rem auto;text-align:center}.login form{text-align:left;margin-top:1rem}
.empty{text-align:center;padding:3rem 1rem}
.subnav{display:flex;gap:.4rem;flex-wrap:wrap}.subnav a{font-size:.85rem;padding:.35rem .7rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface)}.subnav a b{background:var(--warn-soft);color:var(--warn-ink);border-radius:999px;padding:0 .4rem}
.pager{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}
details summary{cursor:pointer;margin:.5rem 0}

/* ---- Mini súgó (help.js, 2026-09-04) ---- */
.hint{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:999px;background:var(--lime,#A7CB38);color:#1F3D0C;font-size:.72rem;font-weight:700;line-height:1;cursor:pointer;vertical-align:middle;margin-left:.3rem;border:0;user-select:none}
.hint:hover{filter:brightness(1.08)}
.hint-pop{position:absolute;z-index:1000;background:#fff;border:1px solid #cfd9bf;border-radius:10px;box-shadow:0 10px 30px rgba(31,61,12,.18);padding:.75rem .9rem .6rem;font-size:.9rem;line-height:1.45;color:#1f2a1a}
.hint-pop .hint-x{position:absolute;top:.25rem;right:.4rem;border:0;background:none;font-size:1.1rem;cursor:pointer;color:#666}
.hint-pop .hint-f{margin-top:.5rem;font-size:.78rem}.hint-pop .hint-f a{color:var(--forest,#2a4a1f)}
@media print{.hint,.hint-pop{display:none !important}}

/* P0-02 adatbizalom fejléc-jelzés — 2026-09-26: ikon + lenyíló panel (Attila: „csak egy figyelmeztetés-ikon, kattintásra nyíljon”) */
.trust{position:relative;display:inline-flex;align-items:center}.trust-btn{background:var(--surface);border:1px solid var(--rule);color:var(--ink-2);min-height:36px;border-radius:999px;padding:.2rem .6rem;font-size:.9rem;line-height:1.3;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}
.trust-btn.ok{color:var(--ok)}.trust-btn.warn{color:var(--warn-ink);background:var(--warn-soft);border-color:#e3c9a8}.trust-btn.crit{color:var(--crit);background:var(--crit-soft);border-color:#e7b7b0}.trust-btn b{font-size:.75rem;background:currentColor;color:#fff;border-radius:999px;padding:0 .4rem;line-height:1.35}
.trust-pop{position:absolute;right:0;top:2.4rem;z-index:30;background:var(--surface);color:var(--ink);min-width:22rem;max-width:min(92vw,32rem);border:1px solid var(--rule);border-radius:10px;box-shadow:0 10px 30px rgba(31,61,12,.18);padding:.6rem .8rem;font-size:.85rem;text-align:left}
.trust-title{font-weight:600;display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.trust-title a{font-weight:400;font-size:.8rem}
.trust-row{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;padding:.28rem 0;border-top:1px solid var(--rule);color:var(--ink)}.trust-row.act{color:var(--crit);font-weight:600;text-decoration:none}.trust-row .age{color:var(--ink-3);font-size:.78rem;white-space:nowrap}.trust-row.muted{color:var(--ink-3)}.trust-pop .dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#bbb}.trust-pop .dot.fresh,.trust-pop .dot.ok{background:var(--ok)}.trust-pop .dot.aging{background:var(--warn)}.trust-pop .dot.stale,.trust-pop .dot.failed{background:var(--crit)}
/* Pénzügy fejléc (2026-09-26) */
.xhd{align-items:flex-start}.xhd h1{margin:.1rem 0 .2rem}.subnav{display:flex;gap:.35rem;flex-wrap:wrap;padding-top:1.3rem}.subnav a{display:inline-block;padding:.35rem .8rem;border:1px solid var(--rule);border-radius:999px;font-size:.85rem;color:var(--ink);background:var(--surface)}.subnav a:hover{border-color:var(--forest);text-decoration:none}
.chip{display:inline-block;padding:.05rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;text-decoration:none}.chip.warn{background:#FBF1D6;color:var(--warn-ink)}.chip.ok{background:var(--ok-soft);color:var(--ok)}
@media(max-width:56rem){.subnav{padding-top:.2rem}}

/* P1-02 Ma 2.0 Focus Queue */
.queue{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:1rem;align-items:start}
.qlist{display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 220px);overflow:auto;padding-right:.2rem}
.qcard{display:block;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:.6rem .75rem;color:inherit;text-decoration:none}
.qcard,.qcard:hover,.qcard:focus,.qcard:active,.qcard *{text-decoration:none}.qcard{scroll-margin-top:72px}.qcard:hover{border-color:var(--forest)}.qcard.on{border-color:var(--forest);box-shadow:0 0 0 2px rgba(3,76,60,.15);background:#f4faf6}
.qtop{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.qscore{background:var(--forest);color:#fff;border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:700}
.qwhy{color:#5a4a00}.qact{color:var(--forest)}
.qpanel{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:1rem;position:sticky;top:.5rem}
.qhead{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.6rem}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.4rem 0 .8rem}.kpi{background:#f4faf6;border-radius:10px;padding:.5rem .6rem}.kpi span{display:block;font-size:.72rem;color:#5c6b66;text-transform:uppercase;letter-spacing:.04em}.kpi b{font-size:1.05rem}.kpi.bad{background:var(--crit-soft)}.kpi.bad b{color:var(--crit)}
.qgrid{display:grid;grid-template-columns:1fr 240px;gap:1rem}.qactions{display:flex;flex-direction:column;gap:.45rem}.qactions .btn{width:100%;text-align:center}.qsuggest{font-size:1.05rem;margin-bottom:.3rem}
.reasons{list-style:none;padding:0;margin:0 0 .6rem}.reasons li{display:flex;gap:.5rem;align-items:baseline;margin:.2rem 0}.pts{min-width:2.4rem;text-align:center;border-radius:6px;background:var(--lime);color:var(--forest);font-weight:700;font-size:.8rem;padding:.05rem .3rem}.pts.neg{background:var(--crit-soft);color:var(--crit)}.pts.zero{background:var(--warn-soft,#fff4d6);color:var(--warn-ink)}
.tlrow{margin:.15rem 0}.chip.warn{background:var(--warn-soft,#fff4d6);color:var(--warn-ink)}
@media (max-width:900px){.queue{grid-template-columns:1fr}.qlist{max-height:none;order:2}.qpanel{order:1;position:static}.qlist>.qpanel{order:0;margin:-.2rem 0 .4rem;border-color:var(--forest);border-top-left-radius:0;border-top-right-radius:0}.qlist>.qcard.on{border-bottom-left-radius:0;border-bottom-right-radius:0}.qgrid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}

/* P1-06 kereső */
.cmdk[hidden]{display:none}
.cmdk{position:fixed;inset:0;background:rgba(8,20,16,.45);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem}
.cmdk-box{background:var(--surface);border-radius:14px;width:min(680px,100%);box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}
.cmdk-box input{width:100%;border:0;border-bottom:1px solid var(--rule);padding:.9rem 1rem;font-size:1.05rem;outline:none}
.cmdk-results{max-height:60vh;overflow:auto;padding:.4rem}
.cmdk-group{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#5c6b66;padding:.5rem .6rem .2rem}
.cmdk-item{display:flex;align-items:baseline;gap:.4rem;padding:.5rem .6rem;border-radius:8px;color:inherit;text-decoration:none;flex-wrap:wrap}
.cmdk-item:hover,.cmdk-item.sel{background:#f4faf6;outline:1px solid var(--forest)}.cmdk-act{margin-left:auto}.cmdk-act a{padding:0 .3rem}
/* P1-05 Partner 360 2.0 */
.kpis.p360{margin:.2rem 0 .6rem}.cta4{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.cta4 .btn.primary{min-width:9rem;text-align:center}
.p360grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem 1.2rem}.p360block h3{margin:.2rem 0 .3rem}.p360block{min-width:0}
.warn-pill{background:var(--warn-soft,#fff4d6);color:var(--warn-ink)}
@media (max-width:900px){.p360grid{grid-template-columns:1fr}.cta4 .btn{flex:1 1 45%;text-align:center}}
/* P1-07 nézetek */
.chips.views .chip{display:inline-flex;gap:.3rem;align-items:center}.chips.views .chip a{color:inherit;text-decoration:none}.chips.views .link{border:0;background:none;cursor:pointer;color:#7a8a84}

/* P3 AI-segéd */
.aicard{border-color:#cfe3d8}.aitext{white-space:pre-wrap;background:#f7fbf8;border:1px solid #cfe3d8;border-radius:10px;padding:.7rem .9rem;margin:.5rem 0;line-height:1.45}.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:block}

[x-cloak]{display:none!important}
/* 2026-09-15 grid2 mobil: két kártya egymás alá (a Pénzügy oldal Készlet/Lejárat kártyái 400 px-en kilógtak) */
@media(max-width:40rem){main.page .grid2{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grid2>*{min-width:0}.tiles>*{min-width:0}  /* 2026-09-15 rács-kilógás ellen: a kártya ne kényszerítse min-content szélességre az oszlopot */

/* 2026-09-18 Pénzügy (exec) — széles, sortörés-mentes vezetői nézet (Attila: „ami egy sorba tartozik, egy sorba kerüljön”) */
main.page:has(> .exec){max-width:88rem}
.exec .card{padding:1rem 1.15rem}
.exec .card h2{font-size:1.05rem;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.6rem}
.exec .card h2 .sub{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-weight:400;font-size:.8rem;color:var(--ink-3);margin-left:auto;white-space:nowrap}
.exec .kpi8{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0 0 .9rem}
.exec .kpi8 .k{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .9rem;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);color:inherit;text-decoration:none;min-width:0}
.exec .kpi8 .k span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exec .kpi8 .k b{font-family:Fraunces,Georgia,serif;font-size:1.55rem;line-height:1.15;color:var(--forest);font-variant-numeric:tabular-nums;white-space:nowrap}
.exec .kpi8 .k i{font-style:normal;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:.35rem;align-items:center}
.exec .kpi8 .k i em{font-style:normal}
.exec .kpi8 .k.warn{border-color:var(--warn)}
.exec .kpi4{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 .5rem}
.exec .kpi4.two{grid-template-columns:repeat(2,1fr)}
.exec .kpi4 .k{padding:.55rem .75rem;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);min-width:0}
.exec .kpi4 .k span{display:block;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exec .kpi4 .k b{font-family:Fraunces,Georgia,serif;font-size:1.25rem;color:var(--forest);font-variant-numeric:tabular-nums;white-space:nowrap}
.exec .kpi4 .k.bad{border-color:var(--crit);background:var(--crit-soft)}
.exec .kpi4 .k.bad b{color:var(--crit)}
.exec table.grid{font-size:.84rem}
.exec table.grid th,.exec table.grid td{padding:.38rem .55rem;white-space:nowrap}
.exec table.grid td.wrap{white-space:normal;min-width:12rem;max-width:22rem}
.exec table.grid tr.total td{font-weight:700;border-top:2px solid var(--rule)}
.exec table.grid td.ell{max-width:15rem;overflow:hidden;text-overflow:ellipsis}
.exec .kpi8 .k.empty{background:#fff;border-style:dashed}.exec .kpi8 .k.empty b{color:var(--ink-3)}
.exec .kpi8 .k .k2{display:flex;flex-wrap:wrap;gap:.1rem .35rem;align-items:center;margin-top:.25rem;padding-top:.3rem;border-top:1px dashed var(--rule);font-size:.74rem;color:var(--ink-2,#444)}.exec .kpi8 .k .k2 b{font-family:inherit;font-size:.8rem;color:inherit;font-weight:700}
.exec .foot{font-size:.78rem;color:var(--ink-3);margin-top:.5rem}
.exec .foot.one{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exec .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:start}
.exec .cols>*{min-width:0}
.exec .stack{display:flex;flex-direction:column;gap:1rem}
.exec .stack .card{margin-bottom:0}
.exec .tag{display:inline-block;font-size:.66rem;padding:0 .4rem;border-radius:999px;background:var(--lime-soft);color:var(--forest);vertical-align:middle;white-space:nowrap}
.exec .tag.crit{background:var(--crit-soft);color:var(--crit)}
.exec .tag.warn{background:var(--warn-soft);color:var(--warn-ink)}
.exec .pill{display:inline-block;font-size:.72rem;padding:0 .5rem;border-radius:999px;background:var(--lime-soft);color:var(--forest);white-space:nowrap}
.exec .dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:#bbb}.exec .dot.fresh{background:var(--ok)}.exec .dot.aging{background:var(--warn)}.exec .dot.stale,.exec .dot.failed{background:var(--crit)}
@media(max-width:64rem){.exec .cols{grid-template-columns:1fr}.exec .kpi8{grid-template-columns:repeat(2,1fr)}.exec .card h2 .sub{margin-left:0;white-space:normal}}
@media(max-width:36rem){.exec .kpi4{grid-template-columns:repeat(2,1fr)}.exec .kpi8 .k b{font-size:1.3rem}}

/* 2026-09-28 Marketing munkasor (/marketing/jobs) */
.chips .chip.on{background:var(--lime);border-color:var(--lime);color:var(--forest);font-weight:600}.chips .chip em{font-style:normal;font-size:.75rem;color:var(--ink-3)}
.pill.due-soon{background:var(--warn-soft);color:var(--warn-ink)}
.pill.mj-brief{background:var(--paper);color:var(--ink-2);border:1px solid var(--rule)}.pill.mj-folyamatban{background:var(--lime-soft);color:var(--forest)}
.pill.mj-jovahagyasra_var,.pill.mj-javitas_kell{background:var(--warn-soft);color:var(--warn-ink)}.pill.mj-javitas_kell{background:var(--crit-soft);color:var(--crit)}
.pill.mj-jovahagyva,.pill.mj-leadva,.pill.mj-kesz{background:var(--ok-soft);color:var(--ok)}.pill.mj-torolve{background:var(--paper);color:var(--ink-3);text-decoration:line-through}
.mj-dl{display:grid;grid-template-columns:10rem 1fr;gap:.3rem .8rem;margin:0 0 .6rem}.mj-dl dt{color:var(--ink-3);font-size:.83rem}.mj-dl dd{margin:0;overflow-wrap:anywhere}
@media(max-width:36rem){.mj-dl{grid-template-columns:1fr}.mj-dl dd{margin-bottom:.35rem}}
.mj-notes,.mj-pre{white-space:pre-wrap;overflow-wrap:anywhere}.mj-notes{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:.7rem .8rem}
.mj-prod{border-top:1px solid var(--rule);padding-top:.6rem;margin-top:.6rem}.mj-prod h3{font-size:1rem;margin:.2rem 0 .4rem}
table.mj-sheet th{width:9rem;text-transform:none;letter-spacing:0;font-size:.8rem}table.mj-sheet td{min-width:8rem}
.mj-code{font-size:.85rem;background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:.05rem .35rem;overflow-wrap:anywhere}
.mj-decide{margin-top:.4rem;min-width:14rem}
details.card>summary{cursor:pointer}
/* 2026-09-29 Melinda: feladat-sorok (Feladatok, Ma, partner-lap) — asztalon egy sor, mobilon (≤600px) egymás alatt; nincs 1 betűs oszlop, nincs átfedés */
.taskrow{flex-wrap:wrap;align-items:center;row-gap:.45rem}.taskrow .task-main{flex:1 1 14rem;min-width:0}.taskrow .task-title{overflow-wrap:anywhere;word-break:normal}.taskrow .task-partner{overflow-wrap:anywhere}
.taskrow .task-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-left:auto;max-width:100%}.taskrow .task-actions form{margin:0}.taskrow .task-resched{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:nowrap;min-width:0}.taskrow .task-resched input[type=date]{width:auto;min-width:0;min-height:36px;padding:.3rem .5rem}
.taskrow.done .task-title{color:var(--ink-3)}
@media(max-width:600px){.taskrow{flex-direction:column;align-items:stretch;gap:.35rem}.taskrow .task-main{flex:0 0 auto;width:100%}.taskrow .task-actions{margin-left:0;width:100%}.taskrow .task-resched{flex:1 1 12rem}.taskrow .task-resched input[type=date]{flex:1 1 8rem}.taskrow .task-done{flex:0 0 auto}}
/* tevékenység-űrlap: „Nyitott feladatok ennél a partnernél” */
.taskclose{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .8rem;border:1px solid var(--rule);border-radius:8px;background:var(--lime-soft)}
.taskclose-item{display:flex;flex-direction:row;gap:.55rem;align-items:flex-start;cursor:pointer;font-size:.92rem}.taskclose-item input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:0;margin:.15rem 0 0;padding:0;flex:0 0 auto;accent-color:var(--forest)}.taskclose-item>span{min-width:0;overflow-wrap:anywhere}
/* kézi „Kész” utáni visszajelzés (nem blokkoló) */
.flash{position:fixed;left:.75rem;right:.75rem;bottom:4.9rem;z-index:70;display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;justify-content:space-between;background:var(--forest);color:#fff;border-radius:10px;padding:.7rem .9rem;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.flash a,.flash .small{color:#EEF4D8}.flash .flash-msg{flex:1 1 14rem;min-width:0;overflow-wrap:anywhere}.flash .flash-act{display:flex;gap:.4rem}.flash .flash-act form{margin:0}.flash .btn{background:#fff}
@media(min-width:56rem){.flash{left:auto;right:1.5rem;bottom:1.5rem;max-width:34rem}}

/* ---- UX-terv 2026-09-29 (1. szakasz): kontraszt, fókusz, mentési állapotok ---- */
/* §8: másodlagos szöveg #5F6E58 (5,1:1 a papír-háttéren); figyelmeztető SZÖVEG #805015 a világos borostyánon (a --warn marad keretnek/pöttynek);
   lime háttéren mindig sötét (erdőzöld) szöveg */
.alert.warn{background:var(--warn-soft);color:var(--warn-ink)}
:where(a,button,.btn,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--forest);outline-offset:2px;border-radius:6px}
.flash :where(a,button):focus-visible{outline-color:var(--lime)}
.btn.primary:focus-visible{outline-color:var(--forest)}
.chipbtn input:focus-visible+span{outline:2px solid var(--forest);outline-offset:2px}
.taskclose-item input:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
/* mentés előtti összegzés + tartós mentési állapot a tevékenység-űrlapon */
.savesum{font-size:.88rem;color:var(--ink);background:var(--paper);border:1px dashed var(--rule);border-radius:8px;padding:.5rem .7rem}
.savestate{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.savestate .ss-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--ink-3);flex:0 0 auto}
.savestate.ss-dirty .ss-dot,.savestate.ss-draft .ss-dot{background:var(--warn)}.savestate.ss-dirty,.savestate.ss-draft{color:var(--warn-ink)}
.savestate.ss-queued{color:var(--warn-ink)}.savestate.ss-queued .ss-dot{background:var(--warn);border-radius:2px}
.savestate.ss-saved{color:var(--ok)}.savestate.ss-saved .ss-dot{background:var(--ok)}
.savestate.ss-rejected,.savestate.ss-auth{color:var(--crit)}.savestate.ss-rejected .ss-dot,.savestate.ss-auth .ss-dot{background:var(--crit);border-radius:2px;transform:rotate(45deg)}
.taskclose-note{padding:.4rem .1rem}
/* függő bejegyzések: fejléc-jelvény, tabbar-jelvény, alsó sáv (minden oldalon) */
.obadge{background:var(--warn-soft);color:var(--warn-ink);border:0;border-radius:999px;padding:.1rem .55rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}
.obadge[hidden],.tbadge[hidden]{display:none}
.obar{position:fixed;left:.75rem;right:.75rem;bottom:4.9rem;z-index:65;display:flex;flex-direction:column;gap:.35rem;background:var(--surface);border:1px solid var(--warn);border-radius:10px;padding:.55rem .75rem;box-shadow:0 6px 24px rgba(0,0,0,.18);font-size:.86rem}
.obar-row{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;justify-content:space-between}.obar-msg{flex:1 1 14rem;min-width:0;color:var(--warn-ink);font-weight:600;overflow-wrap:anywhere}
.obar-bad .obar-msg{color:var(--crit)}.obar-muted .obar-msg{color:var(--ink-2);font-weight:500}
.obtoast{position:fixed;left:1rem;right:1rem;bottom:4.5rem;z-index:66}
@media(min-width:56rem){.obar{left:auto;right:1rem;max-width:34rem}.obtoast{left:auto;right:1rem;max-width:30rem}}

/* ==== UX-terv 2026-09-29 (2. szakasz): MUNKATÉR-KERET — oldalsáv (asztal ≥56rem), kompakt fejléc + alsó sáv (mobil) ====
   Térköz-skála: 4/8/12/16/24/32 px (--s1…--s6); érinthető célméret 44–48 px; Fraunces címsor, Inter munkaszöveg. */
.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--forest);color:#fff;padding:12px;border-radius:8px}.skip:focus{top:12px}
.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}
.side{background:var(--side);border-right:1px solid var(--line);padding:28px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 12px;margin-bottom:32px;color:var(--ink)}.brandlogo{height:44px;width:auto;display:block}.brandsub{font-size:10px;font-weight:500;letter-spacing:2.4px;color:var(--ink-3);padding-left:2px}.brand:hover{text-decoration:none}
.brandmark{width:35px;height:35px;border-radius:11px;background:var(--forest);color:var(--lime);display:grid;place-items:center}
.brandname{font-size:24px;font-weight:600;letter-spacing:-1.2px;line-height:1.1;color:var(--ink)}.brandname small{display:block;font-size:10px;font-weight:500;letter-spacing:2.4px;margin-top:7px;color:var(--ink-3)}
.navlabel{font-size:10px;letter-spacing:1.4px;color:var(--ink-3);padding:0 13px;margin-bottom:10px;font-weight:600}
.snav{display:grid;gap:4px}
.snav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 13px;border-radius:8px;color:var(--ink-2);font-size:14px;font-weight:500}
.snav a:hover{background:var(--soft);color:var(--forest);text-decoration:none}
.snav a.on{background:var(--forest);color:#fff}
.snav .count{margin-left:auto;min-width:23px;height:23px;display:inline-grid;place-items:center;border-radius:6px;font-size:12px;font-weight:600;background:#e9eedf;color:var(--forest)}
.snav a.on .count{background:rgba(255,255,255,.14);color:var(--lime)}
.snav-more{margin-top:20px}.snav-more>summary{list-style:none;cursor:pointer;margin:0 0 8px;display:flex;align-items:center;min-height:32px}.snav-more>summary::-webkit-details-marker{display:none}.snav-more>summary::after{content:"▾";margin-left:6px}.snav-more[open]>summary::after{content:"▴"}
.snav-more .snav a{min-height:40px;padding:8px 13px;font-size:13px}
.sidebottom{margin-top:auto;padding-top:24px}
.helpcard{background:#edf2e4;border-radius:10px;padding:16px;font-size:12.5px}.helpcard b{display:block;margin-bottom:6px}.helpcard p{color:var(--ink-3);line-height:1.6;margin:0}
.linkbtn{margin-top:8px;background:none;border:0;padding:4px 0;font:inherit;font-size:12.5px;color:var(--forest);text-decoration:underline;text-underline-offset:3px;min-height:32px;cursor:pointer}
.identity{display:flex;align-items:center;gap:10px;padding:16px 9px 0;background:none;border:0;font:inherit;text-align:left;cursor:pointer;width:100%;color:var(--ink);min-height:44px}
.identity strong{font-size:12.5px;display:block}.identity small{display:block;color:var(--ink-3);font-size:11px}.idtext{min-width:0;overflow:hidden}.idtext strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avatar{width:34px;height:34px;border-radius:50%;background:#e4ebd7;color:var(--forest);display:inline-grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}
.avatar-btn{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:700;width:40px;height:40px}
.area{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:20;min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;border-bottom:1px solid var(--line);background:#fdfefa}
.mbrand{display:none;line-height:0}.mbrand img{height:26px;width:auto}
.crumb{font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:12px;min-width:0}.crumb b{font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toptools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.searchbtn{display:flex;align-items:center;gap:9px;color:var(--ink-3);background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;min-height:40px;cursor:pointer}
.searchbtn kbd{font:10px Inter,sans-serif;border:1px solid var(--line);border-radius:4px;padding:2px 4px;margin-left:28px}
.date{font-size:12px;color:var(--ink-3);white-space:nowrap}
.iconbtn{min-height:44px;min-width:44px;border:0;border-radius:9px;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer}.iconbtn:hover{background:var(--soft)}
.page{max-width:76rem;width:100%;margin:0 auto;padding:32px}
.no-shell .page{max-width:60rem;padding:1rem}
.tabbar{display:none}
.only-mobile{display:none}
@media(max-width:1220px){.shell{grid-template-columns:200px minmax(0,1fr)}.page{padding:24px}.topbar{padding:0 24px}.date{display:none}}
/* mobil: nincs oldalsáv; kompakt fejléc (logó, keresés, súgó, avatar) + alsó sáv */
@media(max-width:56rem){
  .shell{display:block}.side{display:none}
  .topbar{min-height:59px;padding:0 12px 0 16px;gap:8px}
  .mbrand{display:block}.crumb .homecrumb,.crumb>span[aria-hidden]{display:none}.crumb{font-size:12px;gap:8px;flex:1}.crumb::before{content:"/";color:var(--ink-3)}
  .toptools{gap:2px}.searchbtn{border:0;background:transparent;padding:6px;min-width:44px;min-height:44px;justify-content:center}.searchbtn span,.searchbtn kbd{display:none}
  .avatar-btn{width:36px;height:36px}
  .page{padding:24px 16px 112px}
  .only-mobile{display:grid}
  .tabbar{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;justify-content:space-around;gap:4px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
  .tabbar a,.tabbar button{position:relative;flex:1 1 0;max-width:96px;background:none;border:0;font:inherit;color:var(--ink-3);display:grid;justify-items:center;align-content:center;gap:3px;font-size:11px;min-height:48px;padding:5px 4px;border-radius:8px;cursor:pointer}
  .tabbar a:hover{text-decoration:none}
  .tabbar a.on{color:var(--forest);background:var(--soft);font-weight:600}
  .tabbar .tab-record{background:var(--forest);color:#fff;font-weight:600}
  .tabbar .tcount{position:absolute;top:2px;right:calc(50% - 22px);font-style:normal;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e9eedf;color:var(--forest);font-size:10px;font-weight:700;line-height:18px}
  .trust-pop{position:fixed;left:8px;right:8px;top:62px;min-width:0;max-width:none}
}
/* függő bejegyzés jelvénye az alsó sávon (a PR #25 küldési sora) */
.tbadge{position:absolute;top:0;right:calc(50% - 1.5rem);min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--warn-ink);color:#fff;font-size:.66rem;font-weight:700;line-height:1.1rem;font-style:normal}
/* párbeszédablakok: jobb oldali fiók (asztal), teljes képernyős lap (mobil); a felhasználói menü asztalon kis panel */
dialog{color:var(--ink);border:0;padding:0;box-shadow:0 15px 80px rgba(23,34,15,.14)}
dialog::backdrop{background:rgba(20,32,14,.35)}
dialog.drawer{margin:0 0 0 auto;width:540px;max-width:100%;height:100dvh;max-height:100dvh;background:var(--paper);border-left:1px solid var(--line)}
dialog.sheet{margin:73px 24px auto auto;width:320px;max-width:calc(100% - 16px);border-radius:12px;background:var(--paper)}
.dialoghead{position:sticky;top:0;background:var(--paper);z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:24px}
.dialoghead h2{font-family:Fraunces,Georgia,serif;font-size:27px;font-weight:500;margin:0;color:var(--ink)}.dialoghead .eyebrow{display:block;margin-bottom:8px;color:var(--ink-3)}
.dialogbody{padding:24px}
.sheet .dialoghead{padding:16px 16px 12px}.sheet .dialoghead h2{font-size:20px}.sheet .dialogbody{padding:12px 16px 16px}
.sheetnav{display:grid;gap:2px;margin-bottom:12px}.sheetnav a,.sheetbtn{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border-radius:8px;color:var(--ink);font:inherit;font-size:14px;background:none;border:0;width:100%;cursor:pointer;text-align:left}
.sheetnav a:hover,.sheetbtn:hover{background:var(--soft);text-decoration:none}.sheetnav a.on{background:var(--forest);color:#fff}.sheetnav form{margin:0}
.sheetnav .count{margin-left:auto;font-size:12px;font-weight:600;background:#e9eedf;color:var(--forest);border-radius:6px;padding:0 6px}
.sheetnav.only-mobile{border-bottom:1px solid var(--line);padding-bottom:12px}
.onboard{padding-left:1.2rem}.onboard li{margin-bottom:14px;line-height:1.6}
@media(max-width:56rem){dialog.drawer,dialog.sheet{margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}.dialoghead{padding:18px 16px}.dialoghead h2{font-size:25px}.dialogbody{padding:18px 16px 32px}}
@media(min-width:56.01rem){.flash{bottom:1.5rem}.obar{bottom:1rem}}

/* ==== Ma (UX-terv §7.1, prototípus 01/02) ==== */
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.pagehead .eyebrow{display:block;margin-bottom:10px;color:var(--ink-3)}
.pagehead h1{font-size:clamp(2rem,1.4rem + 1.6vw,2.5rem);line-height:1.12;letter-spacing:-.03em;color:var(--ink)}
.pagehead p{color:var(--ink-3);font-size:15px;margin:10px 0 0}
.headtools{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.btn.forest{background:var(--forest);border-color:var(--forest);color:#fff;border-radius:9px;display:inline-flex;align-items:center;gap:8px}.btn.forest:hover{background:#2d5219}
.btn.line{border-radius:9px;display:inline-flex;align-items:center;gap:8px;justify-content:center}
.malayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.malayout>*{min-width:0}
.lead{background:var(--forest);color:#fff;border-radius:var(--r-lg);padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.lead .eyebrow{color:#d9e5cc;margin-bottom:8px;display:block}.lead h2{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:500;letter-spacing:-.5px;color:#fff;margin:0}
.lead p{font-size:13px;color:#d9e5cc;margin:7px 0 0;max-width:30rem}
.lead .round{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.07);display:grid;place-items:center;color:var(--lime);flex-shrink:0}.lead .round .icon{width:25px;height:25px}
.mcard{border:1px solid var(--line);background:#fff;border-radius:var(--r-lg);margin-bottom:24px}
.cardhead{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.cardhead h2{margin:0;font-family:Inter,"Segoe UI",sans-serif;font-size:18px;font-weight:600;color:var(--ink)}
.mtabs{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:0 24px;overflow-x:auto}
.mtabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-3);padding:14px 0;min-height:48px;font:inherit;font-size:13px;font-weight:500;display:flex;gap:8px;align-items:center;cursor:pointer;white-space:nowrap}
.mtabs button.on{color:var(--forest);border-bottom-color:var(--forest);font-weight:600}
.mtabs .n{display:inline-grid;place-items:center;background:#e9eedf;min-width:23px;height:23px;border-radius:6px;font-size:12px;font-weight:600;color:var(--forest)}
.trow{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;padding:20px 24px;border-bottom:1px solid #e9ede3;align-items:start}.trow:last-child{border-bottom:0}
.taskico{width:38px;height:38px;background:#f3f6ec;border:1px solid #e5eada;border-radius:10px;display:grid;place-items:center;color:var(--forest);margin-top:2px}
.tpartner{font-size:12.5px;color:var(--ink-3);margin-bottom:3px}.tpartner a{color:inherit}
.ttitle{font-size:15px;font-weight:600;margin-bottom:6px;overflow-wrap:anywhere}
.tmeta{font-size:12.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink-3)}.tmeta .icon{width:16px;height:16px}
.treason{font-size:12.5px;color:var(--ink-3);margin:8px 0 0;overflow-wrap:anywhere}
.trow.done .ttitle{text-decoration:line-through;color:var(--ink-3)}
.tact{display:flex;align-items:center;gap:6px;align-self:center}.tact form{margin:0}
.tact .btn{font-size:13px}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;font-size:11.5px;font-weight:600;line-height:1.35;background:#f0f3ea;color:#43543a;white-space:nowrap}
.badge.warn{color:var(--warn-ink);background:var(--warn-soft)}.badge.ok{color:var(--ok);background:var(--ok-soft)}.badge.crit{color:var(--crit);background:var(--crit-soft)}
.overflow{position:relative}.overflow>summary{list-style:none;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:9px;margin:0;color:var(--ink-2)}.overflow>summary::-webkit-details-marker{display:none}.overflow>summary:hover{background:var(--soft)}
.overflow .menu{position:absolute;right:0;top:46px;z-index:15;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:12px;display:grid;gap:10px;width:17rem}
.overflow .menu form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.overflow .menu input[type=date]{flex:1 1 8rem;min-height:40px;padding:.3rem .5rem}
.overflow .menu .hintline{font-size:12px;color:var(--ink-3)}
.mempty{padding:32px 24px;text-align:center;color:var(--ink-3);font-size:14px}.mempty b{display:block;color:var(--forest);margin-bottom:6px}
.sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}.sectiontitle h2{font-family:Inter,"Segoe UI",sans-serif;font-size:17px;font-weight:600;color:var(--ink);margin:0}.sectiontitle small{font-size:12px;color:var(--ink-3)}
.suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;border:1px solid var(--line);background:#fff;padding:21px;border-radius:11px;margin-bottom:12px}
.suggestion h3{font-size:15px;margin:9px 0 5px;color:var(--ink)}.suggestion h3 a{color:inherit}.suggestion p{font-size:13px;color:var(--ink-3);margin:0;max-width:40rem}
.suggestion .reason{font-size:12px;color:var(--ink-3);margin-top:12px}.suggestion .reason.warn{color:var(--warn-ink)}
.sugact{display:flex;flex-direction:column;gap:8px;align-self:center;align-items:stretch}.sugact form{margin:0}.sugact .row2{display:flex;gap:6px}.sugact .row2 .btn{flex:1;font-size:12.5px;padding:8px 10px}
.quietlink{display:inline-flex;align-items:center;gap:6px;color:var(--forest);font-size:13px;font-weight:600;min-height:40px}
.rightcol{display:grid;gap:20px;align-content:start}
.tip{background:#f0f4e6;padding:22px;border:1px solid #dfe7d2;border-radius:var(--r-lg)}
.tip h3{font-family:Fraunces,Georgia,serif;font-size:21px;font-weight:500;margin:0 0 8px;color:var(--ink)}.tip p{font-size:13px;color:var(--ink-3);line-height:1.7;margin:0 0 6px}
.tip .step{display:flex;align-items:center;gap:10px;border-bottom:1px solid #d9e3c9;padding:12px 0;font-size:13px}.tip .step:last-child{border:0;padding-bottom:0}
.tip .step span{display:grid;place-items:center;font-size:10px;width:20px;height:20px;border-radius:50%;background:#dce8c7;color:var(--forest);flex-shrink:0}
.miniheader{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:7px;align-items:center;margin-bottom:14px;font-weight:600}.miniheader .icon{width:16px;height:16px}
.pcard{border:1px solid var(--line);background:#fff;border-radius:var(--r-lg);padding:22px}
.pcard h3{margin:0;font-size:16px;color:var(--ink)}
.timeline{padding-left:12px;border-left:1px solid var(--line);margin:18px 0 0 5px}
.event{padding:0 0 18px 11px;position:relative}.event:last-child{padding-bottom:0}
.event::before{position:absolute;content:"";width:7px;height:7px;background:#819866;border:3px solid #fff;box-sizing:content-box;border-radius:50%;left:-19px;top:3px}
.event b{font-size:13px;display:block;font-weight:500}.event p{font-size:12px;color:var(--ink-3);margin:3px 0 0;overflow-wrap:anywhere}
.mnote{padding:0 4px}.mnote p{font-size:13px;color:var(--ink-3);margin:0}
.savedbar{margin-bottom:20px}
@media(max-width:1000px){.malayout{grid-template-columns:1fr}.rightcol{grid-template-columns:1fr 1fr}}
@media(max-width:56rem){
  .pagehead{display:block;margin-bottom:22px}.pagehead .headtools{display:none}.pagehead p{font-size:14px}
  .lead{padding:16px 20px;margin-bottom:18px}.lead .eyebrow,.lead p,.lead .round{display:none}.lead h2{font-size:22px}
  .cardhead{padding:17px}.mtabs{padding:0 17px;gap:18px}
  .trow{grid-template-columns:35px minmax(0,1fr);padding:18px 17px;gap:11px}.taskico{width:34px;height:34px}
  .trow .tact{grid-column:2;justify-self:start;align-self:start;margin-top:4px}
  .ttitle{font-size:16px;line-height:1.45}
  .suggestion{grid-template-columns:1fr;padding:18px;gap:13px}.sugact{align-items:flex-start}
  .rightcol{grid-template-columns:1fr}
  .overflow .menu{right:auto;left:0}
}

/* ==== „Mi történt?” rögzítő (UX-terv §7.2, prototípus 03) ==== */
.recform .field{margin-bottom:18px;display:block}
.recform .field>label,.recform .flabel{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:7px}
.recform .field input,.recform .field select,.recform .field textarea{border-color:#abb99e;min-height:46px;font-size:15px}
.recform .field textarea{min-height:85px;resize:vertical}
.recform .field small{display:block;margin-top:6px;color:var(--ink-3);font-size:12px}
.recform .grid2{gap:0 14px}
.recform .ro{background:#fff;border:1px solid #abb99e;border-radius:8px;padding:11px 12px;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px}
.recform .ro a{font-size:12.5px;white-space:nowrap}
.chkbox{display:flex;flex-direction:row;gap:12px;align-items:flex-start;font-size:14px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:18px;cursor:pointer;color:var(--ink);font-weight:400}
.chkbox input{width:20px;height:20px;min-height:0;padding:0;margin:1px 0 0;accent-color:var(--forest);flex-shrink:0}
.chkbox b{display:block}.chkbox small{display:block;font-size:12px;color:var(--ink-3);margin-top:4px}
.othertasks{border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:18px}.othertasks>summary{padding:12px 15px;margin:0;font-size:13.5px;font-weight:600;min-height:44px;display:flex;align-items:center}
.othertasks .chkbox{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}
.notice{font-size:13px;color:var(--warn-ink);padding:12px;border-radius:7px;background:var(--warn-soft);margin-bottom:18px}
.receipt{background:#eaf0df;border:1px solid #d3dfc3;border-radius:9px;padding:14px 16px;margin:4px 0 18px;font-size:13px}.receipt b{display:block;margin-bottom:4px}
.recbtns{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.recbtns .btn{border-radius:9px;min-height:46px}
.recpick .pickrow{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;text-align:left;cursor:pointer;min-height:52px;color:var(--ink)}
.recpick .pickrow:hover,.recpick .pickrow:focus-visible{background:var(--soft)}.recpick .pickrow small{display:block;color:var(--ink-3);font-size:12px}
.recpick .picklabel{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:16px 0 4px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.side,.topbar,.tabbar,.flash,.obar{display:none!important}.shell{display:block}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.suggestion h3,.pcard h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:600}
.trust-btn b{background:var(--ink-2);color:#fff}.trust-btn.crit b{background:var(--crit)}.trust-btn.warn b{background:var(--warn-ink)}.trust-btn.ok b{background:var(--ok)}
.inline input[type=file]{max-width:100%}
/* alacsony asztali képernyő (pl. 1440×900, vezetői 9 menüpont): az oldalsáv ne görgessen */
.side{scrollbar-width:thin}
@media(min-width:56.01rem) and (max-height:1000px){.side.many{padding-top:20px}.many .brand{margin-bottom:20px}.many .snav a{min-height:40px;padding:8px 13px}.many .snav-more{margin-top:12px}.many .helpcard{padding:12px}.many .helpcard p{display:none}.many .sidebottom{padding-top:16px}.many .identity{padding-top:10px}}
/* 2026-09-30 mobil-QA: a KPI-címkék „?” jele maradjon a szöveg mellett (a .kpi span{display:block} ne tegye külön sorba); az AI-segéd sora törjön */
.kpi .hint{display:inline-flex}
.aicard>.row{flex-wrap:wrap}.aicard>.row>.grow{flex:1 1 12rem}

/* ==== W01 Raktár (2026-09-29): készlet, bevételezés, LOT, mozgásnapló ==== */
.rk-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin:-12px 0 20px}.rk-nav a{font-size:.88rem;padding:.4rem .85rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink-2);min-height:40px;display:inline-flex;align-items:center;gap:.35rem}.rk-nav a.on{background:var(--forest);border-color:var(--forest);color:#fff}.rk-nav a:hover{text-decoration:none;border-color:var(--forest)}.rk-nav a b{background:var(--warn-soft);color:var(--warn-ink);border-radius:999px;padding:0 .4rem;font-size:.75rem}
.rk-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;align-items:end;margin-bottom:1rem}.rk-filters label{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem;min-width:0}.rk-filters .wide{grid-column:1/-1}.rk-filters .acts{display:flex;gap:.5rem;flex-wrap:wrap;grid-column:1/-1}
@media(min-width:56rem){.rk-filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.rk-filters .wide{grid-column:auto}.rk-filters .acts{grid-column:1/-1}}
.rk-chk{flex-direction:row!important;align-items:center;gap:.5rem!important;font-size:.88rem!important;color:var(--ink)!important;min-height:44px}.rk-chk input{width:20px;height:20px;min-height:0;accent-color:var(--forest)}
.rk-alerts{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
table.rk{min-width:100%}table.rk td,table.rk th{white-space:nowrap}table.rk td.wrap{white-space:normal;min-width:12rem}table.rk tfoot td{font-weight:700;border-top:2px solid var(--rule);background:var(--paper)}
table.rk td.zero{color:var(--ink-3)}table.rk .sub{display:block;font-size:.78rem;color:var(--ink-3);white-space:normal}
.rk-note{font-size:.85rem;color:var(--ink-3);margin:.25rem 0 .75rem}
.rk-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem 1.25rem;margin:0}.rk-kv div{min-width:0}.rk-kv dt{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.rk-kv dd{margin:.15rem 0 0;font-weight:600;overflow-wrap:anywhere}
.rline{border:1px solid var(--line);border-radius:10px;padding:14px;margin:0 0 12px;background:#fff;min-width:0}.rline legend{font-weight:600;font-size:.9rem;padding:0 .3rem}
.rline .g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .75rem}.rline .g>label{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem;min-width:0}.rline .g .span2{grid-column:1/-1}
@media(min-width:56rem){.rline .g{grid-template-columns:3fr 1fr 1fr 1.3fr 1.2fr 1.3fr}.rline .g .span2{grid-column:span 2}.rline .g .span3{grid-column:span 3}}
.rline .ferr{color:var(--crit);font-size:.8rem;font-weight:600}.rline .bad input,.rline .bad select{border-color:var(--crit);outline:1px solid var(--crit)}
.rline .rtools{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.82rem;color:var(--ink-3)}
.rk-save{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;bottom:0;background:var(--paper);padding:12px 0;border-top:1px solid var(--line);z-index:5}
@media(max-width:56rem){.rk-save{bottom:64px}}
.rk-state{font-size:.88rem;color:var(--ink-3)}.rk-state.dirty{color:var(--warn-ink);font-weight:600}.rk-state.ok{color:var(--ok);font-weight:600}
.rk-effect{background:#eaf0df;border:1px solid #d3dfc3;border-radius:10px;padding:16px 18px;margin:0 0 16px;font-size:1rem;line-height:1.6}.rk-effect b{display:block;margin-bottom:.35rem}
.rk-forms{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:64rem){.rk-forms{grid-template-columns:1fr 1fr 1fr}}.rk-forms form{display:flex;flex-direction:column;gap:.55rem}.rk-forms label{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem}
@media(max-width:56rem){.rk-save{padding:8px 0;gap:6px}.rk-save .rk-state{font-size:.8rem;width:100%}.rk-save>span:last-child{width:100%;flex-wrap:nowrap!important}.rk-save>span:last-child>*{flex:1;text-align:center;justify-content:center;padding:.5rem .6rem;font-size:.88rem}}
/* 2026-09-29 Vezetői pénzügyi áttekintés (/exec) — Ádám visszajelzése: kevés, nagy szám, döntést kérő ügyek, nincs táblázat, mobil (iPhone Safari) elsőként.
   Mag-elrendezés :has() nélkül; tap-célok ≥ 44 px; a forrás koppintásra nyíló panelben (nem hover). */
.xo{display:flex;flex-direction:column;gap:20px;min-width:0}
.xo *{min-width:0}
.xo-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.xo-hd h1{font-size:2.35rem;margin:.35rem 0 .3rem;color:var(--ink)}
.xo-period{margin:0;color:var(--ink-2);font-size:.95rem}
.xo-perbtn{display:inline-flex;align-items:center;gap:8px;border-radius:10px}
.xo-perbtn svg{width:18px;height:18px}
.xo-alert{display:flex;gap:12px;align-items:flex-start;border:1px solid #e3c9a8;background:var(--warn-soft);color:var(--warn-ink);border-radius:10px;padding:14px 16px;font-size:.88rem}
.xo-alert p{margin:0}.xo-alert svg{flex:0 0 20px;width:20px;height:20px;margin-top:1px}
.xo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.xo-kpi{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:20px}
.xo-kpi .xo-lbl{font:500 .8rem/1.3 Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink-3);margin:0}
.xo-kpi .xo-val{font-size:1.9rem;line-height:1.15;letter-spacing:-.03em;font-weight:500;margin:12px 0 8px;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.xo-kpi .xo-sub{font-size:.75rem;color:var(--ink-3);margin:0 0 8px}
.xo-yoy{font-size:.78rem;margin:0 0 8px;font-weight:600}.xo-yoy.up{color:var(--ok)}.xo-yoy.down{color:var(--crit)}
.xo-pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.qpill{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}
.q-import{background:var(--ok-soft);color:var(--ok)}.q-partial{background:var(--warn-soft);color:var(--warn-ink)}.q-cash{background:#EDF0E8;color:var(--ink-2)}
.xo-quiet{margin-top:auto;align-self:flex-start;background:none;border:0;padding:0;font:600 .8rem Inter,system-ui,sans-serif;color:var(--forest);cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.xo-quiet:hover{text-decoration:underline}
.xo-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.xo-col{display:flex;flex-direction:column;gap:20px}
.xo .card.xo-card{margin:0;padding:22px;border-color:var(--line);border-radius:11px}
.xo-cardhd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.xo-card h2{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:1.1rem;font-weight:600;color:var(--ink);margin:0}
.xo-unit{font-size:.8rem;font-weight:400}
.xo-dec{list-style:none;margin:0;padding:0}
.xo-dec li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.xo-dec li:first-child{border-top:0}
.xo-ico{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--forest);background:var(--paper)}
.xo-ico svg{width:19px;height:19px}
.xo-dtext b{display:block;font-size:.93rem;font-weight:600;color:var(--ink)}
.xo-dtext span{display:block;font-size:.8rem;color:var(--ink-3);margin-top:2px}
.xo-dbtn{min-height:44px;border-radius:10px}.xo-chev{display:none}
.xo-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--forest);border-top:1px solid var(--line)}
.xo-empty{display:flex;gap:8px;align-items:center;margin:.5rem 0 0}.xo-empty svg{width:18px;height:18px}
.xo-link{font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;min-height:44px}
.xo-chart{list-style:none;margin:14px 0 0;padding:0 2px;display:flex;align-items:flex-end;gap:10px;height:190px;border-bottom:1px solid var(--line)}
.xo-chart li{flex:1 1 0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;text-align:center;position:relative}
.xo-bv{font-size:.72rem;color:var(--ink-2);margin-bottom:4px;font-variant-numeric:tabular-nums}
.xo-bar{display:block;background:#DEE7CC;border-radius:4px 4px 0 0;max-height:calc(100% - 22px)}
.xo-chart li.cur .xo-bar{background:var(--forest)}
.xo-chart li.part .xo-bar{background:repeating-linear-gradient(135deg,var(--forest) 0 6px,#2f5518 6px 12px)}
.xo-bm{position:absolute;bottom:-22px;left:0;right:0;font-size:.7rem;color:var(--ink-3)}
.xo-foot{font-size:.75rem;color:var(--ink-3);margin:32px 0 0}
.xo-side .eyebrow{display:flex;align-items:center;gap:6px;color:var(--ink-3);margin-bottom:10px}.xo-side .eyebrow svg{width:15px;height:15px}
.xo-split{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:16px 0 8px;font-size:.85rem;color:var(--ink-2)}
.xo-split b{font-size:1.6rem;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.xo-meter{height:7px;border-radius:99px;background:#EEF1E8;overflow:hidden}.xo-meter span{display:block;height:100%;background:var(--moss)}
.xo-fresh{margin:.5rem 0 0}.xo-links{display:flex;gap:16px;flex-wrap:wrap;margin:0}
.xo .card.xo-explain{background:#EDF2E4;border-color:#DCE5CF}
.xo-card h2.xo-serif{font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:500;line-height:1.2;margin:.3rem 0 .6rem}
.xo-dgrid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.xo-dgrid a{display:flex;flex-direction:column;gap:2px;min-height:56px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper)}
.xo-dgrid a:hover{text-decoration:none;border-color:var(--forest)}
.xo-dgrid b{font-size:.9rem;color:var(--forest)}.xo-dgrid span{font-size:.75rem;color:var(--ink-3)}
.xo-perlist{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.xo-perlist a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:500}
.xo-perlist a.on{border-color:var(--forest);background:var(--soft);font-weight:600;color:var(--forest)}
.xo-src{list-style:none;margin:0;padding:0}
.xo-src li{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:10px;padding:8px 0;border-top:1px solid var(--line);align-items:center}
.xo-src li small{grid-column:2}
.xo-src .dot,.xstk .dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:#bbb}
.xo-src .dot.fresh,.xstk .dot.fresh{background:var(--ok)}.xo-src .dot.aging,.xstk .dot.aging{background:var(--warn)}.xo-src .dot.stale,.xo-src .dot.failed,.xstk .dot.stale,.xstk .dot.failed{background:var(--crit)}
.xo-dl{margin:0 0 14px;display:grid;gap:0}
.xo-dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line)}
.xo-dl dt{color:var(--ink-3);font-size:.88rem}.xo-dl dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.xo-note{background:var(--warn-soft);color:var(--warn-ink);border-radius:8px;padding:10px 12px;font-size:.85rem}
.xo-full{font-size:.9rem}
.xo-pp summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--forest)}
.xo-srcbody p{line-height:1.55}
@media(max-width:1180px){.xo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.xo-main{grid-template-columns:1fr}.xo-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:700px){.xo-dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.xo-side{display:flex}}
@media(max-width:600px){
  .xo{gap:16px}
  .xo-hd h1{font-size:1.85rem}
  .xo-hd>div{width:100%}
  .xo-perbtn{width:100%;justify-content:center}
  .xo-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .xo-kpi{padding:14px 12px 4px}
  .xo-kpi .xo-val{font-size:1.4rem;margin:6px 0 4px}
  .xo-kpi .xo-sub,.xo-yoy{font-size:.72rem}
  .qpill{white-space:normal}
  .xo-hide-m{display:none}
  .xo-quiet{font-size:.78rem}
  .xo .card.xo-card{padding:18px 16px}
  .xo-dec li{grid-template-columns:36px minmax(0,1fr) 44px;gap:12px}
  .xo-ico{width:36px;height:36px}
  .xo-dbtn{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem}
  .xo-btxt{display:none}.xo-chev{display:inline}
  .xo-chart{gap:6px;height:170px}
  .xo-bv{font-size:.66rem}
  .xo-dgrid{grid-template-columns:1fr 1fr;gap:8px}
}

/* 2026-09-29 Pénzügy részletoldalak (.xstk): mobilon (≤ 600 px) a fejléces táblák soronként kártyává válnak (címke: érték) — nincs
   vízszintes görgetés. A címkéket a fejléc-sorból az app.js teszi a cellákra (data-label); JS nélkül a régi, saját görgetésű tábla marad.
   Széles (≥ 7 oszlopos) tábla 900 px alatt is kártyás. Asztalon a táblák a tartalom szélességéhez igazodnak (tördelnek). */
.xstk table{width:100%}
.xstk td,.xstk th{overflow-wrap:anywhere}
.xstk table.grid th,.xstk table.grid td{white-space:normal}
@media(max-width:900px){
  .xstk .tw{overflow-x:visible}
  .xstk table.stk.wide,.xstk table.stk.wide>tbody,.xstk table.stk.wide>tbody>tr,.xstk table.stk.wide>tbody>tr>td{display:block;width:100%}
  .xstk table.stk.wide tr.stk-head{display:none}
  .xstk table.stk.wide>tbody>tr{border:1px solid var(--line);border-radius:10px;padding:6px 12px;margin:0 0 10px;background:#fff}
  .xstk table.stk.wide>tbody>tr>td{display:flex;justify-content:space-between;gap:12px;border:0;border-top:1px solid #EEF1E8;padding:7px 0;text-align:right;white-space:normal;max-width:none;min-width:0}
  .xstk table.stk.wide>tbody>tr>td:first-child{border-top:0;text-align:left;font-weight:600;display:block}
  .xstk table.stk.wide>tbody>tr>td[data-label]::before{content:attr(data-label);color:var(--ink-3);font-size:.78rem;text-align:left;font-weight:500;flex:0 0 40%}
  .xstk table.stk.wide>tbody>tr>td:empty{display:none}
  .xstk table.stk.wide>tbody>tr>td[colspan]{display:block;text-align:left}
}
@media(max-width:600px){
  .xstk .tw{overflow-x:visible}
  .xstk table.stk,.xstk table.stk>tbody,.xstk table.stk>tbody>tr,.xstk table.stk>tbody>tr>td{display:block;width:100%}
  .xstk table.stk tr.stk-head,.xstk table.stk>thead{display:none}
  .xstk table.stk>tbody>tr{border:1px solid var(--line);border-radius:10px;padding:6px 12px;margin:0 0 10px;background:#fff}
  .xstk table.stk>tbody>tr>td{display:flex;justify-content:space-between;gap:12px;border:0;border-top:1px solid #EEF1E8;padding:7px 0;text-align:right;white-space:normal;max-width:none;min-width:0}
  .xstk table.stk>tbody>tr>td:first-child{border-top:0;text-align:left;font-weight:600;display:block}
  .xstk table.stk>tbody>tr>td[data-label]::before{content:attr(data-label);color:var(--ink-3);font-size:.78rem;text-align:left;font-weight:500;flex:0 0 40%}
  .xstk table.stk>tbody>tr>td:empty{display:none}
  .xstk table.stk>tbody>tr>td[colspan]{display:block;text-align:left}
  .xstk table.stk td input,.xstk table.stk td select{max-width:60%}
  .xstk table.stk td form{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
  .xstk .kpi4{grid-template-columns:1fr 1fr}
  .xstk .inline input,.xstk .inline select,.xstk input,.xstk select{min-width:0;max-width:100%}
  .xstk table:not(.stk) td,.xstk table:not(.stk) th{white-space:normal}
  .xstk .card h2 .sub,.xstk .foot.one{white-space:normal}
}
/* W02 Gyártás (2026-09-29): munkalap-állapot lépései — az állapotot szöveg is jelzi (nem csak szín) */
.gy-steps{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .4rem;padding:0}.gy-steps li{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.35rem .75rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink-3)}
.gy-steps li span{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--soft,#eef1e8);font-size:.72rem;font-weight:700}
.gy-steps li.done{color:var(--ok)}.gy-steps li.done span{background:var(--ok-soft);color:var(--ok)}.gy-steps li.done::after{content:"✓";font-weight:700}
.gy-steps li.on{background:var(--forest);border-color:var(--forest);color:#fff;font-weight:600}.gy-steps li.on span{background:var(--lime);color:var(--forest)}
.gy-steps li.stop{background:var(--crit-soft);border-color:var(--crit);color:var(--crit)}
.gy-tree{list-style:none;margin:0;padding:0}.gy-tree li{padding:.3rem 0;border-bottom:1px dashed var(--rule)}.gy-tree .lvl{display:inline-block;min-width:4.5rem;color:var(--ink-3);font-size:.78rem}
.rk-save.static{position:static;border-top:0;background:transparent}
@media(max-width:40rem){table.gy-act,table.gy-act tbody,table.gy-act tr,table.gy-act td{display:block;width:100%}table.gy-act thead{display:none}
table.gy-act tr{border-bottom:1px solid var(--rule);padding:.5rem 0}table.gy-act td{border:0;padding:.2rem 0;text-align:left!important;white-space:normal}
table.gy-act td[data-l]::before{content:attr(data-l);display:block;font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
table.gy-act td input{max-width:none!important;width:100%;text-align:left!important}}
/* W03 Rendelés / kiszedés (2026-09-30): nyomtatható kiszedési lista (print CSS) — a menü, az űrlap-gombok és a műveleti kártyák nem
   nyomtatódnak; a pipa-oszlop és a címzett-sor csak nyomtatásban látszik. Mobilon a táblák a .xstk kártyás elrendezést kapják. */
.print-only{display:none!important}
@media print{.no-print,.rk-save{display:none!important}.print-only{display:table-cell!important}p.print-only{display:block!important}
  .picklist .card{border:0;box-shadow:none;padding:0}.picklist table.pick input{border:0;background:transparent}
  .picklist table.pick td,.picklist table.pick th{border-bottom:1px solid #999;padding:.35rem .4rem}}
.badge.wrapb{white-space:normal}

/* ==== W03-13 Partner rendelésének beemelése (2026-09-30): feltöltő doboz, előnézet-kártyák, gépelős tétel-kereső ==== */
.imp-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:56rem){.imp-grid{grid-template-columns:1fr 1fr}}
.imp-drop{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;text-align:center;min-height:120px;border:2px dashed var(--rule);border-radius:12px;background:var(--paper);padding:1rem;cursor:pointer;min-width:0}
.imp-drop.over,.imp-drop:focus-within{border-color:var(--forest);background:#eef3e6}
.imp-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.imp-drop-t{font-size:.95rem;color:var(--ink)}
.imp-paste{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem;min-width:0}.imp-paste textarea{min-height:120px;font-family:inherit;width:100%;box-sizing:border-box}
.imp-fold{padding:0}.imp-fold>summary{padding:14px 16px;cursor:pointer;min-height:44px}.imp-fold .imp-box{border:0;margin:0;box-shadow:none}
.imp-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}
.imp-rows{display:flex;flex-direction:column;gap:12px}
.irow{border:1px solid var(--line);border-left-width:4px;border-radius:10px;padding:12px 14px;margin:0;background:#fff;min-width:0}
.irow.st-ok{border-left-color:var(--ok)}.irow.st-check{border-left-color:#c98a2b}.irow.st-none{border-left-color:var(--crit)}.irow.skip{opacity:.55}
.irow legend{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:0 .3rem}
.imp-src{margin:.1rem 0 .4rem;overflow-wrap:anywhere}.imp-src .small{display:block}
.imp-flags{margin:.2rem 0 .5rem;padding-left:1.1rem;font-size:.8rem;color:var(--warn-ink)}
.imp-sug{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .5rem}.imp-sug .btn{white-space:normal;text-align:left;min-height:40px;max-width:100%}
.irow .g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .75rem;align-items:end}.irow .g>label{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem;min-width:0}.irow .g .span2{grid-column:1/-1}
@media(min-width:56rem){.irow .g{grid-template-columns:3fr 1fr 1.2fr .8fr}.irow .g .span2{grid-column:auto}}
.irow .ferr{color:var(--crit);font-size:.8rem;font-weight:600}.irow .bad input,.irow .bad select{border-color:var(--crit);outline:1px solid var(--crit)}
.imp-price{color:var(--ink-3);min-height:44px;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.imp-map{padding:0}.imp-map>summary{padding:14px 16px;cursor:pointer;min-height:44px}.imp-map form{padding:0 16px 16px}
.imp-mapgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem .75rem}.imp-mapgrid label,.imp-map form>label{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem;min-width:0}
/* gépelős tétel-kereső (rendeles.js [data-pick]) */
.tpick{position:relative;min-width:0}.tpick input{width:100%;box-sizing:border-box}
.tpick-sel{display:none!important}
.tpick-list{position:absolute;left:0;right:0;top:100%;z-index:30;margin:2px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--rule);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:min(50vh,320px);overflow:auto}
.tpick-list li{padding:.55rem .7rem;cursor:pointer;font-size:.88rem;color:var(--ink);border-bottom:1px solid var(--line);min-height:40px;overflow-wrap:anywhere}
.tpick-list li.on,.tpick-list li:hover{background:#eef3e6}.tpick-list li .small{display:block;color:var(--ink-3)}
.tpick-list li.none{color:var(--ink-3);cursor:default}
/* W07-01 listamotor (2026-09-30, docs/specs/w07-listamotor.md): egy keret minden listához. Asztalon táblázat (a konténerben görgethető),
   mobilon (≤ 56rem) kártyák + teljes képernyős szűrő-lap; a lap soha nem görget vízszintesen. */
.lm{min-width:0}.lm *{min-width:0}
.lm .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lm-views{margin:-8px 0 14px}.lm-views .chip{max-width:100%;overflow-wrap:anywhere}.lm-views .chip em{font-style:normal;font-size:.72rem;color:var(--ink-3)}
.lm-views form.inl{display:inline;margin:0}.lm-views .link{min-height:28px;padding:0 .15rem;font-size:.9rem}
.lm-bar{display:flex;flex-wrap:wrap;gap:.6rem .8rem;align-items:flex-end;margin-bottom:.75rem}
.lm-bar label{font-size:.8rem;color:var(--ink-2);display:flex;flex-direction:column;gap:.25rem}
.lm-search{flex:1 1 16rem}.lm-param{flex:0 1 16rem}.lm-param small{font-size:.72rem}
.lm-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}
.lm-sel select{width:auto;min-width:7rem}
.lm-pop{position:relative}.lm-pop>summary{list-style:none}.lm-pop>summary::-webkit-details-marker{display:none}
.lm-popbody{position:absolute;z-index:40;top:calc(100% + 4px);left:0;background:#fff;border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow);
  padding:10px 12px;width:min(22rem,90vw);max-height:60vh;overflow:auto;display:flex;flex-direction:column;gap:0}
.lm-popbody .rk-chk{min-height:36px}
.lm-filterbtn{display:inline-flex;align-items:center;gap:.35rem}.lm-filterbtn.on{border-color:var(--warn);background:var(--warn-soft);color:var(--warn-ink)}
.lm-panel{display:none;margin-bottom:.75rem}.lm-panel:target,.lm-panel.open{display:block}
.lm-panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.lm-fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem .8rem}
.lm-f{border:1px solid var(--line);border-radius:9px;padding:.45rem .6rem .6rem;margin:0;display:flex;flex-direction:column;gap:.35rem}
.lm-f.on{border-color:var(--warn);background:var(--warn-soft)}
.lm-f legend{font-size:.78rem;font-weight:600;color:var(--ink-2);padding:0 .25rem}
.lm-f input,.lm-f select{min-height:38px;padding:.35rem .5rem;font-size:.9rem}
.lm-frow{display:flex;gap:.4rem}.lm-frow>*{flex:1 1 0}
.lm-frow select{flex:0 1 9rem}
.lm-enum{display:flex;flex-direction:column;max-height:11rem;overflow:auto}.lm-enum .rk-chk,.lm-not{min-height:32px!important;font-size:.84rem!important}
.lm-tri{display:flex;gap:.3rem;flex-wrap:wrap}.lm-tri .chipbtn span{min-height:34px;padding:.3rem .7rem}
.lm-null{font-size:.8rem!important;color:var(--ink-3)}
.lm-more{margin-top:.6rem}.lm-more>summary{cursor:pointer;font-weight:600;color:var(--forest);min-height:40px;display:flex;align-items:center}
.lm-more .lm-fgrid{margin-top:.5rem}
.lm-panel .acts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}
.lm-active{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;background:var(--warn-soft);color:var(--warn-ink);border:1px solid #e3c9a8;border-radius:10px;
  padding:.55rem .75rem;margin:0 0 .9rem;font-size:.86rem}
.lm-chip{display:inline-flex;gap:.35rem;align-items:center;background:#fff;border:1px solid #e3c9a8;border-radius:999px;padding:.2rem .65rem;color:var(--warn-ink);
  text-decoration:none;min-height:32px;overflow-wrap:anywhere;max-width:100%}.lm-chip:hover{border-color:var(--warn-ink);text-decoration:none}
.lm-count{margin:0 0 .6rem;font-size:.9rem;color:var(--ink-2)}
.lm-table th a{color:inherit;text-decoration:none;white-space:nowrap}.lm-table th a:hover{text-decoration:underline}
.lm-table td.wrap{min-width:14rem;white-space:normal}
.lm-table tr.lm-warn td{background:var(--warn-soft)}.lm-table tr.lm-crit td{background:var(--crit-soft)}.lm-table tr.lm-ok td{background:var(--ok-soft)}
.lm-table tr.lm-muted td{color:var(--ink-3)}
.lm-table tr.lm-group td{background:#f0f3ea;border-top:2px solid var(--rule);white-space:normal}
.lm-table td.lm-x,.lm-table th.lm-x{width:2.2rem;padding:.2rem}
.lm-exp{background:none;border:1px solid var(--rule);border-radius:6px;cursor:pointer;min-width:30px;min-height:30px;color:var(--forest);font:inherit}
.lm-table mark,.lm-cards mark{background:#F5E27A;color:inherit;padding:0 1px;border-radius:2px}
.lm-drow>td{background:#fbfcf8;white-space:normal}
.lm-dsec h3{font-size:.85rem;margin:.3rem 0 .4rem;color:var(--ink-2)}
.lm-dtable{min-width:0;width:auto;font-size:.82rem}.lm-dcards{display:none}
.lm-cards{display:none;list-style:none;margin:0;padding:0}
.lm-pager{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.8rem 0 .2rem}.lm-pager span{padding:0 .4rem;color:var(--ink-2)}
.lm-idx h2{font-size:1.1rem;margin:0 0 .5rem}.lm-idx ul{list-style:none;margin:0;padding:0}.lm-idx li{padding:.55rem 0;border-top:1px solid var(--line)}
.lm-idx li .sub{display:block;font-size:.84rem;color:var(--ink-3)}.lm-idx summary{cursor:pointer;min-height:40px}
.lm-save summary,.lm-gaps summary{cursor:pointer;min-height:40px}
.lm-gaps p{overflow-wrap:anywhere}
@media(max-width:56rem){
  .lm-panel{position:fixed;inset:0;z-index:80;margin:0;border-radius:0;overflow:auto;padding:0 16px 16px}
  .lm-panelhead{position:sticky;top:0;background:#fff;padding:14px 0;z-index:1;border-bottom:1px solid var(--line);margin-bottom:10px}
  .lm-fgrid{grid-template-columns:1fr}
  .lm-panel .acts{position:sticky;bottom:0;background:#fff;padding:10px 0;border-top:1px solid var(--line)}
  body.lm-lock{overflow:hidden}
  .lm-bar{flex-direction:column;align-items:stretch}.lm-search,.lm-param{flex:1 1 auto}
  .lm-tools .lm-sel{flex:1 1 8rem}.lm-sel select{width:100%;min-width:0}
  .lm-popbody{left:auto;right:0;width:min(20rem,calc(100vw - 32px))}
  .lm-tw{display:none}
  .lm-cards{display:block}
  .lm-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;background:#fff;overflow-wrap:anywhere}
  .lm-card.lm-warn{border-left:4px solid var(--warn)}.lm-card.lm-crit{border-left:4px solid var(--crit)}.lm-card.lm-muted{opacity:.75}.lm-card.lm-ok{border-left:4px solid var(--ok)}
  .lm-ctitle{font-weight:700;font-size:1rem;margin-bottom:4px}
  .lm-crow{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;padding:2px 0}.lm-crow span{color:var(--ink-3);white-space:nowrap;flex:0 0 auto}.lm-crow b{text-align:right;min-width:0;overflow-wrap:anywhere}
  .lm-card .lm-exp{margin-top:6px}
  .lm-cgroup{background:#f0f3ea;border-radius:8px;padding:8px 10px;margin:4px 0 8px;font-size:.86rem;overflow-wrap:anywhere}
  .lm-ctotals{display:flex;flex-direction:column;gap:3px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.88rem}
  .lm-dtable{display:none}.lm-dcards{display:block;list-style:none;margin:0;padding:0}.lm-dcards li{border-top:1px solid var(--line);padding:6px 0}
  .lm-pager .btn{flex:1 1 auto;text-align:center}
}
@media print{.lm-bar,.lm-panel,.lm-views,.lm-save,.lm-gaps,.lm-pager,.rk-nav,.lm-exp{display:none!important}.lm-tw{display:block!important}.lm-cards{display:none!important}}
/* 2026-09-30 „Mikor történt?” (Mi történt? fiók, Feladatok, Ma-kártya gyors gombjai) — chipek tördelődnek, nincs vízszintes görgetés */
.whenfield{border:0;padding:0;margin:0 0 18px;min-width:0}.whenfield legend{padding:0}.whenfield .chipbtn{position:relative}
.recform .whenfield .chipbtn input{min-height:0}
.whenrow{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px}.whenrow label{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;font-size:13px;font-weight:600;flex:1 1 150px;min-width:0}
.whenrow input{width:100%;min-width:0;box-sizing:border-box}
.whenmini{flex-basis:100%;min-width:0}.whenmini summary{cursor:pointer}.whenmini label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:.35rem 0 .2rem}.whenmini input{max-width:100%}

/* Számlázz.hu tesztfiók állapotkártya (2026-10-01): tömör összegzés + lenyitható részletek; hosszú technikai nevek tördelve */
.tf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.9rem 1.5rem;margin:.75rem 0}
.tf-item{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}
.tf-k{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.tf-v{font-size:.9rem;color:var(--ink-2);line-height:1.4;overflow-wrap:anywhere;min-width:0}
.tf-det{margin-top:.25rem}.tf-det summary{cursor:pointer;font-size:.9rem;color:var(--ink-2)}
.tf-list{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.55rem}.tf-list li{display:flex;gap:.6rem;align-items:flex-start;min-width:0}
.tf-code{font-size:.75rem;color:var(--ink-3);overflow-wrap:anywhere;word-break:break-all}

/* W09-04 — Súgó munkaterületenként (help.html, a „Rövid útmutató” ablak a szűk szerepeknek) */
.sugo-body h3,.sugo-dialog h3{margin:1.1rem 0 .35rem;font-size:1rem}
.sugo-note{background:var(--surface-2,#f4f6ef);border-left:3px solid var(--forest);padding:.5rem .7rem;margin:.2rem 0 .6rem}
.sugo-task{border:1px solid var(--rule);border-radius:.5rem;padding:.35rem .7rem;margin:.4rem 0}.sugo-task>summary{cursor:pointer}.sugo-task ol{margin:.5rem 0 .3rem;padding-left:1.3rem;line-height:1.55}
.sugo-hibak{padding-left:1.3rem;line-height:1.55}
.sugo-kulcs{border-collapse:collapse;width:100%}.sugo-kulcs th,.sugo-kulcs td{border-bottom:1px solid var(--rule);padding:.35rem .5rem;text-align:left;vertical-align:top}.sugo-kulcs th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
/* TESZTÜZEM (2026-10-02, docs/specs/tesztuzem.md): feltűnő, de nem zavaró sáv minden belső oldalon; ügyviteli oldalon halvány „TESZT”
   vízjel, nyomtatásban fejléc-jelzés is (a topbar nyomtatásban rejtett, a sáv és a jelzés nem). */
.tubanner{margin:.6rem 1rem 0;padding:.45rem .8rem;border:1px dashed var(--warn);border-left:4px solid var(--warn);border-radius:8px;background:var(--warn-soft);color:var(--warn-ink);font-size:.85rem;line-height:1.4}
.tubanner b{letter-spacing:.04em}.tubanner .tuwarn{margin:.35rem 0 0;padding-left:1.1rem;color:var(--crit);font-weight:600}
.tuwatermark{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;font:700 18vw/1 Inter,system-ui,sans-serif;color:rgba(168,54,43,.045);transform:rotate(-28deg);letter-spacing:.08em;user-select:none}
.tu-ugyvitel .page{position:relative;z-index:1}
.tuprint{display:none}
@media print{.tubanner{display:none!important}.tuprint{display:block;border:1.5px solid #A8362B;color:#A8362B;font-size:11px;text-align:center;padding:3px 8px;margin:0 0 8px}
  .tuwatermark{color:rgba(168,54,43,.10);-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ==== UX-elemek (UX-terv 2026-10-02, BIOHEAL_UX_TERV_2026-10; templates/_ux.html + static/ux.js) — ux- előtag ====
   csempe, kis gombsor, csoportosított almenü (natív <details>), „Mit csinál?” tooltip, megerősítő ablak, Visszavonás sáv, varázsló-keret,
   státuszcímke (ikon + szó + szín), státuszfülek. Minden kattintható elem ≥ 44 px; tablet (érintés) és mobil nézet. */
:root{--info-soft:#EDF1F5;--info-ink:#3A4D63;--forest-2:#2E5A14}
.ux-page .btn,.ux-modal .btn,.ux-drawer .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;min-height:46px;text-decoration:none}
.ux-page .btn .icon,.ux-modal .btn .icon{width:20px;height:20px}
.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--lime-soft);border-color:transparent}
.btn.danger{background:var(--crit);border-color:var(--crit);color:#fff}.btn.danger:hover{background:#8f2c23}
.ux-page .btn.forest .icon{color:var(--lime)}
.ux-page .btn:focus-visible,.ux-tile:focus-within,.ux-mini:focus-visible,.ux-chipcard:focus-within,.ux-dd summary:focus-visible,.ux-q:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.ux-big{min-height:56px!important;font-size:1.02rem;padding:.6rem 1.4rem}
.ux-small{min-height:44px!important;padding:.35rem .8rem;font-size:.86rem}
.ux-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ux-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ux-head h1{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.2rem);line-height:1.15;color:var(--forest)}
.ux-head .eyebrow{display:block;margin-bottom:6px}
.ux-scope{margin:.35rem 0 0;color:var(--ink-3);font-size:.92rem}
.ux-headacts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ux-crumb{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--ink-3);margin-bottom:6px}.ux-crumb a{color:var(--ink-3);min-height:32px;display:inline-flex;align-items:center}.ux-crumb .icon{width:14px;height:14px}
.ux-search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--rule);border-radius:999px;padding:0 14px;min-height:48px;min-width:min(320px,100%);color:var(--ink-3);flex:0 1 380px;flex-direction:row;font-size:1rem;font-weight:400}
.ux-search input{border:0;outline:0;font:inherit;flex:1;background:transparent;min-width:0;min-height:44px;padding:0}
.ux-search input:focus{outline:0}
.ux-search:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px rgba(167,203,56,.25)}
/* „?” — Mit csinál? */
.ux-q{width:30px;height:30px;min-width:30px;border-radius:50%;border:1.5px solid var(--rule);background:var(--surface);color:var(--ink-3);font:700 .82rem/1 Inter,system-ui,sans-serif;cursor:pointer;display:inline-grid;place-items:center;padding:0;flex-shrink:0;position:relative}
.ux-q::after{content:"";position:absolute;inset:-8px}  /* ≥ 44 px érintési terület */
.ux-q.sm{width:24px;height:24px;min-width:24px;font-size:.74rem}.ux-q.sm::after{inset:-10px}
.ux-q:hover,.ux-q[aria-expanded=true]{background:var(--lime);border-color:var(--lime);color:var(--forest)}
.ux-tipbox{position:absolute;z-index:1200;max-width:300px;background:var(--forest);color:#fff;border-radius:10px;padding:10px 12px;font-size:.88rem;line-height:1.4;box-shadow:var(--shadow);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.ux-tipbox.show{opacity:1;transform:none}
.ux-tipbox b{display:block;color:var(--lime);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
/* jelvények */
.ux-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:.2rem .7rem;font-size:.82rem;font-weight:700;white-space:nowrap;line-height:1.35}
.ux-badge.wait{background:var(--warn-soft);color:var(--warn-ink)}.ux-badge.late{background:var(--crit-soft);color:var(--crit)}
.ux-badge.info{background:var(--info-soft);color:var(--info-ink)}.ux-badge.ok{background:var(--ok-soft);color:var(--ok)}
/* almenü: csoportok + lenyíló */
.ux-groups{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 22px;padding:6px;background:var(--surface);border:1px solid var(--rule);border-radius:14px}
.ux-spacer{flex:1}
.ux-dd{position:relative;display:inline-block}
.ux-dd>summary,.ux-filt>summary,.ux-extra>summary{list-style:none;cursor:pointer;user-select:none;margin:0}.ux-dd>summary::-webkit-details-marker{display:none}
.ux-dd-btn{border-color:transparent!important;background:transparent}
.ux-dd-btn:hover,.ux-dd[open]>.ux-dd-btn,.ux-dd.on>.ux-dd-btn{background:var(--lime-soft)!important}
.ux-dd.on>.ux-dd-btn{box-shadow:inset 0 -3px 0 var(--lime)}
.ux-chev{width:16px!important;height:16px!important;color:var(--ink-3);transition:transform .15s}
.ux-dd[open]>summary .ux-chev{transform:rotate(180deg)}
.ux-dd-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:150;background:var(--surface);border:1px solid var(--rule);border-radius:14px;box-shadow:0 10px 30px rgba(31,61,12,.14);padding:8px;min-width:320px;max-width:min(92vw,380px)}
.ux-dd-panel.right{left:auto;right:0}
.ux-dd-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none!important;cursor:pointer;min-height:48px;border:0;background:none;width:100%;text-align:left;font:inherit}
.ux-dd-item:hover,.ux-dd-item:focus-visible,.ux-dd-item.on{background:var(--lime-soft);outline:0}
.ux-dd-item .icon{color:var(--forest);margin-top:2px}
.ux-dd-item b{display:block;font-weight:600}.ux-dd-item small{display:block;color:var(--ink-3);font-size:.82rem;line-height:1.35}
.ux-dd-item .ux-badge{margin-left:auto;align-self:center}
.ux-dd-item.admin b::after{content:"vezető";margin-left:6px;font-size:.66rem;font-weight:700;background:var(--info-soft);color:var(--info-ink);border-radius:999px;padding:1px 6px;vertical-align:middle}
.ux-dd-item.danger,.ux-dd-item.danger .icon{color:var(--crit)}
.ux-dd-panel form{margin:0}
.ux-dd-title{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding:8px 12px 2px}
/* feladat-csempék */
.ux-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;margin-bottom:16px}
.ux-tile{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1.5px solid var(--rule);border-radius:18px;padding:20px 20px 16px;min-height:212px;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.ux-tile:hover{border-color:var(--forest);box-shadow:var(--shadow);transform:translateY(-2px)}
.ux-tile .ux-ti{width:60px;height:60px;border-radius:16px;background:var(--lime-soft);color:var(--forest);display:grid;place-items:center}
.ux-tile .ux-ti .icon{width:32px;height:32px}
.ux-tile h2{font-size:1.22rem;line-height:1.2;margin:0}
.ux-tile-link{color:inherit;text-decoration:none!important}
.ux-tile-link::after{content:"";position:absolute;inset:0;border-radius:18px}   /* a teljes csempe kattintható */
.ux-tile-link:focus-visible{outline:0}
.ux-tile p{margin:0;color:var(--ink-3);font-size:.93rem;line-height:1.4}
.ux-tile-badge{position:absolute;top:18px;right:18px}
.ux-tile-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;color:var(--forest);font-size:.92rem}
.ux-tile-foot>span{display:inline-flex;align-items:center;gap:6px}.ux-tile-foot .icon{width:18px;height:18px}
.ux-tile-foot .ux-q{position:relative;z-index:2}
.ux-tile.primary{background:var(--forest);border-color:var(--forest);color:#fff}
.ux-tile.primary h2{color:#fff}.ux-tile.primary p{color:#d5e2c4}
.ux-tile.primary .ux-ti{background:rgba(255,255,255,.1);color:var(--lime)}
.ux-tile.primary .ux-tile-foot{color:var(--lime)}
.ux-tile.primary .ux-q{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.ux-srcs{display:flex;gap:6px;flex-wrap:wrap}
.ux-srcs span{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:1px 8px;color:var(--ink-2)}
.ux-srcs .icon{width:14px;height:14px}
/* kis gombsor */
.ux-minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin-bottom:26px}
.ux-mini{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--rule);border-radius:14px;padding:12px 14px;min-height:64px;color:var(--ink);text-decoration:none!important}
.ux-mini:hover{border-color:var(--forest)}
.ux-mini .ux-ti,.ux-src .ux-ti,.ux-chipcard .ux-ti{width:42px;height:42px;border-radius:12px;background:var(--lime-soft);color:var(--forest);display:grid;place-items:center;flex-shrink:0}
.ux-mini b{font-weight:600}.ux-mini small{display:block;color:var(--ink-3);font-size:.8rem}
.ux-mini .grow{flex:1;min-width:0}
/* Mai teendők + Automatikus átvétel */
.ux-cols{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}
.ux-card{padding:18px 20px;border-radius:14px}
.ux-sect-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.ux-sect-h h2{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:1.05rem;color:var(--ink);margin:0}
.ux-todo{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--rule)}
.ux-todo:first-of-type{border-top:0}
.ux-todo .grow{flex:1;min-width:0}.ux-todo b{font-weight:600}.ux-todo small{display:block;color:var(--ink-3)}
.ux-ci{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--warn-soft);color:var(--warn-ink)}
.ux-ci.late{background:var(--crit-soft);color:var(--crit)}.ux-ci.info{background:var(--info-soft);color:var(--info-ink)}
.ux-none{display:flex;align-items:center;gap:8px;color:var(--ink-3);margin:.6rem 0}
.ux-autorow{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--rule)}
.ux-autorow:first-of-type{border-top:0}.ux-autorow .grow{flex:1;min-width:0}.ux-autorow small{display:block;color:var(--ink-3);font-size:.8rem}
.ux-autorow form{margin:0}
.ux-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#bbb}.ux-dot.ok{background:var(--ok)}.ux-dot.err{background:var(--crit)}
/* párbeszédablakok: megerősítés, folyamat-ábra, oldalsó fiók */
dialog.ux-modal{border:0;border-radius:16px;max-width:480px;width:calc(100% - 32px);padding:26px 26px 20px;box-shadow:0 30px 80px rgba(0,0,0,.25);color:var(--ink)}
dialog.ux-modal.wide{max-width:760px}
dialog.ux-modal::backdrop,dialog.ux-drawer::backdrop{background:rgba(15,25,10,.45)}
.ux-mi{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn-ink);margin-bottom:12px}
.ux-mi.crit{background:var(--crit-soft);color:var(--crit)}.ux-mi.ok{background:var(--ok-soft);color:var(--ok)}
.ux-modal h2{margin:0 0 8px;font-size:1.25rem}
.ux-modal ul{margin:6px 0 14px;padding-left:1.2rem;color:var(--ink-2)}.ux-modal li{margin:4px 0}
.ux-modal label{margin-bottom:10px}
.ux-modal textarea{min-height:76px}
.ux-ferr{color:var(--crit);font-weight:600;font-size:.85rem}
.ux-acts{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.ux-acts.center{justify-content:center}
.ux-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0 8px}
.ux-flow li{background:var(--paper);border-radius:10px;padding:10px;font-size:.84rem;color:var(--ink-2)}
.ux-flow b,.ux-next b{display:flex;align-items:center;gap:6px;color:var(--forest);font-size:.92rem;margin-bottom:4px}
.ux-flow .n,.ux-next .n{width:24px;height:24px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:.76rem;flex-shrink:0}
dialog.ux-drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(480px,100%);max-width:100%;border:0;padding:24px;background:var(--paper);box-shadow:-20px 0 60px rgba(0,0,0,.2)}
.ux-drawer-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ux-src{display:flex;align-items:center;gap:14px;background:var(--surface);border:1.5px solid var(--rule);border-radius:14px;padding:14px;margin-top:12px}
.ux-src .grow{flex:1;min-width:0}.ux-src small{display:block;color:var(--ink-3);font-size:.82rem}
/* Visszavonás sáv */
.ux-undo{display:flex;align-items:center;gap:12px;background:var(--forest);color:#fff;border-radius:12px;padding:8px 10px 8px 16px;margin-bottom:14px;flex-wrap:wrap}
.ux-undo .icon{color:var(--lime)}.ux-undo .grow{flex:1;min-width:12rem}
.ux-undo form{margin:0}
.ux-undo-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:var(--lime);font:inherit;font-weight:700;border-radius:999px;padding:.3rem .9rem;cursor:pointer}
.ux-undo-btn:hover{background:rgba(255,255,255,.08)}
.ux-undo-x{min-width:44px;min-height:44px;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:10px;display:grid;place-items:center}
.ux-undo.ux-info{background:var(--lime-soft);color:var(--forest)}.ux-undo.ux-info .icon{color:var(--forest)}
/* státuszcímke + fülek + lista */
.ux-st{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:.4rem .8rem;font-weight:700;font-size:.92rem;white-space:nowrap}
.ux-st .icon{width:18px;height:18px}
.ux-st-todo{background:var(--warn-soft);color:var(--warn-ink)}.ux-st-run{background:var(--info-soft);color:var(--info-ink)}
.ux-st-done{background:var(--ok-soft);color:var(--ok)}.ux-st-stop{background:#EFEFEC;color:#5f5f5a}
.ux-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.ux-tabrow{display:flex;gap:8px;flex-wrap:wrap}
.ux-tab{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:14px;padding:10px 16px;min-height:52px;font-weight:600;text-decoration:none!important}
.ux-tab:hover{border-color:var(--forest)}
.ux-tab.on{background:var(--forest);border-color:var(--forest);color:#fff}.ux-tab.on .icon{color:var(--lime)}
.ux-tab .cnt{background:var(--paper);color:var(--forest);border-radius:999px;padding:0 9px;font-size:.85rem}
.ux-tab.todo .cnt{background:var(--warn-soft);color:var(--warn-ink)}.ux-tab.on .cnt{background:var(--lime);color:var(--forest)}
.ux-dd-btn.ghost.on{background:var(--lime-soft)!important}
.ux-tools{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.ux-tools .ux-search{flex:1 1 280px;max-width:none}
.ux-filt{position:relative}
.ux-filt>summary{list-style:none}.ux-filt>summary::-webkit-details-marker{display:none}
.ux-filt-panel{display:flex;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:12px 14px;margin-top:8px;align-items:flex-end}
.ux-filt[open]{flex-basis:100%}
.ux-filt-panel label{min-width:12rem;flex:1}
.ux-filt-acts{display:flex;gap:8px;flex-wrap:wrap}
.ux-exact{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--ink-3);font-size:.9rem;flex-wrap:wrap}
.ux-olist{display:flex;flex-direction:column;gap:10px}
.ux-orow{display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:1.5px solid var(--rule);border-radius:16px;padding:14px 16px}
.ux-orow:hover{border-color:var(--moss)}
.ux-stwrap{display:flex;align-items:center;gap:8px}
.ux-who b{font-size:1.05rem;font-weight:600}
.ux-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ink-3);font-size:.88rem;margin-top:2px;align-items:center}
.ux-meta span{display:inline-flex;align-items:center;gap:5px}.ux-meta .icon{width:16px;height:16px}
.ux-meta a{color:var(--ink-2);font-weight:600;min-height:32px;display:inline-flex;align-items:center}
.ux-act{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.ux-act form{margin:0}
.btn.ux-main{background:var(--lime-soft);border-color:var(--lime);min-width:190px}
.btn.ux-main:hover{background:var(--lime)}
.btn.ux-main.ghostish{background:var(--surface);border-color:var(--rule)}
.ux-iconly{width:46px;padding:0!important;border-color:transparent!important;background:transparent}
.ux-iconly:hover{background:var(--lime-soft)}
.ux-empty{text-align:center;padding:40px 16px;color:var(--ink-3);background:var(--surface);border:1px dashed var(--rule);border-radius:16px}
.ux-empty>.icon{width:40px;height:40px;color:var(--moss)}
.ux-note{color:var(--ink-3);font-size:.9rem;margin:12px 0 0}
.ux-legend{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--ink-3);font-size:.86rem}
.ux-linkbtn{border:0;background:none;color:var(--forest);font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px;border-radius:8px;text-decoration:underline;text-underline-offset:3px}
.ux-linkbtn:hover{background:var(--lime-soft)}.ux-linkbtn .icon{width:16px;height:16px}
/* varázsló */
.ux-wz{max-width:1040px}
.ux-default-submit{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ux-wz-form{position:relative}
.ux-wz-stepper{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:14px 18px;margin-bottom:16px}
.ux-wz-stepper .count{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.ux-wz-stepper .count b{font-size:1.05rem;color:var(--forest)}.ux-wz-stepper .count span{color:var(--ink-3)}
.ux-wz-bar{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.ux-wz-bar li>*{border:0;background:none;padding:0;text-align:left;font:inherit;color:var(--ink-3);font-size:.8rem;font-weight:600;display:block;width:100%;min-height:44px}
.ux-wz-bar button{cursor:pointer;min-height:44px!important}
.ux-wz-bar i{display:block;height:8px;border-radius:99px;background:var(--rule);margin-bottom:6px}
.ux-wz-bar li.done>*{color:var(--forest)}.ux-wz-bar li.done i{background:var(--moss)}
.ux-wz-bar li.cur>*{color:var(--forest)}.ux-wz-bar li.cur i{background:var(--lime)}
.ux-wz-panel{background:var(--surface);border:1px solid var(--rule);border-radius:18px;padding:24px;min-height:380px}
.ux-wz-panel h2{font-size:1.3rem;margin:0 0 4px}
.ux-wz-panel h2:focus{outline:0}
.ux-lead{color:var(--ink-3);margin:0 0 18px}
.ux-bigsearch{display:flex;align-items:center;gap:10px;border:2px solid var(--rule);border-radius:14px;padding:0 8px 0 16px;min-height:58px;background:var(--surface);margin-bottom:18px;flex-direction:row;font-size:1rem}
.ux-bigsearch:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px rgba(167,203,56,.25)}
.ux-bigsearch input{border:0;outline:0;font:inherit;font-size:1.08rem;flex:1;min-width:0;background:transparent;padding:0}
.ux-bigsearch input:focus{outline:0}
.ux-grow{flex:1;min-width:240px;margin:0!important}
.ux-subh{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:4px 0 10px;padding:0}
.ux-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:12px}
.ux-chipcard{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--surface);border:2px solid var(--rule);border-radius:14px;padding:14px;cursor:pointer;font:inherit;color:var(--ink);min-height:76px;position:relative;flex-direction:row;font-size:1rem;font-weight:400}
.ux-chipcard:hover{border-color:var(--moss)}
.ux-chipcard.sel,.ux-chipcard:has(input:checked){border-color:var(--forest);background:var(--lime-soft)}
.ux-chipcard.sel .ux-ti,.ux-chipcard:has(input:checked) .ux-ti{background:#fff}
.ux-chipcard b{display:block;font-weight:600;color:var(--ink);padding-right:22px}.ux-chipcard small{display:block;color:var(--ink-3);font-size:.83rem;line-height:1.35}
.ux-chipcard input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;margin:0;min-height:0}
.ux-chipcard.sel::after,.ux-chipcard:has(input[type=radio]:checked)::after{content:"";position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--forest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A7CB38' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/14px no-repeat}
.ux-pinfo{margin-top:16px;border-radius:14px;padding:14px 16px;background:var(--paper);border:1px solid var(--rule)}
.ux-warnline{display:flex;gap:8px;align-items:flex-start;color:var(--warn-ink);background:var(--warn-soft);border-radius:10px;padding:8px 10px;margin:10px 0 0;font-size:.92rem}
.ux-warnline.crit{color:var(--crit);background:var(--crit-soft)}
.ux-repeat{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.ux-prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px}
.ux-prod{border:2px solid var(--rule);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.ux-prod[hidden]{display:none}
.ux-prod.has{border-color:var(--forest);background:#FAFCF4}
.ux-prod b{font-weight:600;line-height:1.25}.ux-prod small{color:var(--ink-3);font-size:.8rem}
.ux-price{font-weight:700;color:var(--forest)}.ux-price small{font-weight:400}
.ux-low{color:var(--warn-ink)!important;font-weight:600}
.ux-qty{display:flex;align-items:center;gap:6px;margin-top:auto}
.ux-qty button{width:46px;height:46px;min-width:46px;border-radius:12px;border:1.5px solid var(--rule);background:var(--surface);cursor:pointer;display:grid;place-items:center;color:var(--forest)}
.ux-qty button:hover{border-color:var(--forest)}
.ux-qty input{width:100%;min-width:0;height:46px;text-align:center;font-size:1.1rem;font-weight:700;border:1.5px solid var(--rule);border-radius:12px;padding:0 4px}
.ux-qty input.bad{border-color:var(--crit)}
.ux-cartbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-top:16px;padding:12px 16px;border-radius:14px;background:var(--lime-soft);flex-wrap:wrap}
.ux-cartbar b{color:var(--forest)}
.ux-optset{border:0;padding:0;margin:0 0 18px;min-width:0}
.ux-optgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:10px}
.ux-datechips{display:flex;gap:10px;flex-wrap:wrap}
.ux-datechips .ux-chipcard{min-height:60px;align-items:center;flex:0 1 auto;padding-right:40px}
.ux-dateother input[type=date]{margin-top:4px;min-height:40px;padding:.3rem .5rem}
.ux-extra summary{font-weight:600;color:var(--forest);min-height:44px;display:flex;align-items:center;gap:8px}
.ux-extra-f{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px;margin-top:8px}
.ux-dupe{margin:0 0 14px;border-radius:14px;padding:14px 16px;background:var(--warn-soft);color:var(--warn-ink)}
.ux-dupe p{margin:.3rem 0}
.ux-dupe b{display:flex;align-items:center;gap:6px}
.ux-check{display:flex!important;flex-direction:row!important;gap:10px;align-items:center;margin-top:8px;font-weight:700;min-height:44px;cursor:pointer;color:var(--warn-ink);font-size:1rem}
.ux-check input{width:24px;height:24px;min-height:0}
.ux-sum{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.ux-sumblock{border:1px solid var(--rule);border-radius:14px;padding:14px 16px;min-width:0}
.ux-sumblock .h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ux-sumblock .h span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.ux-sumblock.wide{grid-column:1/-1}
.ux-sumtable{width:100%;font-size:.95rem}.ux-sumtable tr.tot td{font-weight:700;color:var(--forest);border-top:2px solid var(--forest)}
.ux-wz-foot{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px;background:rgba(247,248,243,.96);backdrop-filter:blur(4px);border:1px solid var(--rule);border-radius:16px;flex-wrap:wrap}
.ux-wz-hint{flex:1;text-align:right;color:var(--ink-3);font-size:.92rem;min-width:10rem}
.ux-wz-hint.warn{color:var(--warn-ink);font-weight:600}
.ux-wz-hint.shake{animation:uxshake .35s}
@keyframes uxshake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
[data-uxwz-next][aria-disabled=true]{opacity:.55;cursor:not-allowed}
.ux-finish{text-align:center;padding:28px 20px}
.ux-bigok{width:88px;height:88px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}
.ux-bigok.warn{background:var(--warn-soft);color:var(--warn-ink)}
.ux-bigok .icon{width:46px;height:46px}
.ux-finish .alert{text-align:left;max-width:640px;margin:12px auto}
.ux-next{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px;margin:14px auto 22px;text-align:left}
.ux-next li{background:var(--paper);border-radius:14px;padding:14px}
/* tablet + mobil */
@media(max-width:1100px){.ux-cols{grid-template-columns:1fr}.ux-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ux-groups .ux-dd-panel.right{right:0}.ux-groups>.ux-dd:last-of-type .ux-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ux-dd-btn{padding-left:.75rem!important;padding-right:.75rem!important}}
@media(max-width:900px){
  .ux-orow{grid-template-columns:1fr auto;grid-template-areas:"st act" "who who"}
  .ux-stwrap{grid-area:st}.ux-who{grid-area:who}.ux-act{grid-area:act}
  .btn.ux-main{min-width:0}
  .ux-flow{grid-template-columns:1fr 1fr}
  .ux-sum{grid-template-columns:1fr}.ux-next{grid-template-columns:1fr}
  .ux-extra-f{grid-template-columns:1fr}
  .ux-wz-bar li:not(.cur)>*>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ux-wz-panel{padding:18px}
}
@media(max-width:700px){
  .ux-groups .ux-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ux-tab .ux-lbl-x{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ux-head .ux-search{flex:1 1 100%}
  .ux-dd-panel{min-width:min(300px,86vw)}
  .ux-wz-hint{order:-1;flex-basis:100%;text-align:left}
  .ux-wz-foot{bottom:72px}
}
@media(max-width:560px){
  .ux-tiles{grid-template-columns:1fr}
  .ux-orow{grid-template-columns:1fr;grid-template-areas:"st" "who" "act"}
  .ux-act .ux-main{flex:1}.ux-act form:first-child{flex:1;display:flex}.ux-act form:first-child .btn{flex:1}
  .ux-tile{min-height:0}
  .ux-flow{grid-template-columns:1fr}
}
@media print{.ux-groups,.ux-tools,.ux-act,.ux-wz-foot,.ux-q{display:none!important}}
.ux-subnav{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin:-8px 0 18px}.ux-subnav .ux-groups{flex:1;margin:0;min-width:0}.ux-subnav .ux-home{min-height:58px;border-radius:14px}
.ux-subnav .btn,.ux-subnav .ux-dd-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px}
@media(max-width:700px){.ux-subnav .ux-home span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* ==== UX-2 (2026-10-03): Raktár és Gyártás — varázsló-sorok, állapotsáv, receptkártyák ==== */
.ux-chipcard[hidden]{display:none}
.ux-rows{display:flex;flex-direction:column;gap:12px}
.ux-rrow{position:relative;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:10px 12px;align-items:end;border:2px solid var(--rule);border-radius:14px;padding:14px 14px 10px 44px;margin:0;min-width:0;background:var(--surface)}
.ux-rrow.bad{border-color:var(--crit)}
.ux-rrow label{margin:0;min-width:0}
.ux-rrow select,.ux-rrow input{width:100%;min-height:46px}
.ux-rno{position:absolute;left:12px;top:14px;width:24px;height:24px;border-radius:50%;background:var(--lime-soft);color:var(--forest);display:grid;place-items:center;font-size:.8rem;font-weight:700}
.ux-rr-more{grid-column:1/-1}
.ux-rr-qty .ux-qty{margin-top:4px}
.ux-bigstate{display:flex;gap:12px;align-items:flex-start;border-radius:14px;padding:14px 16px;margin:0 0 14px;font-size:1rem}
.ux-bigstate .icon{width:28px;height:28px;flex-shrink:0}
.ux-bigstate b{display:block;font-size:1.05rem}.ux-bigstate small{display:block;margin-top:2px}
.ux-bigstate.ok{background:var(--ok-soft);color:var(--ok)}
.ux-bigstate.warn{background:var(--warn-soft);color:var(--warn-ink)}
.ux-bigstate.crit{background:var(--crit-soft);color:var(--crit)}
.ux-plan td select{min-width:14rem;max-width:100%}
.ux-plan td input{max-width:9rem;text-align:right;min-height:44px}
.ux-qtybig{display:flex;align-items:center;gap:10px;max-width:420px}
.ux-qtybig .ux-qty{flex:1}
.ux-qtybig .ux-qty input{font-size:1.3rem;height:56px}.ux-qtybig .ux-qty button{width:56px;height:56px}
@media(max-width:900px){.ux-rrow{grid-template-columns:1fr 1fr}.ux-rr-item{grid-column:1/-1}.ux-plan td select{min-width:0;width:100%}.ux-plan td input{max-width:6.5rem}}
@media(max-width:560px){.ux-rrow{grid-template-columns:1fr;padding-left:14px;padding-top:40px}}

/* ==== UX-4 (2026-10-03): Ma, Partnerek, Teendők, „Mi történt?” lépésenként, Napló, Katalógus, Távollét ==== */
/* Ma: csempék a meglévő Ma-tartalom fölött */
.ux-matiles{margin:0 0 6px}
.ux-matiles .ux-tile{min-height:180px}
/* szűrő-chipek (Partnerek státusz, Napló időszak) — ≥ 44 px */
.ux-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.ux-chip{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:.35rem 1rem;border:1.5px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink-2);font-weight:600;text-decoration:none!important}
.ux-chip:hover{border-color:var(--forest)}
.ux-chip .icon{width:18px;height:18px;color:var(--forest)}
.ux-chip .cnt{background:var(--paper);color:var(--forest);border-radius:999px;padding:0 8px;font-size:.82rem}
.ux-chip.on{background:var(--forest);border-color:var(--forest);color:#fff}.ux-chip.on .icon{color:var(--lime)}.ux-chip.on .cnt{background:var(--lime);color:var(--forest)}
.ux-tools .ux-chips{margin:0;flex:1 1 auto}
.ux-plist .ux-tools{margin-bottom:10px}
.ux-plist .ux-filt>summary,.ux-naplo .ux-filt>summary{min-height:48px}
/* Teendők: fülek + nagy Kész */
.ux-tab.late .cnt{background:var(--crit-soft);color:var(--crit)}
.ux-tasks .ux-tpanel{padding-top:14px}
.ux-tasks .taskrow{padding:12px 0;border-top:1px solid var(--rule)}.ux-tasks .ux-sect-h+.taskrow{border-top:0}
.ux-tasks .task-done .btn,.ux-tasks .task-actions .btn.line{min-height:48px;padding:.5rem 1.2rem;font-size:1rem;border-radius:999px}
.ux-tasks .task-done .btn{min-width:7.5rem}
.ux-tasks .task-resched input[type=date]{min-height:44px}
/* partner lap: fő műveletek */
.ux-pacts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:.4rem 0 1rem}
.ux-pacts .btn{gap:8px}
.ux-pacts-sub{font-weight:400;font-size:.82rem;color:var(--ink-3);margin-left:2px}
.ux-pacts .ux-dd>summary{min-height:56px}
/* „Mi történt?” fiók: lépésjelző (4 lépés) */
.recwz .ux-wz-stepper{padding:10px 12px;margin-bottom:12px}
.recwz .ux-wz-bar{grid-template-columns:repeat(4,1fr)}
.recwz .ux-wz-bar a{color:var(--forest);text-decoration:none;min-height:44px;display:block;font-size:.8rem;font-weight:600}
.recmod{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}
.recwz .recbtns .btn{min-height:48px}
/* Napló sor */
.ux-nrow{align-items:center;gap:12px}.ux-ntime{min-width:3.2rem}
.ux-naplo .ux-tools{align-items:center}
/* Katalógus: 3 lépés */
.ux-steps3{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ux-steps3 li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:10px 12px}
.ux-steps3 .n{width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700;flex-shrink:0}
.ux-steps3 b{display:block}.ux-steps3 small{display:block;color:var(--ink-3);font-size:.82rem}
.ux-quick>summary{list-style:none}.ux-quick>summary::-webkit-details-marker{display:none}
@media(max-width:700px){
  .ux-steps3{grid-template-columns:1fr}
  .ux-pacts .btn{flex:1 1 40%;padding-left:.8rem;padding-right:.8rem}.ux-pacts>.btn.forest{flex-basis:100%}.ux-pacts-sub{display:none}
  .ux-pacts .ux-dd{flex:1 1 45%}.ux-pacts .ux-dd>summary{width:100%}
  .ux-tasks .ux-head .ux-headacts,.ux-tasks .ux-head .ux-headacts .btn{width:100%}
}
@media(max-width:560px){
  .ux-matiles .ux-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ux-matiles .ux-tile{padding:14px 12px 12px;gap:6px;border-radius:16px}
  .ux-matiles .ux-tile .ux-ti{width:44px;height:44px;border-radius:12px}.ux-matiles .ux-tile .ux-ti .icon{width:24px;height:24px}
  .ux-matiles .ux-tile h2{font-size:1.02rem}.ux-matiles .ux-tile p{font-size:.82rem}
  .ux-matiles .ux-tile-foot{display:none}
  .ux-matiles .ux-tile-badge{position:static;align-self:flex-start;order:3}
  .ux-matiles .ux-minis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ux-matiles .ux-mini{min-width:0;padding:10px;gap:8px}.ux-matiles .ux-mini .ux-ti{width:36px;height:36px}.ux-matiles .ux-mini b{overflow-wrap:anywhere}
  .ux-matiles .ux-mini small{display:none}
  .ux-chip{padding:.3rem .8rem}
  .ux-tasks .ux-tab{padding:8px 10px;gap:6px}
  .ux-tasks .ux-tabrow{display:grid;grid-template-columns:repeat(4,1fr);width:100%}
  .ux-tasks .ux-tab{flex-direction:column;justify-content:center;min-height:64px;font-size:.85rem}
  .ux-tasks .ux-tabs{width:100%}
}

/* ==== UX-5 (2026-10-03): Áttekintés, Pénzügy, Admin, Bér, Listák, Marketing, Termékfejlesztés, Könyvelő, Súgó ==== */
.ux-more>summary{list-style:none;cursor:pointer;min-height:46px;display:inline-flex;align-items:center;margin-top:6px}.ux-more>summary::-webkit-details-marker{display:none}
.ux-dash .ux-matiles .ux-tile{min-height:170px}
.ux-dash+.hd{margin-top:22px}
/* Pénzügy: a csempék a vezetői (xo) oldalon */
.xo-ux{margin:0 0 6px}.xo-ux .ux-tiles{margin-bottom:12px}
.xo-kh{font-family:Inter,"Segoe UI",sans-serif;font-size:1.05rem;font-weight:700;margin:22px 0 10px;color:var(--ink)}
.xo .ux-subnav{margin:0 0 14px}
/* varázslók: jog-pipák */
.ux-flags{display:flex;flex-direction:column;gap:6px}
.ux-flags .ux-check{align-items:flex-start;min-height:56px;padding:10px 12px;border:1.5px solid var(--rule);border-radius:14px}
.ux-flags .ux-check input{margin-top:4px}
/* Listák: csempés választó */
.lm-grid{margin-bottom:12px}
.lm-card{align-items:flex-start}.lm-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lm-card .lm-k{margin-top:4px;display:inline-block;font-size:.72rem}
.lm-cat{margin:6px 0 4px}.lm-cat .ux-subh{display:flex;align-items:center;gap:8px;margin:14px 0 10px}
.lm-views-idx{margin-bottom:16px}.lm-views-idx .ux-minis{margin-bottom:0}
.lm-card[hidden],.lm-cat[hidden],.lm-views-idx[hidden]{display:none}
/* Marketing, Súgó */
.ux-mkt .ux-head{margin-bottom:12px}
.sugo-top{margin-bottom:8px}
@media(max-width:560px){
  .ux-dash .ux-matiles .ux-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ux-dash .ux-matiles .ux-tile{padding:14px 12px 12px;gap:6px;min-height:150px}
  .ux-dash .ux-matiles .ux-tile .ux-ti{width:44px;height:44px}
  .ux-dash .ux-matiles .ux-tile-badge{position:static;align-self:flex-start}
}
/* UX-javítókör (2026-10-03): „Dokumentumok a levelekből” tábla — a Teendő oszlop tördelődik, a gombok egymás alatt, a hosszú fájlnév
   törhető; ~1180 px-en sem csúszik ki (a .tw vízszintes görgetése nélkül). Mobilon a .xstk table.stk kártyás sorai. */
table.rk.mdocs td.wrap{min-width:8rem}
table.rk.mdocs td.md-act{white-space:normal;width:10.5rem;min-width:9.5rem}
table.rk.mdocs td.md-act>form,table.rk.mdocs td.md-act>details{display:block;margin:0 0 6px}
table.rk.mdocs td.md-act>form>.btn,table.rk.mdocs td.md-act>details>summary.btn,table.rk.mdocs td.md-act>a.btn{width:100%;justify-content:center}
table.rk.mdocs td.md-act details[open]>form{margin-top:6px}
table.rk.mdocs a{overflow-wrap:anywhere}
.md-why{margin-top:4px}.md-why>summary{cursor:pointer;color:var(--forest);font-size:.82rem}.md-why>div{margin-top:4px}
@media (max-width:1400px){table.rk.mdocs td.wrap{min-width:6.5rem}table.rk.mdocs th,table.rk.mdocs td{padding:.4rem .45rem}}
/* UX-javítókör: gyártás / csomag varázsló 3/5 — a mértékegység a mennyiség-mező mellett marad (nem vágódik le); a forrás-lista szűkülhet */
.ux-plan .ux-qtyuom{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ux-plan .ux-qtyuom input{width:6.5rem}.ux-plan .ux-uom{min-width:2.2em;text-align:left;color:var(--ink-2)}
.ux-plan td select{min-width:10rem}
/* UX-javítókör: jelölőnégyzet + felirat egy sorban (label.chk — pl. bejövő számla „legyen ez a szállító alapértelmezése”) */
label.chk{display:flex;flex-direction:row!important;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ink);min-height:44px;cursor:pointer;font-weight:400}
label.chk input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;padding:0;flex:0 0 auto;accent-color:var(--forest)}
