/* v19.0.0 – új kinézet mindhárom foglalónak.
   Egy szabály: a rendszámtábla a felület egyetlen hangos eleme; minden más csendes, sík és rendezett.
   A márkaszín csak a navigációt, a fő gombot és a futár napi kártyáját festi; az állapotot (biztos hely,
   tartalék, hiba) mindhárom foglalóban ugyanaz a zöld / sávozott borostyán / piros jelöli. */

:root{
  --font-ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-sign:"DIN Alternate","Bahnschrift","DIN Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;
  --ok:#0a7a4b;--ok-soft:#e3f4ec;--issue:#b42318;--issue-soft:#fdecea;--wait:#8a5200;--wait-soft:#fff3d6;
  --r-lg:16px;--r-md:12px;--r-sm:9px;
  --shadow-1:0 1px 2px rgba(16,24,40,.06);
  --shadow-2:0 10px 30px rgba(16,24,40,.12);
  /* Cyber Depo: sötétkék (alapértelmezés) */
  --brand-ink:#0b1e3f;--brand-ink-2:#17366b;--brand:#1446a0;--brand-hover:#0f3a87;--brand-soft:#e8eef9;--brand-line:#c7d4ee;
  --surface:#f3f5f9;--panel:#ffffff;--line:#dde3ec;--line-soft:#eaeef4;--text:#111c30;--muted:#5a6578;
  --hero-a:#0b1e3f;--hero-b:#17366b;--hero-ink:#ffffff;--hero-muted:#a9bbdc;--hero-line:rgba(255,255,255,.14);--hero-sub:rgba(4,14,36,.28);
  --nav-bg:#0b1e3f;--nav-ink:#c9d6ee;--nav-muted:#7f93b8;--nav-active-bg:rgba(255,255,255,.12);--nav-active-ink:#ffffff;--nav-accent:#6f9bff;
  --plate-band:#0a3a9a;
}
html[data-brand="insta"]{
  /* Insta Shine: kék-szürke (v19.1.0: erősebb, kontrasztosabb árnyalatok) */
  --brand-ink:#16304a;--brand-ink-2:#26496d;--brand:#2d5d8a;--brand-hover:#234c73;--brand-soft:#dbe7f3;--brand-line:#a9c1da;
  --surface:#e9eff5;--panel:#ffffff;--line:#c9d6e3;--line-soft:#dfe7ef;--text:#122130;--muted:#4f6276;
  --hero-a:#d3e0ec;--hero-b:#b8cbde;--hero-ink:#13263a;--hero-muted:#3f5670;--hero-line:rgba(19,38,58,.16);--hero-sub:rgba(255,255,255,.55);
  --nav-bg:#d4e0ec;--nav-ink:#1e3248;--nav-muted:#566c84;--nav-active-bg:#ffffff;--nav-active-ink:#132b44;--nav-accent:#2d5d8a;
}
html[data-brand="cargo"]{
  /* Cargo Line: zöldes */
  --brand-ink:#0e3b2e;--brand-ink-2:#1a5a43;--brand:#1f7350;--brand-hover:#185e41;--brand-soft:#e2f0e8;--brand-line:#bfdccb;
  --surface:#f2f6f3;--panel:#ffffff;--line:#d5e2da;--line-soft:#e7efea;--text:#10231b;--muted:#566b60;
  --hero-a:#0e3b2e;--hero-b:#1a5a43;--hero-ink:#ffffff;--hero-muted:#a8cdbb;--hero-line:rgba(255,255,255,.14);--hero-sub:rgba(2,20,14,.28);
  --nav-bg:#0e3b2e;--nav-ink:#cbe3d6;--nav-muted:#85ae9a;--nav-active-bg:rgba(255,255,255,.12);--nav-active-ink:#ffffff;--nav-accent:#5fd39b;
}
/* a régebbi stíluslapok változói a márkát követik */
:root,html[data-brand]{
  --bg-1:var(--surface);--bg-2:var(--surface);--card:var(--panel);--primary:var(--brand-ink);--radius:var(--r-lg);--shadow:var(--shadow-1);
  --v19-ink:var(--brand-ink);--v19-ink-2:var(--brand-ink-2);--v19-brand:var(--brand);--v19-line:var(--line);--v19-muted:var(--muted);
}

/* ---- alap ------------------------------------------------------------------------------ */
html{background:var(--surface)}
html,body{font-family:var(--font-ui);color:var(--text);background:var(--surface)}
body{font-size:15px;line-height:1.5}
.shell{max-width:1480px;padding:18px 20px calc(24px + var(--safe-bottom))}
h1,h2,h3{letter-spacing:0}
:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}

/* ---- felső sáv ------------------------------------------------------------------------- */
.topbar{background:var(--panel);backdrop-filter:none;border-bottom:1px solid var(--line);box-shadow:none}
.topbar::before{background:var(--panel)}
.topbar-inner{max-width:1480px;padding:10px 20px;min-height:58px}
.brand-title{display:flex;align-items:center;gap:10px;font-family:var(--font-sign);font-weight:700;font-size:19px;line-height:1.05;color:var(--brand-ink)}
.brand-title small{font-family:var(--font-ui);font-weight:600;font-size:12.5px;color:var(--muted);margin-left:2px}
.brand-release{font-size:11px;color:var(--muted)}
.top-actions .btn.ghost{box-shadow:none}
/* A márkajel: egy kis rendszámtábla a márkaszínű lapon. */
.v22-mark{position:relative;display:inline-block;flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:var(--brand-ink)}
.v22-mark::after{content:"";position:absolute;left:5px;right:5px;top:11px;height:9px;border-radius:2px;background:#fff linear-gradient(90deg,var(--plate-band) 0 4px,#fff 4px)}
html[data-brand="insta"] .v22-mark{background:var(--brand)}

/* ---- gombok, mezők, kártyák -------------------------------------------------------------- */
.btn{border-radius:var(--r-sm);padding:10px 15px;min-height:42px;font-weight:650;box-shadow:none;border:1px solid var(--line);background:var(--panel);color:var(--text);transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.btn:hover{transform:none;border-color:var(--brand-line);background:var(--brand-soft)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn.success{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.success:hover{background:#086640;border-color:#086640}
.btn.danger{background:var(--issue);border-color:var(--issue);color:#fff}
.btn.danger:hover{background:#97180e;border-color:#97180e}
.btn.ghost{background:var(--panel)}
.btn.sm{min-height:34px;padding:6px 11px;border-radius:8px;font-size:13px}
.btn.icon{width:40px;height:40px;min-height:40px;border-radius:var(--r-sm)}
.input,.select{height:44px;border-radius:var(--r-sm);border-color:var(--line);background:var(--panel)}
.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
textarea.input{height:auto}
.label{font-size:13px;font-weight:650;color:var(--muted);text-transform:none;letter-spacing:0;margin:0 0 6px}
.card{background:var(--panel);border:1px solid var(--line);backdrop-filter:none;border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.panel{padding:20px}
.panel-title{font-size:17px;font-weight:750;color:var(--text)}
.panel-sub{font-size:13.5px;color:var(--muted);line-height:1.5}
.pill{font-weight:700}
.stat{border-radius:var(--r-md);border-color:var(--line);box-shadow:none}
.stat-value{font-family:var(--font-sign)}
.op-field>span{font-size:13px;font-weight:650;color:var(--muted);text-transform:none;letter-spacing:0}
.op-panel{border-radius:var(--r-lg)}
.op-notice{border-radius:var(--r-md)}
.op-dialog{border:0;border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:0;max-width:min(600px,calc(100vw - 24px))}
.op-dialog::backdrop{background:rgba(9,16,30,.42)}
.op-dialog-form>.toolbar{padding:16px 18px 10px;border-bottom:1px solid var(--line-soft)}
.op-dialog-form>.toolbar h2{font-family:var(--font-sign);font-size:20px;font-weight:700;margin:0;color:var(--brand-ink)}
.op-dialog-body{padding:14px 18px}
/* ---- telefonos menü (admin és futár) ------------------------------------------------------
   A régi menüstílus sok !important szabályt használ (részben #mobileMenuPortal alatt), ezért itt
   mindkét helyre azonos, erősebb szabály kerül. Tiszta lista: márkaszín, egyszerű sorok, nincs ikondoboz. */
html[data-brand] .mobile-menu-sheet,html[data-brand] #mobileMenuPortal .mobile-menu-sheet{background:var(--panel)!important;box-shadow:var(--shadow-2)!important;border:1px solid var(--line)!important}
html[data-brand] .mobile-menu-sheet.admin-mobile-menu,html[data-brand] #mobileMenuPortal .mobile-menu-sheet.admin-mobile-menu{background:var(--surface)!important}
html[data-brand] .mobile-menu-orb{display:none!important}
html[data-brand] .mobile-menu-header,html[data-brand] #mobileMenuPortal .mobile-menu-header{background:inherit!important;border-bottom:1px solid var(--line)!important;backdrop-filter:none!important}
html[data-brand] .mobile-menu-kicker,html[data-brand] #mobileMenuPortal .mobile-menu-kicker{font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}
html[data-brand] .mobile-menu-title,html[data-brand] #mobileMenuPortal .mobile-menu-title{font-family:var(--font-sign);font-size:21px!important;font-weight:700!important;line-height:1.15!important;color:var(--brand-ink)!important}
html[data-brand] .mobile-menu-lead,html[data-brand] #mobileMenuPortal .mobile-menu-lead{display:none!important}
html[data-brand] .mobile-menu-close,html[data-brand] #mobileMenuPortal .mobile-menu-close{width:44px!important;min-width:44px!important;height:44px!important;border-radius:var(--r-md)!important;background:var(--brand-soft)!important;color:var(--brand-ink)!important;font-size:26px!important;font-weight:400!important;box-shadow:none!important}
html[data-brand] .mobile-menu-profile,html[data-brand] #mobileMenuPortal .mobile-menu-profile{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;padding:10px 14px!important;box-shadow:none!important;display:flex!important;align-items:baseline;gap:8px!important}
html[data-brand] .mobile-menu-profile small{font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}
html[data-brand] .mobile-menu-profile strong{font-size:15px!important;font-weight:600!important;color:var(--text)!important}
html[data-brand] .mobile-menu-nav,html[data-brand] #mobileMenuPortal .mobile-menu-nav{gap:6px!important}
html[data-brand] .mobile-menu-group-label,html[data-brand] #mobileMenuPortal .mobile-menu-group-label{font-size:12px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--muted)!important;margin:14px 2px 2px!important}
html[data-brand] .mobile-menu-group-label::after{background:var(--line)!important}
html[data-brand] .mobile-menu-link,html[data-brand] #mobileMenuPortal .mobile-menu-link{min-height:54px!important;padding:9px 12px!important;border-radius:var(--r-md)!important;background:var(--panel)!important;border:1px solid var(--line-soft)!important;box-shadow:none!important;gap:12px!important;color:var(--text)!important;animation:none!important}
html[data-brand] .mobile-menu-link.active,html[data-brand] #mobileMenuPortal .mobile-menu-link.active{background:var(--brand-soft)!important;border-color:var(--brand-line)!important;box-shadow:inset 3px 0 0 var(--brand)!important}
html[data-brand] .mobile-menu-link.active::after{content:none!important;display:none!important}
html[data-brand] .mobile-menu-icon:empty{display:none!important}
html[data-brand] .mobile-menu-icon,html[data-brand] #mobileMenuPortal .mobile-menu-icon{width:36px!important;height:36px!important;border-radius:var(--r-sm)!important;background:var(--surface)!important;border:0!important;font-size:18px!important}
html[data-brand] .mobile-menu-copy{padding-right:0!important;gap:2px!important}
html[data-brand] .mobile-menu-copy strong,html[data-brand] #mobileMenuPortal .mobile-menu-copy strong{font-size:15px!important;font-weight:600!important;line-height:1.2!important;color:var(--text)!important}
html[data-brand] .mobile-menu-copy span,html[data-brand] #mobileMenuPortal .mobile-menu-copy span{font-size:12.5px!important;line-height:1.3!important;color:var(--muted)!important}
html[data-brand] .mobile-menu-arrow{color:var(--muted)!important;font-size:20px!important}
html[data-brand] .mobile-menu-link.danger,html[data-brand] #mobileMenuPortal .mobile-menu-link.danger{background:var(--panel)!important;border-color:var(--line-soft)!important}
html[data-brand] .mobile-menu-link.danger .mobile-menu-copy strong{color:var(--issue)!important}
html[data-brand] .mobile-menu-link.danger .mobile-menu-copy span{color:var(--muted)!important}
html[data-brand] .mobile-menu-link.danger .mobile-menu-icon{background:var(--issue-soft)!important;color:var(--issue)}
/* a régi kék tájékoztató sávok a márka színét kapják */
html[data-brand] .status-banner{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink);border-radius:var(--r-md);font-size:13.5px;line-height:1.5}
html[data-brand] .status-banner strong{font-weight:700}
html[data-brand] .status-banner.warn{background:var(--wait-soft);border-color:#f0d9a8;color:var(--wait)}
html[data-brand] .shift-admin-chip{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink);font-weight:600}
.toast{border-radius:var(--r-md)}

/* ---- admin keret: oldalsáv + oldalfejléc --------------------------------------------------- */
.admin-tabbar{display:none}
.v22-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:4px 0 18px}
.v22-page-head h1{margin:0;font-family:var(--font-sign);font-weight:700;font-size:30px;line-height:1.1;color:var(--brand-ink)}
.v22-page-head p{margin:6px 0 0;max-width:62ch;color:var(--muted);font-size:14.5px}
.v22-kpis{display:flex;gap:10px;flex-wrap:wrap}
.v22-kpi{display:grid;gap:0;min-width:104px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.v22-kpi strong{font-family:var(--font-sign);font-size:26px;line-height:1.05;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.v22-kpi span{font-size:12.5px;color:var(--muted)}
.v22-kpi.is-warn strong{color:var(--issue)}
.v22-kpi:disabled{cursor:default}
.v22-kpi:not(:disabled):hover{border-color:var(--brand-line);background:var(--brand-soft)}
.v22-side{display:none}
@media (min-width:1101px){
  .admin-shell{display:grid;grid-template-columns:232px minmax(0,1fr);column-gap:26px;align-items:start}
  .admin-shell>*{grid-column:2;min-width:0}
  .admin-shell>.v22-side{grid-column:1;grid-row:1/span 80;display:block;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;padding:14px 10px 12px;border-radius:var(--r-lg);background:var(--nav-bg);color:var(--nav-ink)}
}
.v22-side-group{margin:0 0 12px}
.v22-side-group>p{margin:0 0 4px;padding:0 10px;font-size:12px;font-weight:650;color:var(--nav-muted)}
.v22-side-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:var(--nav-ink);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.v22-side-link:hover{background:var(--nav-active-bg)}
.v22-side-link.is-active{background:var(--nav-active-bg);color:var(--nav-active-ink);box-shadow:inset 3px 0 0 var(--nav-accent)}
.v22-side-version{margin:8px 10px 0;font-size:11.5px;color:var(--nav-muted)}
.v22-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--issue);color:#fff;font-size:11.5px;font-weight:800;font-style:normal}
.v22-badge--warn{background:#c77700}
.v22-lead{margin:0 0 14px;max-width:78ch;color:var(--muted);font-size:14px}
.admin-shell>.hero,.admin-shell>.admin-hero{display:none}

/* ---- futár napi kártya: a márka hősfelülete ---------------------------------------------- */
.v19-today{background:linear-gradient(160deg,var(--hero-a) 0%,var(--hero-b) 100%);color:var(--hero-ink);border-radius:20px;box-shadow:0 14px 36px rgba(10,31,68,.18)}
.v19-today-head h2{color:var(--hero-muted)}
.v19-facts dt,.v19-today-extra span,.v19-next span span{color:var(--hero-muted)}
.v19-facts dd{font-family:var(--font-sign)}
.v19-today-car-copy span,.v19-today-empty p{color:var(--hero-muted)}
.v19-today-extra{border-top-color:var(--hero-line)}
.v19-next{border-top-color:var(--hero-line);background:var(--hero-sub);color:var(--hero-ink)}
.v19-today-hint{background:color-mix(in srgb,var(--hero-ink) 10%,transparent);color:var(--hero-ink)}
html[data-brand="insta"] .v19-today{box-shadow:0 10px 28px rgba(36,54,74,.14)}
html[data-brand="insta"] .v19-today-empty .btn{background:var(--brand);color:#fff;border-color:var(--brand)}
html[data-brand="insta"] .v19-plate--empty{border-color:rgba(28,44,61,.35);color:rgba(28,44,61,.6)}
html[data-brand="insta"] .v19-plate--empty .v19-plate-band{background:rgba(28,44,61,.12)}
html[data-brand="insta"] .v20-guest{background:rgba(255,255,255,.55)}
.v19-day--mine{background:var(--brand-ink);border-color:var(--brand-ink)}
.v19-nav-btn.is-active{color:var(--brand-ink);background:var(--brand-soft)}
.v19-booking-intro h2,.v19-calendar-head h3{font-family:var(--font-sign)}
.v19-plate-band{background:var(--plate-band)}
.v19-plate--xs{border-width:1.25px;border-radius:4px;box-shadow:none}
.v19-plate--xs .v19-plate-band{font-size:7px}
.v19-plate--xs .v19-plate-text{font-size:14px;padding:.2em .32em .16em}

/* ---- Napi leosztás ----------------------------------------------------------------------- */
.v22-daily-main{margin-top:14px}
.v22-daily-main .btn{min-height:44px}
.v22-daily-more{margin-top:8px}
.v22-auto-line{margin:10px 0 0;padding:9px 12px 9px 34px;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-ink);font-size:13.5px;line-height:1.45;position:relative}
.v22-auto-line::before{content:"";position:absolute;left:12px;top:12px;width:12px;height:12px;border-radius:50%;border:2px solid currentColor;box-sizing:border-box}
.v22-auto-line::after{content:"";position:absolute;left:17px;top:14px;width:2px;height:5px;background:currentColor;box-shadow:2px 3px 0 -0.5px currentColor}
.v22-auto-line.is-done{background:var(--ok-soft);color:var(--ok)}
.v19-daily-card{border-radius:var(--r-md);border-width:1px}

/* ---- Autóátadás ablak --------------------------------------------------------------------- */
.v22-give-group{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md)}
.v22-give-group legend{padding:0 6px;font-weight:750}
.v22-give-group legend small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.v22-give-car{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid var(--line-soft);cursor:pointer}
.v22-give-car:first-of-type{border-top:0}
.v22-give-car input{width:20px;height:20px;accent-color:var(--brand)}
.v22-give-car span:last-child{color:var(--muted);font-size:13.5px}
.v22-plain{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.v22-plain li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v22-plain li span{color:var(--muted);font-size:13.5px}

/* ---- Havi autókiosztás ---------------------------------------------------------------------- */
.v22-toolbar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin:0 0 12px}
.v22-month{display:flex;align-items:center;gap:8px}
.v22-month strong{min-width:150px;text-align:center;font-family:var(--font-sign);font-size:20px;color:var(--brand-ink)}
.v22-seg{margin:0}
.v22-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v22-stats{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.v22-stats div{display:grid;min-width:140px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.v22-stats dt{font-size:12.5px;color:var(--muted);font-weight:650}
.v22-stats dd{margin:0;font-family:var(--font-sign);font-size:26px;line-height:1.1;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.v22-stats small{font-size:12px;color:var(--muted)}
.v22-stats .is-issue dd{color:var(--issue)}
.v22-planbox{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border-radius:var(--r-md);border:1.5px dashed var(--brand);background:var(--brand-soft)}
.v22-planbox strong{color:var(--brand-ink)}
.v22-planbox p{margin:2px 0 0;font-size:13.5px;max-width:70ch}
.v22-grid-wrap{overflow:auto;max-height:calc(100vh - 230px);min-height:240px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);-webkit-overflow-scrolling:touch}
.v22-grid{border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums}
.v22-grid th,.v22-grid td{height:34px;min-width:46px;padding:0;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:center;vertical-align:middle;background:var(--panel)}
.v22-grid thead th{position:sticky;top:0;z-index:2;height:40px;background:var(--panel);border-bottom:1px solid var(--line);font-weight:650}
.v22-grid thead th span{display:block;font-family:var(--font-sign);font-size:15px;line-height:1;color:var(--text)}
.v22-grid thead th small{display:block;font-size:10.5px;color:var(--muted)}
.v22-grid thead th.is-today{background:var(--brand);color:#fff}
.v22-grid thead th.is-today span,.v22-grid thead th.is-today small{color:#fff}
.v22-grid .is-weekend{background:#f7f8fb}
.v22-grid .v22-sticky{position:sticky;left:0;z-index:1;min-width:150px;max-width:190px;padding:0 10px;text-align:left;background:var(--panel);border-right:1px solid var(--line)}
.v22-grid thead .v22-sticky{z-index:3}
.v22-grid th.v22-sticky button{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:4px 0;cursor:pointer;font:inherit}
.v22-grid th.v22-sticky small{font-size:10.5px;color:var(--muted);font-weight:600}
.v22-name{display:block;font-weight:650;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v22-cell button{display:block;position:relative;width:100%;height:33px;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 3px;cursor:pointer}
.v22-cell button:disabled{cursor:default;opacity:.75}
.v22-cell.is-today{box-shadow:inset 2px 0 0 var(--brand)}
.v22-cell.is-auto button{background:var(--brand-soft);color:var(--brand-ink)}
.v22-cell.is-manual button{background:var(--panel);color:var(--brand-ink);box-shadow:inset 0 0 0 1.5px var(--brand)}
.v22-cell.is-proposal button{background:#fff;color:var(--brand-ink);outline:1.5px dashed var(--brand);outline-offset:-4px}
.v22-cell.is-free button:hover::after{content:"+";font-size:16px;font-weight:700;color:var(--brand)}
.v22-cell.is-off{background:repeating-linear-gradient(135deg,#eef1f5 0 4px,#f8f9fb 4px 8px)}
.v22-cell.is-lent{background:#eef2f7;color:var(--muted);font-size:10.5px}
.v22-cell.is-standby{background:repeating-linear-gradient(135deg,rgba(233,185,73,.22) 0 5px,rgba(255,243,214,.9) 5px 10px);color:var(--wait);font-weight:700}
.v22-cell.is-missing{background:var(--issue-soft);color:var(--issue);font-weight:800}
.v22-cell.is-missing button{color:var(--issue);font-weight:800}
.v22-cell.is-adhoc{color:var(--muted);font-size:10.5px}
.v22-cell.is-past{background:#fafbfc}
.v22-cell.is-cross button{box-shadow:inset 0 0 0 2px var(--issue)}
.v22-issues.v22-problems li em{color:var(--issue)}
.v22-dot{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--issue)}
.v22-group th,.v22-group td{height:30px;background:var(--surface) !important;color:var(--brand-ink);font-weight:750;font-size:13px;border-bottom:1px solid var(--line)}
.v22-group small{font-weight:600;color:var(--muted)}
.v22-sum th{font-size:12px;font-weight:650;color:var(--muted)}
.v22-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;list-style:none;font-size:12.5px;color:var(--muted)}
.v22-legend li{display:flex;align-items:center;gap:6px}
.v22-legend i{display:inline-block;width:18px;height:14px;border-radius:3px;border:1px solid var(--line)}
.v22-legend i.is-auto{background:var(--brand-soft)}
.v22-legend i.is-manual{background:#fff;box-shadow:inset 0 0 0 1.5px var(--brand)}
.v22-legend i.is-proposal{background:#fff;outline:1.5px dashed var(--brand);outline-offset:-3px}
.v22-legend i.is-free{background:#fff}
.v22-legend i.is-off{background:repeating-linear-gradient(135deg,#e3e7ee 0 3px,#f8f9fb 3px 6px)}
.v22-legend i.is-lent{background:#eef2f7}
.v22-issues{margin:14px 0 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.v22-issues summary{padding:12px 14px;font-weight:700;cursor:pointer}
.v22-issues ul{list-style:none;margin:0;padding:0 14px 12px;display:grid;gap:6px}
.v22-issues li{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:8px 0;border-top:1px solid var(--line-soft);font-size:13.5px}
.v22-issues li span{color:var(--muted);min-width:70px}
.v22-issues li em{font-style:normal;color:var(--muted)}

/* ---- Partner foglalók --------------------------------------------------------------------- */
.v22-partners{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.v22-partner{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:var(--r-md);background:var(--panel)}
.v22-partner.is-error{border-left-color:var(--issue)}
.v22-partner-main strong{display:block;font-family:var(--font-sign);font-size:19px;color:var(--brand-ink)}
.v22-partner-main span{font-size:12.5px;color:var(--muted)}
.v22-partner-sync{margin:0;font-size:13px;color:var(--muted)}
.v22-partner.is-error .v22-partner-sync{color:var(--issue)}
.v22-partner-usage{font-size:13.5px}

/* ---- Átköltöztetés -------------------------------------------------------------------------- */
.v22-steps{margin:0;padding:0 0 0 22px;display:grid;gap:16px}
.v22-steps>li{padding:4px 0 0 4px}
.v22-steps h3{margin:0 0 4px;font-size:16px;color:var(--brand-ink)}
.v22-move-form{display:grid;gap:10px}
.v22-move-list{display:grid;gap:4px;max-height:340px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:var(--r-md)}
.v22-move-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer}
.v22-move-row:hover{background:var(--brand-soft)}
.v22-move-row input{width:19px;height:19px;accent-color:var(--brand)}
.v22-move-row span{display:grid}
.v22-move-row small{color:var(--muted);font-size:12.5px}

/* ---- belépés ------------------------------------------------------------------------------ */
.login-card{border-radius:var(--r-lg)}
.login-title{font-family:var(--font-sign);color:var(--brand-ink)}
.login-icon .v22-mark{width:40px;height:40px;border-radius:10px}
.login-icon .v22-mark::after{left:7px;right:7px;top:15px;height:11px}

/* ---- egységesítés a régebbi részeken ---------------------------------------------------- */
/* a lap címe már a fejlécben áll: a panel saját címe nem kell még egyszer */
.admin-shell .v19-daily>.toolbar:first-child{display:none}
.admin-shell .v20-partner>.toolbar .panel-title,.admin-shell .v21-carspage>.toolbar .panel-title{display:none}
.op-muted{font-size:13.5px;line-height:1.5}
.admin-shell .card,.mobile-app-surface .card,.op-panel,.card.panel{border-radius:var(--r-lg)}
.brand .brand-badge~.brand-copy .v22-mark{display:none}
html[data-brand] .mobile-menu-trigger{width:44px!important;height:44px!important;border-radius:var(--r-md)!important;background:var(--brand-ink)!important;background-image:none!important;border:0!important;box-shadow:none!important}
html[data-brand="insta"] .mobile-menu-trigger{background:var(--brand)!important}
html[data-brand] .mobile-menu-trigger::after{content:none!important;display:none!important}
html[data-brand] .mobile-menu-trigger span{background:#fff!important;width:20px!important}
.v19-seg{border-radius:var(--r-md)}
.v19-seg-btn{border-radius:9px}

/* ---- telefon ------------------------------------------------------------------------------- */
@media (max-width:760px){
  .shell{padding:12px 12px calc(18px + var(--safe-bottom))}
  .panel{padding:14px}
  .v22-page-head{margin:2px 0 12px}
  .v22-page-head h1{font-size:24px}
  .v22-kpis{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .v22-kpi{min-width:0}
  .brand-title small{display:none}
  .v22-grid-wrap{max-height:calc(100vh - 170px)}
  .v22-grid .v22-sticky{min-width:112px;max-width:130px;padding:0 6px}
  .v22-grid th,.v22-grid td{min-width:40px}
  .v22-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .v22-stats div{min-width:0;padding:8px 10px}
  .v22-stats dd{font-size:21px}
  .v22-stats small{display:none}
  .v22-alloc .v22-lead{display:none}
  .v22-toolbar{gap:8px}
  .v22-month strong{min-width:0;font-size:18px}
  .v22-seg .v19-seg-btn{padding:6px 10px;min-height:36px;font-size:13px}
  .v22-alloc>.v22-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .v22-alloc>.v22-actions .btn{width:100%;min-height:40px;padding:8px 10px;font-size:14px}
  .v22-alloc>.v22-actions .btn:first-child{grid-column:1/-1}
  .v22-toolbar .v22-seg{flex:1 1 100%;display:flex}
  .v22-toolbar .v22-seg .v19-seg-btn{flex:1 1 0;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ---- v19.1.0: futárok oldala ---------------------------------------------------------------- */
.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}
.people-detail-shell .people-page-header{display:none}
.people-page-section{display:flex;flex-direction:column;gap:14px;margin:0}
.people-page-section>.source-health-panel{order:9}
.v23-people-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.v23-search{flex:1 1 320px;max-width:560px}
.v23-search .input{width:100%;height:46px;padding-left:40px;background:var(--panel) no-repeat 13px 50%/18px 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b7d' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.6-3.6'/%3E%3C/svg%3E")}
.v23-people-count{font-size:13.5px;color:var(--muted)}
.linklike{border:0;background:none;padding:0;font:inherit;color:var(--brand);text-decoration:underline;cursor:pointer}
.people-tabbar{display:flex;gap:6px;flex-wrap:wrap}
.people-detail-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:12px}
.people-detail-card{border-radius:var(--r-lg);box-shadow:var(--shadow-1);border:1px solid var(--line);background:var(--panel);padding:16px;gap:12px;min-width:0}
.people-detail-card[hidden]{display:none !important}
.people-detail-card.inactive{background:var(--panel);opacity:1;border-style:dashed}
.people-detail-top{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.people-detail-top .people-heading{min-width:0}
.people-detail-top .people-heading h3{font-size:17px;line-height:1.2;overflow-wrap:anywhere;margin:0}
.people-detail-top .people-heading p{margin:2px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.people-detail-top .people-contact-actions{grid-column:1/-1;display:flex;gap:8px}
.people-avatar{width:40px;height:40px;border-radius:12px;background:var(--brand-soft);font-size:18px}
.people-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.people-detail-grid .people-field.wide{grid-column:1/-1}
.people-field{min-width:0;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-soft);padding:8px 10px}
.people-field strong{overflow-wrap:anywhere}
.people-detail-footer{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.people-detail-footer .row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;margin:0;min-width:0}
.people-detail-footer .row-actions .btn{flex:0 1 auto;white-space:normal;text-align:center}
.v23-archived-note{margin:0;font-size:13px;color:var(--wait);background:var(--wait-soft);border-radius:var(--r-sm);padding:6px 10px}
/* aktív / inaktív kapcsoló a kártya fejlécében */
.v23-switch{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:4px 12px 4px 6px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}
.v23-switch i{position:relative;width:34px;height:20px;border-radius:999px;background:#c5ccd6;transition:background-color .15s}
.v23-switch i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.v23-switch.is-on{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
.v23-switch.is-on i{background:var(--ok)}
.v23-switch.is-on i::after{transform:translateX(14px)}
/* inaktiválás előnézete */
.v23-archive-preview{margin-top:6px}
/* új autó a kocsi választásnál */
.v23-newcar{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:0 12px;background:var(--surface)}
.v23-newcar>summary{padding:12px 0;font-weight:650;color:var(--brand);cursor:pointer}
.v23-newcar[open]>summary{border-bottom:1px solid var(--line-soft);margin-bottom:10px}
/* raktár váltása az autó kártyáján */
.v21-car-top{flex-wrap:wrap}
.v23-wh{display:inline-flex;margin-left:auto;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}
.v23-wh-btn{min-width:54px;min-height:32px;padding:4px 10px;border:0;background:transparent;font:inherit;font-size:13px;font-weight:650;color:var(--muted);cursor:pointer}
.v23-wh-btn+.v23-wh-btn{border-left:1px solid var(--line)}
.v23-wh-btn.is-active{background:var(--brand);color:#fff;cursor:default}
.v23-wh-btn:not(.is-active):hover{background:var(--brand-soft);color:var(--brand-ink)}
/* mentésjelzés: alul, rövid, nem takar */
.toast-body{border-radius:12px;padding:12px 16px;font-weight:650;font-size:14.5px;box-shadow:0 10px 30px rgba(16,24,40,.22)}
.toast.success .toast-body{background:#173b2b}
.toast.success .toast-body::before{content:"✓";display:inline-block;margin-right:8px;color:#7ee2a8;font-weight:800}
.toast.info .toast-body{background:#25303f}
.toast.show{animation:v23toast .18s ease-out}
@keyframes v23toast{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
/* a fülek (aktív / inaktív) a többi oldal szegmenses választójához igazodnak */
.people-tabbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:4px;box-shadow:none;margin:0}
.people-tabbar .admin-tab-button{flex:1 1 0;min-height:44px;border-radius:9px;background:transparent;color:var(--muted);box-shadow:none;border:0;font-weight:650}
.people-tabbar .admin-tab-button.active{background:var(--brand);color:#fff;box-shadow:none}
.people-tabbar .admin-tab-button small{font-weight:600}
.people-page-section>.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}
.people-page-section>.row-actions .btn{min-height:36px;padding:6px 12px;font-size:14px}
@media (max-width:760px){
  .people-detail-list{grid-template-columns:1fr !important}
  .people-detail-grid{grid-template-columns:1fr 1fr !important;gap:6px}
  .people-detail-card{padding:12px}
  .people-field{padding:7px 9px}
  .people-field span{font-size:10.5px;margin-bottom:2px}
  .v23-people-head .v22-kpis{display:flex;gap:8px}
  .v23-people-head .v22-kpi{flex:1 1 0;padding:8px 12px}
  .v23-search{flex-basis:100%;max-width:none}
  .v23-wh{margin-left:0}
}
@media (max-width:360px){.people-detail-grid{grid-template-columns:1fr !important}}

/* ---- v19.1.0: logók ------------------------------------------------------------------------- */
.v22-mark{background:transparent url("/icons/brand-mark.png") center/contain no-repeat !important;border-radius:8px}
.v22-mark::after{display:none !important;content:none !important}
html[data-brand="cyber"] .v22-mark{border-radius:0}
.v23-wordmark{display:block;height:28px;width:auto}
.login-icon .v22-mark{width:56px;height:56px;border-radius:14px}
/* a régi sötét, árnyékos ikonkeret a logó mögött nem kell (alul szürke foltként látszott) */
.login-icon:has(> .v22-mark){background:transparent;box-shadow:none;border-radius:14px;width:56px;height:56px}
/* CYBERDEPO: a fejlécben a Cyber Depo felirat már tartalmazza a jelet; a régi kis logódoboz kétszer mutatná */
html[data-brand="cyber"] .topbar .brand-badge{display:none}
@media (max-width:760px){.v23-wordmark{height:24px}}

/* ---- v19.1.0: gyorsítás ---------------------------------------------------------------------- */
/* A havi beosztásban csak a látható napokat rendezi el a böngésző; a többi nap a sorok számából becsült
   helyet foglal, így a görgetősáv hossza nagyjából pontos marad. */
.roster-month-scroll > .month-day{content-visibility:auto;contain-intrinsic-size:auto calc(140px + var(--v23-rows,4) * 112px)}
@media (max-width:900px){.roster-month-scroll > .month-day{contain-intrinsic-size:auto calc(130px + var(--v23-rows,4) * 216px)}}
@media print{.roster-month-scroll > .month-day{content-visibility:visible}}

/* ---- v19.1.0: ablakok (párbeszédek) ------------------------------------------------------------ */
/* A gombsor nem ér a keret széléhez, hosszú ablaknál alul mindig látszik; a fejléc alatt nincs üres sáv. */
.op-dialog-form>.toolbar{margin:0}
.op-dialog-body>:first-child{margin-top:0}
.op-dialog-form>.op-error{margin:0;padding:0 18px 4px}
.op-dialog-form>.op-error:empty{display:none}
.op-dialog-form>.row-actions{margin:0;padding:12px 18px 16px;justify-content:flex-end;gap:10px;border-top:1px solid var(--line-soft);background:var(--panel);position:sticky;bottom:0;z-index:2}
@media (max-width:760px){
  .op-dialog{padding:0 !important}
  .op-dialog-form>.toolbar{padding:14px 56px 10px 16px !important}
  .op-dialog-form>.toolbar>h2{margin:0 !important}
  .op-dialog-form>.toolbar>[data-op-close]{position:absolute;right:10px;top:10px}
  .op-dialog-body{padding:12px 16px}
  .op-dialog-form>.op-error{padding:0 16px 4px}
  .op-dialog-form>.row-actions{padding:10px 16px calc(12px + env(safe-area-inset-bottom))}
}

/* ---- v19.1.1: napi leosztás, a nap törlése a kártya sarkából ------------------------------------ */
.v19-daily-card.has-del{position:relative}
.v19-daily-card.has-del .v19-daily-top{padding-right:34px}
.v23-day-del{position:absolute;top:8px;right:8px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--muted);font-size:20px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v23-day-del:hover,.v23-day-del:focus-visible{color:var(--issue);border-color:var(--issue);background:var(--issue-soft)}
.v23-del-question{font-size:16px;line-height:1.55;margin:0 0 10px}
.v23-del-notes{margin:0 0 8px;padding-left:18px;color:var(--text)}
.v23-del-notes li{margin:4px 0}
@media (max-width:760px){.v23-day-del{width:36px;height:36px;top:6px;right:6px}}

/* ---- v19.2.0: munkaruha rendelés, telefonok és tankolókártyák ----------------------------- */
.v24-page{display:grid;gap:18px;min-width:0}
.v24-page.has-cartbar{padding-bottom:96px}
.v24-hero{display:grid;gap:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,var(--hero-a),var(--hero-b));color:var(--hero-ink);box-shadow:var(--shadow-1)}
.v24-hero h2{margin:2px 0 6px;font-size:26px;line-height:1.15;letter-spacing:-.01em;color:inherit}
.v24-hero p{margin:0;color:var(--hero-muted);font-size:14.5px;max-width:62ch}
.v24-eyebrow{font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.9}
.v24-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:var(--hero-sub);justify-self:start;max-width:100%;overflow-x:auto}
.v24-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border:0;border-radius:11px;background:transparent;color:inherit;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;white-space:nowrap;opacity:.82}
.v24-tab.is-on{background:var(--panel);color:var(--brand-ink);opacity:1;box-shadow:var(--shadow-1)}
.v24-tab b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e5484d;color:#fff;font-size:12px}
.v24-tab b.is-soft{background:var(--line-soft);color:var(--muted)}
.v24-tabs--admin{background:var(--surface);color:var(--text);margin:16px 0 4px}
.v24-closed{padding:12px 14px;border-radius:14px;background:var(--wait-soft);color:var(--wait);font-weight:650}

/* termékkártyák */
.v24-shop{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.v24p{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:20px;background:var(--panel);overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow .18s ease,transform .18s ease}
.v24p:hover{box-shadow:var(--shadow-2)}
.v24p-media{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-bottom:1px solid var(--line-soft);background:#fff;cursor:zoom-in}
.v24p-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px}
.v24-noimg{display:grid;place-items:center;font-size:44px;background:var(--surface)}
.v24p-media .v24-noimg{position:absolute;inset:0}
.v24p-price{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:var(--brand-ink);color:#fff;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px rgba(11,30,63,.25)}
.v24p-body{display:grid;gap:12px;align-content:start;padding:16px;flex:1}
.v24p-name{margin:0;font-size:18px;line-height:1.2;font-weight:800;color:var(--text)}
.v24p-desc{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v24p-meta{margin:0;color:var(--muted);font-size:13px}
.v24-opt{display:grid;gap:7px;border-radius:12px}
.v24-opt-label{margin:0;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.v24-pills{display:flex;flex-wrap:wrap;gap:6px}
.v24-pill{min-width:44px;min-height:38px;padding:6px 11px;border:1.5px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}
.v24-pill:hover{border-color:var(--brand-line)}
.v24-pill.is-on{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.v24-opt.is-missing .v24-pill{border-color:var(--issue)}
.v24-opt.is-missing{animation:v24shake .35s ease}
@keyframes v24shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.v24p-buy{display:flex;gap:10px;align-items:center;margin-top:auto}
.v24p-add{flex:1;min-height:44px;font-size:15px}
.v24-step{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.v24-step button{width:40px;height:42px;border:0;background:transparent;color:var(--brand-ink);font:inherit;font-size:20px;font-weight:700;cursor:pointer}
.v24-step button:hover{background:var(--surface)}
.v24-step output{min-width:30px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.v24-step--sm{margin-top:6px}
.v24-step--sm button{width:34px;height:32px;font-size:18px}

/* kosársáv */
.v24-cartbar{position:fixed;z-index:55;left:50%;transform:translateX(-50%);bottom:calc(18px + var(--safe-bottom,0px));width:min(560px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:18px;background:var(--brand-ink);color:#fff;box-shadow:0 14px 40px rgba(11,30,63,.35)}
body:has(.v19-nav) .v24-cartbar{bottom:calc(var(--v19-nav-h,62px) + 12px + var(--safe-bottom,0px))}
.v24-cartbar-icon{position:relative;font-size:24px}
.v24-cartbar-icon b{position:absolute;top:-6px;right:-10px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e5484d;font-size:11.5px}
.v24-cartbar-text{display:grid;flex:1;line-height:1.2;margin-left:6px}
.v24-cartbar-text strong{font-size:17px;font-variant-numeric:tabular-nums}
.v24-cartbar-text small{opacity:.75;font-size:12.5px}
.v24-cartbar .btn{min-height:44px;padding:0 22px;background:#fff;color:var(--brand-ink);border-color:#fff}

/* rendelések */
.v24-olist{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.v24o{display:grid;gap:12px;align-content:start;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow-1);min-width:0}
.v24o--rejected,.v24o--cancelled{background:#f8fafd}
.v24o-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.v24o-head div{display:grid;gap:2px;min-width:0}
.v24o-head strong{font-size:16px;overflow-wrap:anywhere}
.v24o-head small{color:var(--muted);font-size:12.5px}
.v24o-state,.v24o-note{margin:0;font-size:13.5px;color:var(--muted)}
.v24o-msg{display:grid;gap:2px;margin:0;padding:10px 12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);font-weight:650;font-size:14px}
.v24o-msg span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.75}
.v24o-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:13.5px}
.v24o-foot strong{font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}
.v24o-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.v24-olines{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.v24-olines li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center}
.v24-olines li span{display:grid;gap:1px;min-width:0}
.v24-olines li small{color:var(--muted);font-size:12.5px}
.v24-olines li b{font-variant-numeric:tabular-nums;white-space:nowrap}
.v24-olines li.is-bad{padding:6px;border-radius:12px;background:var(--issue-soft)}
.v24-thumb{width:52px;height:52px;border-radius:12px;border:1px solid var(--line-soft);background:#fff;object-fit:contain;padding:3px;font-size:24px}
.v24-cartlines{margin-bottom:6px}
.v24-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:12px 0;padding-top:12px;border-top:1px solid var(--line)}
.v24-total strong{font-size:22px;font-variant-numeric:tabular-nums}
.v24-track{list-style:none;margin:2px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.v24-track li{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;font-size:11.5px;font-weight:700;color:var(--muted)}
.v24-track li::before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
.v24-track li:first-child::before{display:none}
.v24-track li.is-done::before,.v24-track li.is-now::before{background:var(--ok)}
.v24-track-dot{position:relative;z-index:1;width:17px;height:17px;border-radius:50%;background:var(--panel);border:3px solid var(--line)}
.v24-track li.is-done .v24-track-dot{background:var(--ok);border-color:var(--ok)}
.v24-track li.is-now .v24-track-dot{background:var(--panel);border-color:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}
.v24-track li.is-now,.v24-track li.is-done{color:var(--text)}
.v24-st{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:750;white-space:nowrap;border:1px solid transparent}
.v24-st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.v24-st--submitted{background:#ede9fe;color:#5b21b6;border-color:#cfc4fb}
.v24-st--accepted{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line)}
.v24-st--ordered{background:var(--wait-soft);color:var(--wait);border-color:#e9b949}
.v24-st--completed{background:var(--ok-soft);color:var(--ok);border-color:#b7e2cd}
.v24-st--rejected,.v24-st--cancelled{background:#eef2f8;color:var(--muted);border-color:var(--line)}
.v24-empty{display:grid;justify-items:center;gap:8px;padding:36px 16px;border:1.5px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.v24-empty span{font-size:36px}
.v24-empty strong{color:var(--text);font-size:16px}
.v24-empty p{margin:0}

/* admin */
.v24-kpis{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
.v24-kpi{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.v24-kpi span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.v24-kpi strong{font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--text)}
.v24-kpi small{color:var(--muted);font-size:12.5px}
.v24-kpi--new{background:#f5f3ff;border-color:#cfc4fb}
.v24-kpi--new strong{color:#5b21b6}
.v24-kpi--warn{background:var(--wait-soft);border-color:#e9b949}
.v24-kpi--warn strong{color:var(--wait)}
.v24-filters{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 6px}
.v24-filter{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:13.5px;font-weight:650;cursor:pointer}
.v24-filter small{color:var(--muted);font-weight:700}
.v24-filter.is-active{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.v24-filter.is-active small{color:rgba(255,255,255,.75)}
.v24-agg{margin:12px 0 16px;padding:14px 16px;border:1.5px solid var(--brand-line);border-radius:18px;background:var(--brand-soft)}
.v24-agg summary{cursor:pointer;font-weight:800;color:var(--brand-ink)}
.v24-agg .op-table-wrap{margin:12px 0}
.v24-olist--admin{margin-top:6px}
.v24-shop--admin{margin-top:10px}
.v24p--admin.is-off{opacity:.62}
.v24p-new{display:grid;place-items:center;align-content:center;gap:6px;min-height:280px;border:2px dashed var(--line);background:transparent;box-shadow:none;color:var(--muted);font:inherit;font-weight:750;font-size:15px;cursor:pointer}
.v24p-new span{font-size:40px;line-height:1;color:var(--brand)}
.v24p-new:hover{border-color:var(--brand-line);color:var(--brand-ink)}
.v24-imgfield{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.v24-imgprev{flex:0 0 132px;height:99px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;color:var(--muted);font-size:13px}
.v24-imgprev img{width:100%;height:100%;object-fit:contain;padding:4px}
.v24-imgctl{display:grid;gap:6px;justify-items:start}
.v24-file{position:relative;overflow:hidden;cursor:pointer}
.v24-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.v24-view{display:grid;gap:10px}
.v24-view-img{width:100%;max-height:380px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--line-soft)}
.v24-view p{margin:0}
.v24-view-price{font-size:22px;font-weight:800}
.v24-view-price small{font-size:13px;color:var(--muted);font-weight:600}
.v24-view-meta{color:var(--muted);font-weight:650}

/* telefonok és tankolókártyák */
.v24-car-assets{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px}
.v24-car-assets .is-missing{color:var(--muted)}
.v24-fs{margin:0 0 12px;padding:10px 12px 4px;border:1px solid var(--line);border-radius:var(--r-md)}
.v24-fs legend{padding:0 6px;font-weight:750}
.v24-new{padding:8px 10px 2px;margin:0 0 8px;border-radius:var(--r-sm);background:var(--surface)}
.v24-new[hidden]{display:none}
.v24-editrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;font-size:13px;color:var(--muted)}
.v24-devbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:14px 0 10px}
.v24-devbar .v24-filters{margin:0}
.v24-search{max-width:360px;min-height:42px}
.v24-devs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.v24d{display:grid;gap:12px;align-content:start;padding:16px;border:1px solid var(--line);border-top:4px solid #e9b949;border-radius:18px;background:var(--panel);box-shadow:var(--shadow-1);min-width:0}
.v24d--phone{border-top-color:var(--brand)}
.v24d.is-off{opacity:.7;background:#f8fafd}
.v24d[hidden]{display:none}
.v24d-head{display:flex;gap:12px;align-items:center}
.v24d-head div{display:grid;flex:1;min-width:0}
.v24d-head strong{font-size:16.5px;overflow-wrap:anywhere}
.v24d-head small{color:var(--muted);font-size:12.5px}
.v24d-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--wait-soft);font-size:21px}
.v24d--phone .v24d-icon{background:var(--brand-soft)}
.v24d-facts{display:grid;gap:8px;margin:0}
.v24d-facts div{display:grid;grid-template-columns:104px 1fr;gap:8px;align-items:center}
.v24d-facts dt{font-size:12px;font-weight:750;color:var(--muted)}
.v24d-facts dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-weight:650;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.v24d-car{color:var(--muted);font-weight:600;font-size:13px}
.v24d .row-actions{justify-content:flex-start}
.v24d-note{margin:0;padding:8px 10px;border-radius:10px;background:var(--surface);font-size:13px;color:var(--muted)}
.v24-miss{color:var(--wait);font-weight:700}
@media (max-width:760px){
  .v24-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v24-olist,.v24-devs{grid-template-columns:1fr}
  .v24-hero{padding:20px 18px;border-radius:18px}
  .v24-hero h2{font-size:22px}
  .v24-shop{grid-template-columns:1fr}
  .v24p-media{aspect-ratio:16/10}
  .v24-search{max-width:none;width:100%}
}
.v24-daily-export{margin-left:auto}
.v24-give-allow{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:6px 0 10px;border:1.5px solid #e9b949;border-radius:14px;background:var(--wait-soft)}
.v24-give-allow span{display:grid;gap:2px}
.v24-give-allow small{color:var(--muted);font-size:12.5px;font-weight:500}
.v24-give-busy{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.v24-give-busy[hidden]{display:none}
.v24-give-busy-h{margin:0;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--wait)}
.v22-give-car.is-disabled{opacity:.55}

/* ---- v19.2.1: napló ------------------------------------------------------------------------ */
.v25-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 4px}
.v25-monthnav{display:flex;align-items:center;gap:6px}
.v25-monthpick{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-weight:800;font-size:15.5px;cursor:pointer}
.v25-monthpick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.v25-q{flex:1 1 260px;min-height:42px}
.v25-who-filter{margin-top:0}
.v25-kpis{margin-top:8px}
.v25-day{margin-top:18px}
.v25-day[hidden]{display:none}
.v25-dayh{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;gap:10px;margin:0 0 8px;padding:8px 2px;background:var(--panel);border-bottom:2px solid var(--brand-ink);font-size:16px;color:var(--brand-ink)}
.v25-dayh small{font-size:12.5px;font-weight:650;color:var(--muted)}
.v25-e{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line-soft)}
.v25-e[hidden]{display:none}
.v25-time{font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:2px}
.v25-main{min-width:0}
.v25-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 4px}
.v25-head strong{font-size:15px}
.v25-who{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:750;background:var(--surface);color:var(--muted);border:1px solid var(--line)}
.v25-who--admin{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line)}
.v25-who--courier{background:var(--ok-soft);color:var(--ok);border-color:#b7e2cd}
.v25-who--system{background:#f5f3ff;color:#5b21b6;border-color:#cfc4fb}
.v25-legacy{padding:2px 8px;border-radius:999px;background:#eef2f8;color:var(--muted);font-size:11.5px;font-weight:700}
.v25-cl{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.v25-c{display:flex;gap:8px;font-size:14px;line-height:1.45}
.v25-ci{flex:0 0 18px;text-align:center}
.v25-c--shift{color:var(--text)}
.v25-c--request span:last-child{font-weight:600}
.v25-more{color:var(--muted);font-style:italic}
.v25-name{padding:0;border:0;background:none;color:var(--brand);font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-decoration-color:var(--brand-line);text-underline-offset:3px}
.v25-name:hover{color:var(--brand-ink)}
.v25-searchhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 4px;padding:12px 14px;border-radius:14px;background:var(--brand-soft)}
.v25-searchhead p{margin:0}
.v25-who-label{align-self:center;font-size:12.5px;font-weight:800;color:var(--muted);margin-right:2px}
@media (max-width:760px){
  .v25-e{grid-template-columns:46px 1fr}
  .v25-monthpick{min-width:150px}
  .v25-log .v24-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .v25-log .v24-filter{flex:0 0 auto}
  .v25-bar .btn{flex:1 1 auto}
}

/* ---- v19.3.0: élő autólista link ------------------------------------------------------------ */
.v26-linkbox,.v26-sources{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.v26-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.v26-linkrow{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.v26-linkrow .input{flex:1 1 320px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;background:var(--panel)}
.v26-sources h3{margin:0 0 4px;font-size:16px}
.v26-srclist{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}
.v26-srclist li{display:flex;gap:8px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
