/* Mors dizájnrendszer
   Padlizsán + sáfrány fehér alapon. Unbounded: árak, időpontok, szóvédjegy. Instrument Sans: minden más.
   Árnyék csak lebegő elemen (alsó sáv, lap, értesítés). A listák sorokból állnak, nem egyforma kártyákból. */
@font-face{font-family:"Unbounded";font-weight:600;font-display:swap;src:url(vendor/fonts2/unbounded-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Unbounded";font-weight:600;font-display:swap;src:url(vendor/fonts2/unbounded-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(vendor/fonts2/unbounded-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(vendor/fonts2/unbounded-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument";font-weight:400;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Instrument";font-weight:400;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument";font-weight:500;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Instrument";font-weight:500;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument";font-weight:600;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Instrument";font-weight:600;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument";font-weight:700;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Instrument";font-weight:700;font-display:swap;src:url(vendor/fonts2/instrument-sans-latin-700-normal.woff2) format("woff2")}

:root{
  --paper:#FFFFFF; --mist:#F4F1F5; --mist-2:#E9E3EB; --line:#ECE6EE;
  --plum:#3D1D3B; --plum-2:#5A2F57; --plum-soft:#F1E8F0;
  --saffron:#F2B417; --saffron-soft:#FDF2D2; --saffron-ink:#4A3500;
  --ink:#241823; --ink-2:#605562; --ink-3:#958B97;
  --leaf:#2F7D4F; --leaf-soft:#E2F1E7; --brick:#B8442E; --brick-soft:#F8E5E0;
  --t-lav:#ECE6F5; --t-peach:#FBE7DA; --t-pink:#F8E1E6; --t-sand:#F3ECDF; --t-sky:#E2ECF5; --t-mint:#E1F1E8; --t-yellow:#FAF0CF; --t-lilac:#ECE8EE;
  --deep:#3D1D3B; --deep-2:#552A52; --gold:#F2B417; --gold-ink:#3A2900;   /* márkaszínek, témától függetlenül (fehér szöveg alatt) */
  --r-photo:20px; --r-sheet:28px; --r-ctl:14px;
  --float:0 12px 40px rgba(36,24,35,.14),0 2px 6px rgba(36,24,35,.05);
  --fs:16px; color-scheme:light;
  /* régi nevek a partner/admin kódhoz */
  --bg:var(--paper); --card:var(--paper); --muted:var(--ink-2); --brand:var(--plum); --brand-ink:#fff; --brand-soft:var(--plum-soft);
  --save:var(--leaf); --save-soft:var(--leaf-soft); --bad:var(--brick); --bad-soft:var(--brick-soft); --warn:#8A6100; --warn-soft:var(--saffron-soft);
}
:root[data-size="large"]{--fs:18.5px}
:root[data-theme="dark"]{
  --paper:#16101A; --mist:#221A26; --mist-2:#2E2533; --line:#2E2533;
  --plum:#E7C3E2; --plum-2:#F3DDF0; --plum-soft:#34233A;
  --saffron:#F5C24A; --saffron-soft:#3A2E12; --saffron-ink:#2A1E00;
  --ink:#F5EFF6; --ink-2:#C6BAC9; --ink-3:#8F8394;
  --leaf:#6CCB94; --leaf-soft:#173024; --brick:#FF8B73; --brick-soft:#3A1E19;
  --t-lav:#2A2236; --t-peach:#33241E; --t-pink:#33212A; --t-sand:#2E281F; --t-sky:#1E2833; --t-mint:#1B2C24; --t-yellow:#302A17; --t-lilac:#2A242E;
  --float:0 12px 40px rgba(0,0,0,.55); color-scheme:dark; --brand-ink:#16101A;
}
@media (prefers-color-scheme:dark){:root[data-theme="auto"]{
  --paper:#16101A; --mist:#221A26; --mist-2:#2E2533; --line:#2E2533;
  --plum:#E7C3E2; --plum-2:#F3DDF0; --plum-soft:#34233A;
  --saffron:#F5C24A; --saffron-soft:#3A2E12; --saffron-ink:#2A1E00;
  --ink:#F5EFF6; --ink-2:#C6BAC9; --ink-3:#8F8394;
  --leaf:#6CCB94; --leaf-soft:#173024; --brick:#FF8B73; --brick-soft:#3A1E19;
  --t-lav:#2A2236; --t-peach:#33241E; --t-pink:#33212A; --t-sand:#2E281F; --t-sky:#1E2833; --t-mint:#1B2C24; --t-yellow:#302A17; --t-lilac:#2A242E;
  --float:0 12px 40px rgba(0,0,0,.55); color-scheme:dark; --brand-ink:#16101A;}}

*{box-sizing:border-box}
[hidden]{display:none!important}   /* a hidden attribútum mindig nyerjen a komponensek display-szabályai felett */
html{font-size:var(--fs);-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.5 "Instrument",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--plum);text-underline-offset:3px}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.015em;line-height:1.15}
h1{font-size:1.75rem} h2{font-size:1.25rem} h3{font-size:1.0625rem}
.num{font-family:"Unbounded",sans-serif;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum"}
.muted{color:var(--ink-2)} .faint{color:var(--ink-3)} .small{font-size:.875rem} .tiny{font-size:.8125rem}
.wrap{max-width:560px;margin:0 auto;padding:0 20px}
.row{display:flex;align-items:center;gap:10px} .between{justify-content:space-between} .wrapflex{flex-wrap:wrap}
.stack>*+*{margin-top:14px}
.ic{width:20px;height:20px;flex:none;display:inline-block;vertical-align:-4px}
.ic.sm{width:16px;height:16px;vertical-align:-3px} .ic.lg{width:24px;height:24px}

/* gombok */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r-ctl);padding:13px 18px;font-weight:600;background:var(--plum);color:var(--brand-ink);min-height:50px;text-decoration:none;transition:transform .12s ease}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--mist-2)}
.btn.soft{background:var(--plum-soft);color:var(--plum)}
.btn.saffron{background:var(--saffron);color:var(--saffron-ink)}
.btn.save{background:var(--leaf);color:#fff}
.btn.bad{background:var(--brick-soft);color:var(--brick)}
.btn.block{width:100%} .btn.sm{min-height:38px;padding:8px 14px;border-radius:999px;font-size:.9375rem}
.btn.pill{border-radius:999px}
.btn.link{background:none;color:var(--plum);padding:0;min-height:0;text-decoration:underline;text-underline-offset:3px}
.iconbtn{position:relative;width:44px;height:44px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--ink)}
.iconbtn:hover{background:var(--mist)}
.iconbtn .dot{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--saffron);box-shadow:0 0 0 2px var(--paper)}
.iconbtn .dot[hidden]{display:none}

/* választók */
.chip{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--mist);color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:500;font-size:.9375rem;white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--plum);color:var(--brand-ink)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0} .chips::-webkit-scrollbar{display:none}

/* űrlap */
label.f{display:block;font-weight:600;font-size:.9375rem;margin:0 0 7px}
input.in,select.in,textarea.in{width:100%;min-width:0;border:0;background:var(--mist);border-radius:var(--r-ctl);padding:13px 14px;min-height:50px;color:var(--ink)}
textarea.in{min-height:96px;resize:vertical}
input.in::placeholder,textarea.in::placeholder{color:var(--ink-3)}
:focus-visible{outline:2.5px solid var(--plum);outline-offset:2px}
input.in:focus,select.in:focus,textarea.in:focus{outline:2px solid var(--plum);outline-offset:0;background:var(--paper)}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px} .grid2>*{min-width:0}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--plum)}

/* felületek */
.card{background:var(--mist);border-radius:20px;padding:18px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px}
.hr{height:1px;background:var(--line);margin:18px 0}
.empty{text-align:center;padding:40px 16px;color:var(--ink-2)}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.8125rem;font-weight:600;background:var(--mist);color:var(--ink-2)}
.badge.save{background:var(--leaf-soft);color:var(--leaf)} .badge.bad{background:var(--brick-soft);color:var(--brick)} .badge.warn,.badge.saffron{background:var(--saffron-soft);color:var(--saffron-ink)}
:root[data-theme="dark"] .badge.warn,:root[data-theme="dark"] .badge.saffron{color:var(--saffron)}
.price-old{text-decoration:line-through;color:var(--ink-3);font-size:.8125rem;font-weight:500}
.bar{height:6px;border-radius:9px;background:var(--mist-2);overflow:hidden} .bar>i{display:block;height:100%;background:var(--plum);border-radius:9px}

/* értesítés, lap */
.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:13px 18px;border-radius:16px;font-weight:500;z-index:99;max-width:calc(100vw - 32px);box-shadow:var(--float);animation:toastIn .22s ease-out}
.toast.bad{background:var(--brick);color:#fff}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}}
.sheet-bg{position:fixed;inset:0;background:rgba(23,12,22,.42);z-index:70;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .18s ease-out}
.sheet{background:var(--paper);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:10px 20px calc(28px + env(safe-area-inset-bottom));box-shadow:var(--float);animation:sheetUp .28s cubic-bezier(.2,.8,.2,1)}
.sheet .grab{width:40px;height:4px;border-radius:9px;background:var(--mist-2);margin:0 auto 16px}
@keyframes sheetUp{from{transform:translateY(40px);opacity:.4}} @keyframes fadeIn{from{opacity:0}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skel{background:linear-gradient(90deg,var(--mist) 0,var(--mist-2) 40%,var(--mist) 80%);background-size:300% 100%;animation:skel 1.3s ease-in-out infinite;border-radius:12px}
@keyframes skel{from{background-position:100% 0}to{background-position:-100% 0}}

/* belépés: padlizsán felső rész, sáfrány szóvédjegy */
.login-full{position:fixed;inset:0;z-index:80;background:var(--deep);color:#fff;overflow:auto;display:flex;flex-direction:column;align-items:center;padding-top:calc(60px + env(safe-area-inset-top))}
.login-logo{font-family:"Unbounded",sans-serif;font-weight:700;font-size:3.25rem;letter-spacing:-.05em;line-height:1;color:var(--gold)}
.login-slogan{font-weight:500;opacity:.85;margin:12px 0 36px;color:#fff}
.login-card{background:var(--paper);color:var(--ink);width:100%;max-width:560px;flex:1;border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:28px 20px 36px}
.login-card .stack>*+*{margin-top:16px}
.login-x{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}

/* elhúzható megerősítés: padlizsán sín, sáfrány fogantyú */
.swipe{position:relative;height:60px;border-radius:999px;background:var(--deep);color:#fff;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;display:flex;align-items:center;justify-content:center;font-weight:600;flex:1}
.swipe:focus-visible{outline:3px solid var(--saffron);outline-offset:3px}
.swipe .sw-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,255,255,.1);border-radius:999px}
.swipe .sw-txt{position:relative;padding:0 16px 0 64px;white-space:nowrap;font-size:.9375rem;text-align:center;line-height:1.15;display:flex;flex-direction:column;align-items:center;transition:opacity .1s}
.swipe .sw-right{font-family:"Unbounded",sans-serif;font-weight:600;font-size:.8125rem;opacity:.85;margin-top:3px}
.swipe .sw-knob{position:absolute;left:5px;top:5px;width:50px;height:50px;border-radius:50%;background:var(--gold);color:var(--gold-ink);display:grid;place-items:center;cursor:grab;touch-action:none;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.swipe .sw-knob svg{width:24px;height:24px}
.swipe.sw-anim .sw-knob,.swipe.sw-anim .sw-fill{transition:transform .28s cubic-bezier(.2,.8,.2,1),width .28s cubic-bezier(.2,.8,.2,1)}
.swipe.sw-done{background:var(--leaf)} .swipe.sw-done .sw-knob{background:#fff;color:var(--leaf)}
.swipe.green{background:var(--leaf);color:#fff} .swipe.green .sw-knob{background:#fff;color:var(--leaf)}
.swipe.off{background:var(--mist-2);color:var(--ink-3)}

/* közös: szóvédjegy, alsó navigáció, sorok, mutatók (partner/admin is használja) */
.wordmark{font-family:"Unbounded",sans-serif;font-weight:700;font-size:1.375rem;letter-spacing:-.05em;color:var(--plum);line-height:1}
.wmsub{font-size:.875rem;color:var(--ink-3);font-weight:500}
.appbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.4) blur(12px)}
.appbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px}
.bnav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 -1px 0 var(--line);padding-bottom:env(safe-area-inset-bottom)}
.bnav .wrap{display:grid;grid-template-columns:repeat(var(--n,5),1fr);padding-top:6px;padding-bottom:6px}
.bnav button{background:none;border:0;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:var(--ink-3)}
.bnav button svg{width:24px;height:24px}
.bnav button[aria-current="page"]{color:var(--ink);font-weight:600}
.bnav button .pill{display:grid;place-items:center;width:58px;height:32px;border-radius:999px;transition:background .15s}
.bnav button[aria-current="page"] .pill{background:var(--deep);color:var(--gold)}
.bnav .fab{width:54px;height:54px;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;margin:-22px auto 0;box-shadow:var(--float)}
.bnav .fab svg{width:26px;height:26px}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--plum-soft);color:var(--plum);display:grid;place-items:center;font-weight:600;flex:none}
.avatar.g{background:var(--leaf-soft);color:var(--leaf)} .avatar.lg{width:52px;height:52px;font-size:1.125rem}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
.kpi b{display:block;font-family:"Unbounded",sans-serif;font-weight:600;font-size:1.5rem;letter-spacing:-.03em;line-height:1.1}
.kpi span{display:block;font-size:.875rem;color:var(--ink-2);margin-top:4px}
.kpi.hero{grid-column:1/-1;background:var(--deep);color:#fff;border-radius:22px;padding:22px}
.kpi.hero b{font-size:2.25rem;color:var(--gold)} .kpi.hero span{color:inherit;opacity:.82}
.sectitle{display:flex;align-items:baseline;justify-content:space-between;margin:30px 0 12px}
.sectitle h2{font-size:1.25rem} .sectitle .act{color:var(--plum);font-weight:600;font-size:.9375rem;background:none;border:0;padding:0}
.lrow{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.lrow:last-child{border-bottom:0}
.lrow .main{flex:1;min-width:0} .lrow .main b{display:block;font-weight:600} .lrow .sub{font-size:.875rem;color:var(--ink-2);margin-top:2px}
.lrow .thumb{width:64px;height:64px;border-radius:16px;background:var(--mist) center/cover;flex:none}
.status{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--ink-2)}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.status.ok{color:var(--leaf)} .status.wait{color:#9A6B00} .status.bad{color:var(--brick)} .status.br{color:var(--plum)}
:root[data-theme="dark"] .status.wait{color:var(--saffron)}
.code{font-family:"Unbounded",sans-serif;font-weight:600;font-size:1.75rem;letter-spacing:.14em;text-align:center}
.tipcard{display:flex;gap:12px;align-items:flex-start;background:var(--saffron-soft);color:var(--ink);border-radius:16px;padding:14px 16px;font-size:.9375rem}
.tipcard.g{background:var(--leaf-soft)} .tipcard .ic{color:#8A6100} .tipcard.g .ic{color:var(--leaf)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.emptyBox{background:var(--mist);border-radius:22px;padding:22px}
.emptyBox h3{font-size:1.125rem}
.seg{display:inline-grid;grid-auto-flow:column;background:var(--mist);border-radius:999px;padding:3px}
.seg button{border:0;background:none;border-radius:999px;padding:7px 14px;font-weight:500;font-size:.9375rem;color:var(--ink-2)}
.seg button[aria-pressed="true"]{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.card input.in,.card select.in,.card textarea.in{background:var(--paper)}
