/* L-Kassza Ügyfélportál — L termékcsalád arculat: L·Kassza zöldeskék #24726B, jelzőpiros #DC241C, grafit #3B4045. */
:root{
  --brand:#24726B; --brand-ink:#fff; --brand-soft:#E3F0EE; --red:#DC241C; --graphite:#3B4045;
  --bg:#F3F6F6; --surface:#fff; --text:#22262B; --muted:#657177; --border:#DCE3E3; --ok:#1A7F3C; --ok-soft:#E4F4E9; --warn:#9A5B00; --warn-soft:#FFF3DD; --bad:#B3261E; --bad-soft:#FCE9E7;
  --shadow:0 1px 2px rgba(34,38,43,.06),0 6px 18px rgba(34,38,43,.06); --radius:14px;
  --font-head:"Archivo","Segoe UI",system-ui,-apple-system,Roboto,sans-serif; --font:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif; --mono:"JetBrains Mono",ui-monospace,Consolas,"SFMono-Regular",monospace;
}
@media (prefers-color-scheme:dark){
  :root{--brand:#4DB0A4; --brand-ink:#0F1F1D; --brand-soft:#1E3330; --bg:#1B1F22; --surface:#22262B; --text:#E9EEEE; --muted:#9AA7AB; --border:#343A40; --ok:#59C47A; --ok-soft:#1D3325; --warn:#E0A33A; --warn-soft:#3A2E17; --bad:#F0877F; --bad-soft:#3D2321; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25)}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-head);font-weight:700;letter-spacing:-.02em;margin:0 0 .4em;line-height:1.2}
h1{font-size:1.9rem}h2{font-size:1.25rem}h3{font-size:1.05rem}
p{margin:0 0 .8em}a{color:var(--brand)}
.mono{font-family:var(--mono);letter-spacing:0}
.muted{color:var(--muted)}.small{font-size:.86rem}
.boot{padding:3rem;text-align:center;color:var(--muted)}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}

/* gombok */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:10px;padding:.62rem 1.05rem;font-weight:600;line-height:1.2;transition:transform .08s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(1px)}
a.btn{text-decoration:none}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-primary{background:var(--brand);color:var(--brand-ink);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.btn-primary:hover:not([disabled]){box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 40%,transparent)}
.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}
.btn-ghost:hover:not([disabled]){background:var(--brand-soft);border-color:var(--brand)}
.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--bad) 45%,transparent);color:var(--bad)}
.btn-danger:hover{background:var(--bad-soft)}
.btn-block{width:100%}.btn-sm{padding:.4rem .75rem;font-size:.88rem}

/* felső sáv */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.topbar-in{max-width:1100px;margin:0 auto;padding:.55rem 1rem;display:flex;align-items:center;gap:1rem}
.logo{height:30px;display:block}
.logo-dark{display:none}
@media (prefers-color-scheme:dark){.logo-light{display:none}.logo-dark{display:block}}
.nav{display:flex;gap:.25rem;margin-left:.5rem;flex:1}
.nav a{padding:.45rem .8rem;border-radius:9px;text-decoration:none;color:var(--muted);font-weight:600;font-size:.94rem}
.nav a:hover{background:var(--brand-soft);color:var(--text)}
.nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}
.who{margin-left:auto;display:flex;align-items:center;gap:.7rem;font-size:.88rem;color:var(--muted)}
.who b{color:var(--text);font-weight:600}
main{max-width:1100px;margin:0 auto;padding:1.4rem 1rem 3rem}
footer.foot{max-width:1100px;margin:0 auto;padding:1rem;color:var(--muted);font-size:.82rem;border-top:1px solid var(--border)}

/* kártyák */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem}
.grid{display:grid;gap:1rem}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.page-head p{margin:0}
.chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.18rem .65rem;font-size:.8rem;font-weight:600;background:var(--brand-soft);color:var(--brand)}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}
.dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--red)}

/* belépés / regisztráció */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.auth-brand{background:linear-gradient(155deg,#1B5B55 0%,#24726B 55%,#2E8A81 100%);color:#fff;padding:3rem clamp(1.5rem,5vw,4rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.auth-brand .logo{height:38px}
.auth-brand h1{font-size:clamp(1.8rem,3.6vw,2.7rem);max-width:16ch;color:#fff}
.auth-brand p{color:rgba(255,255,255,.88);max-width:42ch}
.auth-points{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.6rem}
.auth-points li{display:flex;gap:.6rem;align-items:flex-start;color:rgba(255,255,255,.92)}
.auth-points li::before{content:"";flex:none;width:.6rem;height:.6rem;margin-top:.5rem;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.promo-pill{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:.55rem .85rem;font-size:.92rem}
.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:2rem 1.2rem}
.auth-card{width:100%;max-width:440px}
.tabs{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:11px;padding:3px;margin-bottom:1.2rem}
.tabs button{flex:1;border:0;background:transparent;border-radius:8px;padding:.5rem;font-weight:600;color:var(--muted)}
.tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.field{display:grid;gap:.3rem;margin-bottom:.85rem}
.field label,.label{font-size:.84rem;font-weight:600;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=password]{width:100%;padding:.62rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.field input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
.radios{display:flex;gap:.6rem;flex-wrap:wrap}
.radios label{display:flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:10px;padding:.5rem .8rem;font-weight:500;color:var(--text);cursor:pointer}
.check{display:flex;gap:.55rem;align-items:flex-start;font-size:.88rem;margin:.4rem 0}
.check input{margin-top:.25rem;accent-color:var(--brand)}
.form-error{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:.6rem .8rem;margin:.6rem 0;font-size:.9rem}

/* áttekintés */
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem;align-items:center;background:linear-gradient(135deg,var(--brand-soft),var(--surface))}
.tier-big{font-family:var(--font-head);font-weight:700;font-size:2.4rem;letter-spacing:-.03em;color:var(--brand);line-height:1}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.7rem .85rem}
.stat b{display:block;font-family:var(--mono);font-size:1.25rem}
.timeline{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}
.tl{border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:10px;padding:.5rem .75rem;background:var(--surface);min-width:190px}
.tl.now{border-left-color:var(--red);box-shadow:var(--shadow)}
.tl small{display:block;color:var(--muted)}
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem .9rem;margin:0;padding:0;list-style:none}
.features li{display:flex;gap:.5rem;align-items:center}
.tick{width:1.15rem;height:1.15rem;border-radius:50%;display:inline-grid;place-items:center;font-size:.72rem;font-weight:700;flex:none}
.tick.y{background:var(--ok-soft);color:var(--ok)}.tick.n{background:var(--border);color:var(--muted)}
.off{color:var(--muted)}
.codebox{display:flex;align-items:center;gap:.6rem;background:var(--bg);border:1px dashed var(--border);border-radius:12px;padding:.7rem .9rem;margin:.5rem 0}
.codebox .mono{font-size:1.5rem;font-weight:700;letter-spacing:.14em;flex:1}

/* előfizetés */
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:3px}
.seg button{border:0;background:transparent;border-radius:9px;padding:.45rem 1rem;font-weight:600;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink)}
.seg .save{font-size:.72rem;margin-left:.35rem;background:var(--red);color:#fff;border-radius:999px;padding:.05rem .45rem}
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch}
.plan{display:flex;flex-direction:column;gap:.55rem;position:relative}
.plan.current{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 35%,transparent),var(--shadow)}
.plan .price{font-family:var(--mono);font-size:1.7rem;font-weight:700}
.plan .price small{font-size:.8rem;font-weight:500;color:var(--muted)}
.plan ul{list-style:none;padding:0;margin:.2rem 0;display:grid;gap:.3rem;font-size:.9rem;flex:1}
.plan ul li::before{content:"✓ ";color:var(--ok);font-weight:700}
.plan ul li.no{color:var(--muted)}.plan ul li.no::before{content:"– ";color:var(--muted)}
.ribbon{position:absolute;top:-.6rem;right:.8rem}
.banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;background:var(--warn-soft);color:var(--warn)}
.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.bad{background:var(--bad-soft);color:var(--bad)}

/* párbeszéd, értesítés */
.overlay{position:fixed;inset:0;background:rgba(15,20,22,.55);display:grid;place-items:center;padding:1rem;z-index:50}
.modal{background:var(--surface);border-radius:16px;max-width:460px;width:100%;padding:1.4rem;box-shadow:0 20px 60px rgba(0,0,0,.35);max-height:92vh;overflow:auto}
.sum{width:100%;border-collapse:collapse;margin:.6rem 0 .9rem}
.sum td{padding:.35rem 0;border-bottom:1px solid var(--border)}.sum td:last-child{text-align:right;font-family:var(--mono)}
.sum tr.total td{font-weight:700;font-size:1.1rem;border-bottom:0}
#toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:60;max-width:min(92vw,380px)}
.toast{background:var(--graphite);color:#fff;border-radius:12px;padding:.7rem .95rem;box-shadow:0 8px 24px rgba(0,0,0,.3);border-left:4px solid var(--brand);animation:in .2s ease-out}
.toast.bad{border-left-color:var(--red)}.toast.ok{border-left-color:#59C47A}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.skeleton{background:linear-gradient(90deg,var(--border),var(--bg),var(--border));background-size:200% 100%;animation:sh 1.2s infinite;border-radius:10px;min-height:1.2rem}
@keyframes sh{to{background-position:-200% 0}}

@media (max-width:980px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}}
@media (max-width:760px){.auth{grid-template-columns:1fr}.auth-brand{padding:1.6rem 1.2rem;gap:1rem}.auth-brand h1{font-size:1.6rem}.g2,.g3,.plans{grid-template-columns:1fr}.nav{order:3;flex:1 1 100%;margin:0;overflow:auto}.topbar-in{flex-wrap:wrap}.who span.email{display:none}.features{grid-template-columns:1fr}.tier-big{font-size:2rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* kapuoldal */
.portal-list{display:grid;gap:.6rem;margin-top:.8rem}
.portal-item{display:grid;gap:.1rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s,transform .08s}
.portal-item:hover{border-color:var(--brand);box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 25%,transparent)}
.portal-item b{font-family:var(--font-head);font-size:1.05rem;color:var(--brand)}

/* jogi oldalak */
.prose{max-width:50rem;margin:0 auto;line-height:1.65}
.prose h1{font-size:1.7rem;margin-bottom:.2em}.prose h2{font-size:1.15rem;margin:1.6em 0 .4em}.prose h3{font-size:1rem;margin:1.2em 0 .3em}
.prose p,.prose li{margin:0 0 .7em}.prose ul,.prose ol{padding-left:1.3rem}
.prose table{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:.92rem}
.prose th,.prose td{border:1px solid var(--border);padding:.45rem .6rem;text-align:left;vertical-align:top}.prose th{background:var(--bg)}
.prose .meta{color:var(--muted);font-size:.9rem}
mark.todo{background:#FFE58A;color:#4A3500;padding:0 .25em;border-radius:4px;font-weight:600}
@media (prefers-color-scheme:dark){mark.todo{background:#6B5410;color:#FFE9A8}}
.legal-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem;font-size:.85rem}

.tablewrap{overflow-x:auto;margin-top:.8rem}.dev-table{width:100%;border-collapse:collapse;font-size:.92rem}.dev-table th{text-align:left;font-weight:600;color:var(--muted);padding:.4rem .6rem;border-bottom:1px solid var(--border)}.dev-table td{padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:middle}.dev-actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}
.num{text-align:right;white-space:nowrap}.clickrow{cursor:pointer}.clickrow:hover td{background:var(--bg)}select{width:100%;padding:.62rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}.g3 .stat{display:grid;gap:.2rem}

.tabbar{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:.4rem}.tab{background:none;border:0;border-bottom:3px solid transparent;padding:.65rem .9rem;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}.tab:hover{color:var(--text)}.tab.on{color:var(--brand);border-bottom-color:var(--brand)}
.nav-summary{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.nav-tiles{margin-bottom:.6rem}.nav-tile b{font-size:1.7rem}.nav-tile.ok b{color:var(--ok)}.nav-tile.bad b{color:var(--bad)}.nav-tile.warn b{color:var(--warn)}
.chiprow{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0 .6rem}.chipbtn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.85rem;cursor:pointer}.chipbtn.on{background:var(--brand);border-color:var(--brand);color:#fff}
.nav-table tr.open td{background:var(--bg)}.detailrow td{padding:0!important;border-bottom:1px solid var(--border)}.nav-detail{padding:.8rem 1rem}.nav-dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:.4rem 0;font-size:.92rem}.nav-dl dt{color:var(--muted)}.nav-dl dd{margin:0;font-weight:600}
.nav-switch{border-left:6px solid var(--border)}.nav-switch.on{border-left-color:var(--ok)}.nav-switch-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.nav-switch-in p{margin:.3rem 0 0;max-width:46rem}
.check-list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.7rem}.check-list li{display:flex;gap:.7rem;align-items:flex-start}.check-list .ico{width:1.5rem;height:1.5rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--border);color:var(--muted);font-weight:800;flex:none}.check-list li.ok .ico{background:var(--ok-soft);color:var(--ok)}.check-list li.bad .ico{background:var(--bad-soft);color:var(--bad)}
.nav-empty{text-align:center;padding:2rem 1rem}.nav-empty p{max-width:34rem;margin:.4rem auto 1rem}.row-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.field .small{display:block;margin-top:.2rem}

/* ---- „expandable tabs” főmenü (az admin-konzollal azonos): színes ikon-csempék, az aktív kinyílik; hover-felirat a csempe fölött ---- */
.topbar{position:static;backdrop-filter:none;background:transparent;border-bottom:0}
.topbar-in{padding-bottom:.2rem}.topbar-in .who{margin-left:auto}
.dock{position:sticky;top:0;z-index:30;padding:.5rem 1rem .6rem;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px)}
.xtabs{display:flex;align-items:center;gap:10px;width:fit-content;max-width:1068px;margin:0 auto;padding:10px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);overflow-x:auto;scrollbar-width:none}
.xtabs::-webkit-scrollbar{display:none}
.xt{--w:150px;position:relative;display:flex;align-items:center;flex:none;width:50px;height:50px;border-radius:13px;overflow:hidden;color:#fff;text-decoration:none;cursor:pointer;transition:width .5s cubic-bezier(.34,1.45,.55,1),filter .15s}
.xt:hover{filter:brightness(1.1);color:#fff}.xt:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.xt[aria-current=page]{width:var(--w)}
.xt-i{display:grid;place-items:center;width:50px;height:50px;flex:none}.xt-i svg{width:22px;height:22px}
.xt[aria-current=page] .xt-i{animation:blurIn .25s ease-out}
.xt-l{color:#fff;font-weight:600;white-space:nowrap;margin:0 16px 0 -2px;opacity:0;transform:scaleX(.8);transform-origin:left center;transition:opacity .25s ease-out,transform .25s ease-out}
.xt[aria-current=page] .xt-l{opacity:1;transform:none;transition-delay:.08s}
@keyframes blurIn{from{filter:blur(10px)}to{filter:blur(0)}}
.xt-tip{position:fixed;z-index:90;left:0;top:0;pointer-events:none;padding:7px 13px;border-radius:10px;color:#fff;font-weight:650;font-size:13px;letter-spacing:.01em;white-space:nowrap;background:#334155;box-shadow:0 10px 28px rgba(8,12,24,.32),0 0 0 1px rgba(255,255,255,.12) inset;opacity:0;transform:translateY(8px) scale(.94);transform-origin:var(--ax,50%) 100%;transition:opacity .16s ease-out,transform .22s cubic-bezier(.34,1.45,.55,1)}
.xt-tip.on{opacity:1;transform:none}
.xt-tip::after{content:"";position:absolute;left:var(--ax,50%);bottom:-5px;width:11px;height:11px;background:inherit;border-radius:2px;transform:translateX(-50%) rotate(45deg)}
.xt-tip.below{transform:translateY(-8px) scale(.94);transform-origin:var(--ax,50%) 0}.xt-tip.below.on{transform:none}.xt-tip.below::after{bottom:auto;top:-5px}
@media (hover:none){.xt-tip{display:none}}
@media (max-width:760px){.dock{padding:.4rem .6rem .5rem}.xtabs{max-width:100%;width:100%;gap:8px}.topbar-in .who .email{display:none}}
@media (max-width:520px){.xt[aria-current=page]{width:50px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}.xt-l{display:none}}
@media (prefers-reduced-motion:reduce){.xt,.xt-l,.xt-tip{transition:none!important;animation:none!important}.xt-i{animation:none!important}}

/* ---- felfüggesztett fiók: egyértelmű, tartós jelzés minden oldal tetején ---- */
.banner-suspended{max-width:1068px;margin:.2rem auto .4rem;padding:.8rem 1rem;border-radius:14px;background:#7f1d1d;color:#fff;border:1px solid #b91c1c;box-shadow:var(--shadow);line-height:1.45}
.banner-suspended b{display:block;font-size:1.02rem;margin-bottom:.15rem}
@media (max-width:1100px){.banner-suspended{margin-left:1rem;margin-right:1rem}}
/* ---- függő fióktörlés: tartós, de nem riasztó jelzés (visszavonható) ---- */
.banner-deletion{max-width:1068px;margin:.2rem auto .4rem;padding:.7rem 1rem;border-radius:14px;background:#fef3c7;color:#78350f;border:1px solid #f59e0b;line-height:1.45}
.banner-deletion a{color:inherit;font-weight:700;text-decoration:underline}
@media (prefers-color-scheme:dark){.banner-deletion{background:#451a03;color:#fde68a;border-color:#b45309}}
@media (max-width:1100px){.banner-deletion{margin-left:1rem;margin-right:1rem}}

/* =====================================================================================================================
   lnyugta.hu arculat (v2) — a nyilvános oldal tokenjei és komponensei: krém háttér, navy szöveg, kék "élű" gombok, matricás kártyák,
   Bricolage Grotesque címek + Figtree szöveg. A fenti szabályokat felülírja (a forrásban később van). A menü marad, csak a stílusa igazodik.
   ===================================================================================================================== */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root,:root:root{
  --brand:#2B5FA8; --brand-ink:#fff; --brand-soft:#E6F0FF; --edge:#1B4079; --kassza:#17796F; --kassza-deep:#0F4F48;
  --red:#DC2319; --red-deep:#A8160F; --navy:#0E1E3D; --sun:#FFC533; --mint:#38C6A4; --graphite:#0E1E3D;
  --bg:#FFF8EE; --surface:#fff; --text:#0E1E3D; --muted:#4A5878; --border:#DCE4F2;
  --ok:#0F7A5C; --ok-soft:#D9F5EC; --warn:#8A5A00; --warn-soft:#FFF1CC; --bad:#A8160F; --bad-soft:#FDE6E4;
  --shadow:0 1px 0 #DCE4F2,0 18px 30px -22px rgba(14,30,61,.38); --radius:20px;
  --font-head:'Bricolage Grotesque','Trebuchet MS',system-ui,sans-serif; --font:'Figtree',system-ui,'Segoe UI',sans-serif; --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.3,1.45,.5,1); color-scheme:light;
}
body{font:400 16px/1.6 var(--font);background-color:var(--bg);background-image:radial-gradient(rgba(14,30,61,.075) 2px,transparent 2.5px);background-size:40px 40px;background-attachment:fixed;color:var(--text)}
h1,h2,h3{font-family:var(--font-head);font-weight:800;letter-spacing:-.025em;line-height:1.08;color:var(--navy)}
h1{font-size:2.15rem}h2{font-size:1.4rem}h3{font-size:1.12rem}
a{color:var(--brand);font-weight:600}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:10px}
.muted{color:var(--muted)}

/* gombok: egy rendszer — kék + kemény "él" alul, emelkedik hoverre, benyomódik kattintásra */
.btn{height:46px;padding:0 20px;border:0;border-radius:14px;font:700 15px/1 var(--font);letter-spacing:.005em;gap:.55rem;white-space:nowrap;
  box-shadow:0 4px 0 var(--edge),0 12px 20px -12px rgba(43,95,168,.55);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .15s}
.btn:hover:not([disabled]){transform:translateY(-3px);box-shadow:0 7px 0 var(--edge),0 18px 24px -14px rgba(43,95,168,.55)}
.btn:active:not([disabled]){transform:translateY(3px);box-shadow:0 1px 0 var(--edge),0 4px 10px -6px rgba(43,95,168,.5);transition-duration:.06s}
.btn[disabled]{box-shadow:0 4px 0 var(--edge);filter:grayscale(.3)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover:not([disabled]){box-shadow:0 7px 0 var(--edge),0 18px 24px -14px rgba(43,95,168,.55)}
.btn-ghost{background:#fff;color:var(--brand);box-shadow:inset 0 0 0 2px var(--border),0 4px 0 #C5D3EC}
.btn-ghost:hover:not([disabled]){background:var(--brand-soft);border-color:transparent;box-shadow:inset 0 0 0 2px var(--brand),0 7px 0 #C5D3EC}
.btn-ghost:active:not([disabled]){box-shadow:inset 0 0 0 2px var(--brand),0 1px 0 #C5D3EC}
.btn-danger{background:#fff;color:var(--red-deep);border:0;box-shadow:inset 0 0 0 2px #F3B7B2,0 4px 0 #EFC4C0}
.btn-danger:hover:not([disabled]){background:var(--bad-soft);box-shadow:inset 0 0 0 2px var(--red),0 7px 0 #EFC4C0}
.btn-sm{height:38px;padding:0 15px;font-size:14px;border-radius:12px;box-shadow:0 3px 0 var(--edge),0 10px 16px -12px rgba(43,95,168,.5)}
.btn-sm.btn-ghost{box-shadow:inset 0 0 0 2px var(--border),0 3px 0 #C5D3EC}
.btn-sm.btn-danger{box-shadow:inset 0 0 0 2px #F3B7B2,0 3px 0 #EFC4C0}
.btn-block{width:100%}

/* felső sáv + lábléc */
.topbar-in{max-width:1100px}
.logo{height:34px}
.who{color:var(--muted);font-weight:600}
.who b{color:var(--navy);font-family:var(--font-head);font-size:1.02rem}
main{padding-top:1.6rem}
footer.foot{max-width:none;margin:2.5rem 0 0;padding:1.6rem 1rem;background:var(--navy);color:#B9C8E6;border-top:0;text-align:center;font-size:.86rem}
footer.foot a{color:#fff;font-weight:600}
footer.foot .mono{color:#fff}
footer.foot .dot{background:var(--red);vertical-align:middle}

/* kártyák: fehér, vékony keret, lágy árnyék; a kiemeltek "matricák" kemény navy árnyékkal */
.card{border-radius:22px;padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow)}
.card h2{margin-bottom:.5em}
.page-head h1{margin-bottom:.15em}
.chip{background:var(--brand-soft);color:var(--brand);font-weight:700;padding:.25rem .8rem}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}
.stat{border-radius:16px;border:2px solid var(--border);background:#fff}
.stat b{font-family:var(--font-head);font-weight:800;color:var(--navy)}
.tier-big{font-family:var(--font-head);font-weight:800;color:var(--brand);font-size:2.8rem;letter-spacing:-.035em}

/* áttekintés: a kassza-termékszínű hero (mint az lnyugta.hu termékoldalain) */
.hero{position:relative;overflow:hidden;background:var(--kassza);color:#fff;border:0;border-radius:26px;padding:1.8rem 2rem;
  box-shadow:0 6px 0 var(--kassza-deep),0 26px 40px -26px rgba(23,121,111,.65)}
.hero::before{content:"";position:absolute;right:-70px;top:-70px;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.1)}
.hero::after{content:"";position:absolute;left:44%;bottom:-18px;width:170px;height:110px;background-image:radial-gradient(circle,rgba(255,255,255,.4) 1.7px,transparent 1.9px);background-size:17px 17px}
.hero>*{position:relative;z-index:1}
.hero .muted,.hero .small{color:rgba(255,255,255,.86)}
.hero .tier-big{color:#fff;font-size:3.1rem}
.hero .chip{background:rgba(255,255,255,.2);color:#fff}
.hero .btn-primary{background:#fff;color:var(--brand);--edge:#B9C9E6;box-shadow:0 4px 0 #B9C9E6,0 12px 20px -12px rgba(14,30,61,.5)}
.hero .btn-primary:hover:not([disabled]){box-shadow:0 7px 0 #B9C9E6,0 18px 24px -14px rgba(14,30,61,.5)}
.hero .stat{background:#fff;border:2px solid var(--navy);box-shadow:5px 6px 0 var(--navy);color:var(--navy)}
.hero .stat .muted,.hero .stat .small{color:var(--muted)}
.timeline .tl{border-radius:14px;border:2px solid var(--border);border-left:6px solid var(--brand)}
.timeline .tl.now{border-color:var(--navy);border-left-color:var(--red);box-shadow:4px 5px 0 var(--navy)}
.tick.y{background:var(--ok-soft);color:var(--ok)}
.codebox{border:2px dashed #B9C9E6;border-radius:16px;background:#fff}

/* belépés / regisztráció / kapuoldal */
.auth{background:transparent}
.auth-brand{position:relative;overflow:hidden;background:var(--kassza);gap:2rem}
.auth-brand::before{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.1)}
.auth-brand::after{content:"";position:absolute;left:8%;bottom:-24px;width:220px;height:130px;background-image:radial-gradient(circle,rgba(255,255,255,.4) 1.7px,transparent 1.9px);background-size:17px 17px}
.auth-brand>*{position:relative;z-index:1}
.auth-brand h1{font-family:var(--font-head);font-weight:800;letter-spacing:-.035em;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.02;max-width:14ch;color:#fff}
.auth-brand p{font-size:1.1rem;color:rgba(255,255,255,.92)}
.auth-points li::before{background:var(--sun);box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.promo-pill{background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:14px;font-weight:700;box-shadow:4px 5px 0 var(--navy)}
.auth-form-wrap{background:transparent}
.auth-card{border:2px solid var(--navy);border-radius:26px;box-shadow:10px 12px 0 var(--navy);padding:1.8rem}
.tabs{background:var(--brand-soft);border:0;border-radius:16px;padding:4px}
.tabs button{border-radius:12px;font-weight:700;padding:.6rem}
.tabs button[aria-selected=true]{background:#fff;color:var(--navy);box-shadow:0 2px 0 #B9C9E6}
.field label,.label{color:var(--navy);font-weight:700;font-size:.88rem}
.field input[type=text],.field input[type=email],.field input[type=password],select{min-height:46px;padding:.6rem .9rem;border:2px solid var(--border);border-radius:13px;background:#fff;font-size:1rem}
.field input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(43,95,168,.16);outline:none}
.radios label{border:2px solid var(--border);border-radius:13px;font-weight:600}
.radios label:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.form-error{border-radius:13px;font-weight:600}
.portal-item{border:2px solid var(--border);border-radius:16px;box-shadow:0 4px 0 #DCE4F2;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .15s}
.portal-item:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 7px 0 #C5D3EC}
.portal-item b{font-family:var(--font-head);color:var(--navy);font-size:1.15rem}

/* előfizetés */
.seg{background:var(--brand-soft);border:0;border-radius:16px;padding:4px}
.seg button{border-radius:12px;font-weight:700;padding:.55rem 1.1rem}
.seg button[aria-pressed=true]{background:var(--brand);color:#fff;box-shadow:0 3px 0 var(--edge)}
.plan{border-radius:24px}
.plan.current{border:2px solid var(--navy);box-shadow:8px 10px 0 var(--navy)}
.plan .price{font-family:var(--font-head);font-weight:800;font-size:2.1rem;letter-spacing:-.03em;color:var(--navy)}
.plan ul li::before{color:var(--ok)}
.ribbon{transform:rotate(3deg)}
.banner{border-radius:16px;font-weight:600}

/* menü ("expandable tabs"): a szerkezet és a viselkedés marad, a stílus a matricás chip-ekhez igazodik */
.dock{background:transparent;backdrop-filter:none}
.xtabs{border:2px solid var(--navy);border-radius:22px;background:#fff;box-shadow:0 5px 0 var(--navy);padding:9px 11px;gap:9px}
.xt{border-radius:14px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.xt:hover{filter:brightness(1.08)}
.xt-l{font-family:var(--font-head);font-weight:800;letter-spacing:-.01em;font-size:1rem}
.xt-tip{background:var(--navy);border-radius:11px;font-weight:700}

/* tábla, fülek, párbeszéd, értesítés */
.dev-table th{color:var(--muted);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.clickrow:hover td{background:var(--brand-soft)}
.tab{font-weight:700}.tab.on{color:var(--brand)}
.chipbtn{border:2px solid var(--border);font-weight:700}.chipbtn.on{background:var(--brand);border-color:var(--brand)}
.overlay{background:rgba(14,30,61,.55)}
.modal{border:2px solid var(--navy);border-radius:26px;box-shadow:10px 12px 0 var(--navy)}
.toast{background:var(--navy);border-radius:14px;border-left:5px solid var(--brand);font-weight:600}
.toast.ok{border-left-color:var(--mint)}.toast.bad{border-left-color:var(--red)}
.banner-suspended{border-radius:18px;background:var(--red-deep);border-color:var(--red)}
.banner-deletion{border-radius:18px;background:var(--warn-soft);color:var(--warn);border:2px solid var(--sun)}

/* jogi oldalak */
.prose{line-height:1.7}
.prose h1{font-size:2.3rem}.prose h2{font-size:1.35rem;margin:1.8em 0 .45em}
.prose th{background:var(--brand-soft);color:var(--navy)}
.prose th,.prose td{border-color:var(--border)}
.card.prose{border:2px solid var(--navy);box-shadow:8px 10px 0 var(--navy)}
mark.todo{background:var(--sun);color:var(--navy)}
@media (max-width:760px){h1{font-size:1.8rem}.hero{padding:1.4rem 1.2rem}.hero .tier-big{font-size:2.4rem}.auth-card{box-shadow:6px 8px 0 var(--navy)}.card.prose{box-shadow:5px 6px 0 var(--navy)}}
@media (prefers-reduced-motion:reduce){.btn:hover,.portal-item:hover{transform:none}}

/* a világos arculathoz mindig a világos logó (a sötét mód nem érinti) */
.logo-light{display:block!important}.logo-dark{display:none!important}

/* ===== Termékek (karbantartó): nyugodt, lapos, kompakt munkafelület — nincs 3D-gomb, nincs vastag navy keret ===== */
.pm{--pm-line:var(--border,#d9e0ea);--pm-muted:var(--muted,#5b6b7f)}
.pm .btn{height:32px;padding:0 12px;font-size:13px;font-weight:600;border-radius:8px;gap:.4rem;box-shadow:none;border:1px solid var(--pm-line);transform:none}
.pm .btn:hover:not([disabled]),.pm .btn:active:not([disabled]){transform:none;box-shadow:none}
.pm .btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.pm .btn-primary:hover:not([disabled]){filter:brightness(1.07)}
.pm .btn-ghost{background:#fff;color:var(--text);box-shadow:none}
.pm .btn-ghost:hover:not([disabled]){background:var(--brand-soft);border-color:var(--pm-line);box-shadow:none}
.pm .btn-danger{background:#fff;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,#fff);box-shadow:none}
.pm .btn-danger:hover:not([disabled]){background:var(--bad-soft);box-shadow:none}
.pm .btn-sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:7px}
.pm input:not([type=checkbox]):not([type=color]),.pm select{height:34px;padding:0 10px;font-size:14px;border-radius:8px;border:1px solid var(--pm-line);background:#fff;box-shadow:none;width:100%}
.pm input:focus,.pm select:focus{outline:2px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:0;border-color:var(--brand)}
.pm h1{font-size:1.5rem;margin:0}
.pm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem}
.pm-btns{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.pm-trash{display:inline-flex;align-items:center;gap:.4rem}.pm-trash-i{display:inline-grid;place-items:center}.pm-trash-i svg{width:17px;height:17px}
.pm-trash-n{display:inline-block;min-width:19px;height:19px;line-height:19px;padding:0 5px;border-radius:999px;background:var(--red,#B33A3A);color:#fff;font-size:11px;font-weight:700;text-align:center}
.pm-pub{display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--pm-line);border-radius:10px;background:#fafbfd;margin-bottom:.7rem;font-size:13.5px}
.pm-pub-pending{background:#fff7e6;border-color:#f0c36d}
.pm-bar{display:flex;gap:.5rem 1rem;align-items:center;flex-wrap:wrap;margin-bottom:.7rem}
.pm-bar .pm-search{flex:1 1 240px;max-width:360px;width:auto}
.pm-bar select{width:auto;min-width:150px;max-width:220px}
.pm-right{margin-left:auto}
.pm-card{background:#fff;border:1px solid var(--pm-line);border-radius:12px;overflow:hidden}
.pm-tw{overflow-x:auto}
.pm-table{width:100%;border-collapse:collapse;font-size:14px}
.pm-table th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--pm-muted);font-weight:700;text-align:left;padding:9px 12px;border-bottom:1px solid var(--pm-line);background:color-mix(in srgb,var(--brand-soft) 55%,#fff);white-space:nowrap}
.pm-table td{padding:9px 12px;border-bottom:1px solid var(--pm-line);vertical-align:top}
.pm-table tr:last-child td{border-bottom:0}
.pm-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.pm-row{cursor:pointer}
.pm-row:hover td{background:color-mix(in srgb,var(--brand-soft) 45%,#fff)}
.pm-off td{opacity:.6}
.pm-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pm-dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.22);flex:none}
.pm-star{color:#e0912a}
.pm-vars{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.pm-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:1px 8px;border:1px solid var(--pm-line);border-radius:99px;background:#fff;color:var(--pm-muted)}
.pm-chip-off{text-decoration:line-through;opacity:.6}
.pm-act{text-align:right;white-space:nowrap}
.pm-act .btn{margin-left:4px}
.pm-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;position:relative}
.pm-switch input{position:absolute;opacity:0;width:0;height:0}
.pm-track{width:34px;height:20px;border-radius:99px;background:#c5cedb;position:relative;transition:background .15s;flex:none}
.pm-track:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.pm-switch input:checked+.pm-track{background:var(--brand)}
.pm-switch input:checked+.pm-track:after{left:16px}
.pm-switch input:focus-visible+.pm-track{outline:2px solid var(--brand);outline-offset:2px}
.pm-ov{position:fixed;inset:0;background:rgba(20,30,50,.35);z-index:60;display:flex;justify-content:flex-end}
.pm-drawer{width:min(580px,100vw);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.18);animation:pmIn .16s ease-out}
@keyframes pmIn{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
.pm-dh{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--pm-line)}
.pm-dh h2{margin:0;font-size:1.1rem}
.pm-db{flex:1;overflow:auto;padding:16px 18px}
.pm-df{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--pm-line);background:#fafbfd}
.pm-g2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.pm-full{grid-column:1/-1}
.pm-l{display:block;font-size:12px;font-weight:600;color:var(--pm-muted);margin-bottom:4px}
.pm-sec{margin-top:20px;padding-top:14px;border-top:1px solid var(--pm-line)}
.pm-sec h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--pm-muted);margin:0 0 8px}
.pm-drawer .check{display:flex;gap:6px;align-items:center;margin:0;font-size:12px}
.modal.pm{border:1px solid var(--pm-line,#d9e0ea);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.25);max-width:560px}
.modal.pm h2{font-size:1.1rem}
@media (max-width:560px){.pm-g2{grid-template-columns:1fr}.pm-bar .pm-search{max-width:none}.pm-right{margin-left:0}.pm-act .btn{margin:2px 0 0 4px}}

/* ===== Számlák (értékesítési számlák a vevőknek) ===== */
.inv-in{width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;min-width:0}
.inv-in:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
.inv-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:.8rem 0 .2rem}.inv-toolbar .inv-in{flex:1 1 220px;max-width:420px}
.inv-row{cursor:pointer}.inv-row:hover,.inv-row:focus{background:color-mix(in srgb,var(--brand) 7%,transparent);outline:none}
.inv-top{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:.8rem}.inv-num{font-size:1.15rem;font-weight:700}
.inv-box{border:1px solid var(--border);border-radius:12px;padding:.7rem .9rem;margin:.8rem 0;display:grid;gap:.15rem}
.inv-kv{display:flex;justify-content:space-between;gap:1rem;padding:.12rem 0}.inv-grand{font-size:1.1rem;border-top:1px solid var(--border);margin-top:.25rem;padding-top:.4rem}
.inv-sum{margin:.6rem 0;max-width:340px;margin-left:auto}
.inv-h{font-size:.95rem;margin:1.1rem 0 .4rem}
.inv-lines{display:grid;gap:.6rem}.inv-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,1.8fr) 38px;gap:.45rem;align-items:end;border:1px solid var(--border);border-radius:12px;padding:.6rem}
.inv-name{grid-column:1/-1}.inv-cap{display:grid;gap:.2rem;min-width:0}.inv-del{align-self:end;height:38px}
@media (max-width:520px){.inv-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.inv-del{grid-column:1/-1;justify-self:end}}
.inv-check{list-style:none;margin:.2rem 0 .6rem;padding:0;display:grid;gap:.3rem}.inv-check li{color:var(--muted)}.inv-check li.ok{color:var(--ok);font-weight:600}
.pm-acts{display:flex;gap:.4rem;flex-wrap:wrap}
/* Partner-adatok: állapot-sor, partner-választó */
.pa-status{min-height:1.1em;margin:-.3rem 0 .7rem}.pa-status[data-kind=ok]{color:var(--ok)}.pa-status[data-kind=warn]{color:var(--warn)}.pa-status[data-kind=busy]{color:var(--muted)}
.pa-list{display:grid;gap:.35rem;margin-top:.4rem}.pa-item{display:grid;gap:.1rem;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:.5rem .7rem;font:inherit;cursor:pointer}.pa-item:hover{border-color:var(--brand)}

/* Belépő / regisztrációs oldal — csatorna-érzékeny márka-panel, nyugta-matrica */
.auth-brand .logo{height:46px;align-self:flex-start}
.auth-brand{padding-top:2.4rem;padding-bottom:2.8rem;gap:1.4rem}
.auth-chip{display:inline-block;margin:0 0 1.1rem;padding:.4rem .85rem;background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:999px;font-weight:800;font-size:.86rem;box-shadow:3px 4px 0 var(--navy);transform:rotate(-1.6deg)}
.auth-brand p{max-width:44ch}
.auth-brand h1{font-size:clamp(2rem,3.9vw,3.1rem);max-width:15ch;line-height:1.05}
.auth-points{gap:.9rem;margin-top:1.4rem}
.auth-points li{align-items:center;font-size:1.03rem;font-weight:600;line-height:1.35}
.auth-points li::before{content:"✓";display:grid;place-items:center;flex:none;width:1.5rem;height:1.5rem;margin:0;border-radius:50%;background:var(--sun);color:var(--navy);font-weight:900;font-size:.85rem;box-shadow:2px 2px 0 var(--navy)}
.auth-foot{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.auth-receipt{width:min(310px,100%);background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:16px;padding:1rem 1.15rem 1.05rem;box-shadow:7px 8px 0 var(--navy);transform:rotate(-2.2deg);font-family:var(--mono);font-size:.8rem}
.auth-receipt .rc-fej{font-family:var(--font-head);font-weight:800;font-size:1.1rem;letter-spacing:-.02em}
.auth-receipt .rc-kicsi{color:#4A5878;font-size:.72rem;margin-top:.1rem}
.auth-receipt .rc-vonal{border-top:2px dashed #C9D3E6;margin:.65rem 0}
.auth-receipt .rc-sor{display:flex;gap:.6rem;justify-content:space-between;align-items:baseline;padding:.14rem 0}
.auth-receipt .rc-sor .rc-q{margin-left:auto;color:#4A5878}
.auth-receipt .rc-ossz{font-size:1.02rem;font-weight:800}
.auth-receipt .rc-allapot{display:flex;justify-content:space-between;gap:.6rem;margin-top:.7rem;padding-top:.6rem;border-top:2px dashed #C9D3E6;font-weight:800;color:#1A7F3C;font-size:.76rem}
@media (max-width:760px){.auth-receipt{display:none}.auth-brand .logo{height:36px}.auth-chip{margin-bottom:.8rem}.auth-points{margin-top:1rem}}

/* ===== Tömeges árazás, Excel-import, Készlet (portal-bulk.js, portal-stock.js) ===== */
.pm-sel{width:34px;padding-right:0!important;text-align:center}
.pm-sel input{width:17px;height:17px;accent-color:var(--brand);cursor:pointer}
.pm-selbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 35%,#fff);border-radius:12px;padding:.5rem .8rem;margin-bottom:.7rem}
.pm-selbar[hidden]{display:none}
.modal.bk-modal,.modal.st-modal{max-width:760px}
.bk h3,.st-dlg h3{font-size:.98rem;margin:.9rem 0 .35rem}
.bk-sec{border:1px solid var(--pm-line,#d9e0ea);border-radius:12px;padding:.1rem .9rem .8rem;margin-top:.7rem}
.bk-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.bk-row select,.bk-row input{width:auto;min-width:0}
.bk-out{margin-top:.8rem}
.bk-out.bk-stale{opacity:.45}
.bk-tw{max-height:260px;overflow:auto;border:1px solid var(--pm-line,#d9e0ea);border-radius:10px;margin-top:.5rem}
.bk-tw .pm-table th{position:sticky;top:0}
.bk-up{color:var(--bad);font-weight:700}.bk-down{color:var(--ok);font-weight:700}
.bk-hist{margin-top:1rem;border-top:1px solid var(--pm-line,#d9e0ea);padding-top:.2rem}
.bk-hrow{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--pm-line,#d9e0ea);font-size:.88rem}
.bk-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0}
.chip.bk-new{background:var(--ok-soft);color:var(--ok)}.chip.bk-upd{background:var(--brand-soft);color:var(--brand)}.chip.bk-same{background:var(--border);color:var(--muted)}.chip.bk-err{background:var(--bad-soft);color:var(--bad)}
.bk-errbox{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:.6rem .9rem;margin:.5rem 0;font-size:.88rem}
.bk-errbox ul{margin:.3rem 0 0;padding-left:1.1rem}
.st-sum{display:flex;gap:.4rem;flex-wrap:wrap;margin-left:auto}
.st-table td{vertical-align:middle}
.st-qty b{font-size:1.05rem}.st-qty.neg b{color:var(--bad)}
.st-low td{background:color-mix(in srgb,var(--bad-soft) 55%,#fff)}
.st-min{width:5.6rem;text-align:right;padding:.3rem .45rem!important;height:auto!important}
.st-empty{padding:1.4rem 1.6rem}
.st-rows{display:grid;gap:.5rem;margin:.6rem 0}
.st-row{display:grid;grid-template-columns:minmax(160px,2fr) 7.5rem 2.2rem minmax(120px,1.4fr) auto auto;gap:.4rem;align-items:center}
.st-row select,.st-row input{width:100%;min-width:0}
.st-qin{width:7rem;text-align:right}
.st-dlg input[type=search].pm-search{max-width:none;width:100%}
@media (max-width:640px){.st-row{grid-template-columns:1fr 6rem auto}.st-row .st-note,.st-row .st-unit{grid-column:1/-1}.pm-selbar .btn{flex:1 1 auto}}
.bk .check,.st-dlg .check{display:flex;align-items:center;gap:.55rem;margin:.35rem 0;font-weight:500;cursor:pointer}
.bk .check input,.st-dlg .check input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--brand)}
.bk .check span{flex:1 1 auto;text-align:left}
.pm .check input[type=radio],.pm .check input[type=checkbox]{width:18px!important;height:18px!important;padding:0!important;flex:none;margin:0;accent-color:var(--brand)}
.pm .st-min{width:5.6rem!important;text-align:right;height:30px!important}
.pm .st-qin{width:7rem!important;text-align:right}
.st-row .st-qin{width:100%!important}

/* ---------- Jelentések (portal-reports.js) ---------- */
.rp .rp-filter{margin-bottom:.4rem}
.rp-bar-row{display:flex;gap:.6rem 1rem;align-items:flex-end;flex-wrap:wrap;margin:.5rem 0}
.rp-bar-row .pm-search{flex:1 1 220px;max-width:340px;width:auto}
.rp-bar-row select{width:auto;min-width:170px;max-width:280px}
.rp-grow{flex:1 1 auto}
.rp-f{display:grid;gap:.2rem}
.rp-f input,.rp-f select{width:auto;min-width:150px}
.rp-tabs{overflow-x:auto;margin:.6rem 0 1rem;scrollbar-width:thin}
.rp-tabs button{flex:1 0 auto;white-space:nowrap;padding-inline:1rem}
.rp-body{min-height:8rem}
.rp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-bottom:1rem}
.rp-kpi{background:#fff;border:1px solid var(--pm-line);border-radius:12px;padding:.9rem 1rem;display:grid;gap:.25rem;align-content:start}
.rp-kpi b{font-size:1.5rem;font-family:var(--font-head);line-height:1.15}
.rp-card{padding:1rem 1.1rem;margin-bottom:1rem}
.rp-card h3,.rp h3{margin:0 0 .6rem;font-size:1rem}
.rp-card .pm-tw{margin:0 -.2rem}
.rp-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.rp-note{font-size:.85rem;color:var(--pm-muted);margin:.6rem 0 0}
.rp-empty{font-weight:700;margin:0 0 .3rem}
.rp-actions{margin-top:.7rem;display:flex;gap:.5rem;flex-wrap:wrap}
.rp-total td{font-weight:700;background:color-mix(in srgb,var(--brand-soft) 45%,#fff)}
.rp-rec{font-size:.85rem;color:var(--pm-muted)}
.rp-dayrow{padding:.65rem 0;border-top:1px solid var(--pm-line)}
.rp-dayrow:first-child{border-top:0;padding-top:0}
.rp-dayhead{display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline}
.rp-dayhead b{min-width:6.5rem}
.rp-dayrow .rp-rec{margin:.25rem 0 0}
.rp-share{white-space:nowrap}
.rp-share-bar{display:inline-block;height:8px;border-radius:4px;background:var(--brand);vertical-align:middle;margin-right:.4rem;max-width:36px}
.rp-chart{width:100%;height:auto;display:block}
.rp-grid{stroke:var(--pm-line);stroke-width:1}
.rp-axis{stroke:var(--pm-muted);stroke-width:1}
.rp-yl,.rp-xl{font-size:11px;fill:var(--pm-muted)}
.rp-bar{fill:var(--brand)}
.rp-bar:hover{fill:var(--edge)}
.rp-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.rp-line.rp-la{stroke:var(--brand)}.rp-line.rp-lb{stroke:#E08A00;stroke-dasharray:6 4}
.rp-dot.rp-la{fill:var(--brand)}.rp-dot.rp-lb{fill:#E08A00}
.rp-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.rp-key{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9rem}
.rp-key::before{content:'';width:16px;height:4px;border-radius:2px}
.rp-key.rp-la::before{background:var(--brand)}.rp-key.rp-lb::before{background:#E08A00}
.rp-heat{border-collapse:separate;border-spacing:2px;font-size:12px;width:100%}
.rp-heat th{font-weight:600;color:var(--pm-muted);padding:2px 4px;text-align:center}
.rp-heat tbody th{text-align:left;white-space:nowrap;padding-right:.6rem}
.rp-hc{text-align:center;min-width:30px;height:30px;border-radius:6px;background:#EEF3F3;color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}
.rp-hc.on{background:color-mix(in srgb,var(--brand) calc(14% + var(--i,0) * 86%),#EEF3F3)}
.rp-cmp-ctl{display:flex;gap:.6rem 1rem;flex-wrap:wrap;align-items:flex-end}
.rp-cmp-head{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-bottom:1rem}
.rp-side{background:#fff;border:1px solid var(--pm-line);border-top:4px solid var(--brand);border-radius:12px;padding:.9rem 1rem;display:grid;gap:.25rem}
.rp-side.rp-sb{border-top-color:#E08A00}
.rp-side-n{font-size:1.5rem;font-weight:800;font-family:var(--font-head)}
.rp-vs{display:grid;gap:.4rem;justify-items:center;text-align:center}
.rp-vs .rp-delta{justify-self:center;justify-content:center}
.rp-dl-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding:.7rem 0;border-top:1px solid var(--pm-line)}
.rp-dl-row p{margin:.15rem 0 0}
.rp-dl-btns{display:flex;gap:.4rem}
.rp-delta{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-self:start}
.rp-printhead{display:none}
.xtabs{max-width:min(1068px,100%)}
@media (max-width:860px){.rp-g2{grid-template-columns:1fr}.rp-cmp-head{grid-template-columns:1fr}}
@media print{
  .topbar,.dock,.rp-noprint,.rp-tabs,#toasts,.lkt-root{display:none!important}
  body{background:#fff}
  .rp-printhead{display:block;margin-bottom:.6rem}
  .rp-printhead h2{margin:0}
  .rp-card,.rp-kpi,.rp-side{box-shadow:none;break-inside:avoid}
}
