    /* ── BRAND TOKENS ─────────────────────────────────────────── */
    :root {
      --red:        #ea1c2d;
      --red-dim:    rgba(234,28,45,0.09);
      --red-border: rgba(234,28,45,0.22);
      --cream:      #f6f3e0;
      --cream-dk:   #ede9cf;
      --cream-ddk:  #e0dcc6;
      --black:      #1a1a1a;
      --black-2:    #242424;
      --black-3:    #2e2e2e;
      --ink:        #111111;
      --ink-2:      #444444;
      --ink-3:      #888888;
      --white:      #ffffff;
      --border:     rgba(0,0,0,0.08);
      --border-dk:  rgba(255,255,255,0.08);
      --shadow:     0 2px 8px rgba(0,0,0,0.07), 0 0 1px rgba(0,0,0,0.04);
      --shadow-md:  0 8px 28px rgba(0,0,0,0.13), 0 2px 6px rgba(0,0,0,0.06);
      --nav-h:      70px;   /* a lenti sáv magassága — a fix elemek (pl. Árlabor szimulációs sáv) ehhez igazodnak */
      --green:      #16a34a;
      --green-dim:  rgba(22,163,74,0.09);
      --orange:     #c2410c;
      --orange-dim: rgba(194,65,12,0.08);
      --r:          14px;
      --r-sm:       10px;
      --sidebar-w:  248px;
    }

    /* ── ANIMATIONS ───────────────────────────────────────────── */
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
    @keyframes spin  { to { transform:rotate(360deg); } }

    /* ── RESET ────────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
    html, body { height:100%; overflow-x:hidden; touch-action:pan-x pan-y; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    body { font-family:'Barlow',sans-serif; background:var(--cream); color:var(--ink); line-height:1.5; background-image:radial-gradient(circle, rgba(26,26,26,0.06) 1px, transparent 1px); background-size:26px 26px; overflow-x:hidden; }
    img { display:block; }
    button { font-family:inherit; cursor:pointer; border:none; background:none; }

    /* ── LOGIN ────────────────────────────────────────────────── */
    #login { display:none; min-height:100vh; background:var(--black); }
    #login.active { display:flex; flex-direction:column; }

    .login-hero {
      flex:1; display:flex; flex-direction:column;
      align-items:center; justify-content:center;
      padding:64px 32px 48px; position:relative; overflow:hidden;
    }
    /* Decorative circles */
    .login-hero::before {
      content:''; position:absolute;
      width:340px; height:340px; border-radius:50%;
      border:1px solid rgba(234,28,45,0.15);
      top:-80px; right:-80px;
    }
    .login-hero::after {
      content:''; position:absolute;
      width:220px; height:220px; border-radius:50%;
      border:1px solid rgba(234,28,45,0.10);
      bottom:-60px; left:-40px;
    }
    .login-logo-wrap {
      position:relative; z-index:1; text-align:center;
    }
    .login-logo-wrap img {
      width:80px; height:80px; object-fit:contain; margin:0 auto 20px;
    }
    .login-wordmark {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:56px; line-height:.95;
      color:var(--white); letter-spacing:-1px; text-transform:uppercase;
    }
    .login-wordmark em { font-style:normal; color:var(--red); }
    .login-tagline {
      margin-top:10px;
      font-family:'Barlow Condensed',sans-serif;
      font-size:11px; font-weight:700; letter-spacing:4px;
      text-transform:uppercase; color:rgba(255,255,255,0.35);
    }

    .login-card {
      background:var(--cream); border-radius:24px 24px 0 0;
      padding:36px 28px 40px;
    }
    .login-card-title {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:26px; text-transform:uppercase; margin-bottom:4px;
    }
    .login-card-sub { font-size:14px; color:var(--ink-3); margin-bottom:28px; }
    .login-foot { margin-top:20px; text-align:center; font-size:11px; color:var(--ink-3); }

    @media (min-width:768px) {
      #login.active { flex-direction:row; }
      .login-hero { flex:1; padding:80px 64px; align-items:flex-start; }
      .login-logo-wrap { text-align:left; }
      .login-logo-wrap img { margin:0 0 20px; }
      .login-wordmark { font-size:72px; }
      .login-card {
        width:420px; flex-shrink:0; border-radius:0;
        display:flex; flex-direction:column; justify-content:center;
        padding:64px 48px;
      }
    }

    /* ── SPLASH (induló auto-login ellenőrzés) ───────────────── */
    #splash { display:none; position:fixed; inset:0; z-index:9999; background:var(--black); }
    #splash.active { display:flex; align-items:center; justify-content:center; }
    .splash-inner { text-align:center; }
    .splash-inner img { width:72px; height:72px; object-fit:contain; margin:0 auto 16px; }
    .splash-wordmark {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:48px; line-height:.95;
      color:var(--white); letter-spacing:-1px; text-transform:uppercase;
    }
    .splash-wordmark em { font-style:normal; color:var(--red); }
    .splash-spinner {
      width:26px; height:26px; margin:26px auto 0;
      border:3px solid rgba(255,255,255,0.15);
      border-top-color:var(--red); border-radius:50%;
      animation:splash-spin .8s linear infinite;
    }
    @keyframes splash-spin { to { transform:rotate(360deg); } }

    /* ── FORM ELEMENTS ────────────────────────────────────────── */
    .field { margin-bottom:14px; }
    .field label {
      display:block; font-size:10px; font-weight:700;
      letter-spacing:2px; text-transform:uppercase; color:var(--ink-3); margin-bottom:7px;
    }
    .field input, .field select, .field textarea {
      width:100%; background:var(--white);
      border:1.5px solid var(--border); border-radius:var(--r-sm);
      padding:13px 15px; font-size:15px; color:var(--ink); outline:none;
      transition:border-color .18s, box-shadow .18s;
    }
    .field input:focus, .field select:focus, .field textarea:focus {
      border-color:var(--red);
      box-shadow:0 0 0 3px rgba(234,28,45,0.10);
    }
    .field input::placeholder { color:#ccc; }
    .field textarea { resize:none; min-height:72px; line-height:1.5; }

    .btn-red {
      width:100%; background:var(--red); color:#fff;
      border-radius:var(--r-sm); padding:15px;
      font-family:'Barlow Condensed',sans-serif; font-weight:700;
      font-size:17px; letter-spacing:1.5px; text-transform:uppercase;
      transition:opacity .15s, transform .1s, box-shadow .15s;
      box-shadow:0 4px 16px rgba(234,28,45,0.28);
    }
    .btn-red:hover  { box-shadow:0 6px 20px rgba(234,28,45,0.38); }
    .btn-red:active { opacity:.88; transform:scale(.98); box-shadow:none; }
    .btn-red:disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }

    /* ── APP SHELL ────────────────────────────────────────────── */
    #app { display:none; }
    #app.active { display:flex; min-height:100vh; }

    /* Sidebar */
    .sidebar {
      width:var(--sidebar-w); flex-shrink:0;
      background:var(--black); border-right:1px solid var(--border-dk);
      position:fixed; top:0; left:0; bottom:0;
      display:flex; flex-direction:column; z-index:200;
    }
    .sidebar-logo {
      padding:24px 20px 20px;
      display:flex; align-items:center; gap:10px;
      border-bottom:1px solid var(--border-dk);
    }
    .sidebar-logo img { width:28px; height:28px; object-fit:contain; }
    .sidebar-logo-word {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:20px; color:var(--white); text-transform:uppercase; letter-spacing:.5px;
    }
    .sidebar-section {
      font-size:9px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
      color:rgba(255,255,255,0.25); padding:20px 20px 6px;
    }
    .sidebar-nav { flex:1; padding:6px 12px 12px; overflow-y:auto; }
    /* Csoport-fejléc: 11 modul lapos listaként olvashatatlan — három blokkra bontjuk. */
    .sidebar-group {
      font-size:9px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
      color:rgba(255,255,255,0.22); padding:18px 14px 7px;
    }
    .sidebar-nav > .sidebar-group:first-child { padding-top:14px; }
    .sidebar-item {
      display:flex; align-items:center; gap:10px;
      padding:9px 12px; border-radius:10px; cursor:pointer;
      transition:background .12s; margin-bottom:2px;
      border-left:2px solid transparent;
    }
    .sidebar-item:hover { background:rgba(255,255,255,0.05); }
    .sidebar-item.on { background:var(--red-dim); border-left-color:var(--red); }
    .sidebar-item.on .sidebar-item-lbl { color:var(--red); font-weight:700; }
    .sidebar-ico { font-size:16px; width:22px; text-align:center; flex-shrink:0; opacity:.7; }
    .sidebar-item.on .sidebar-ico { opacity:1; }
    .sidebar-item-lbl {
      font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:15px;
      color:rgba(255,255,255,0.65); flex:1; letter-spacing:.3px;
    }
    .sidebar-user {
      padding:16px 18px; border-top:1px solid var(--border-dk);
      display:flex; align-items:center; gap:10px;
    }
    .avatar {
      width:34px; height:34px; border-radius:50%; background:var(--red);
      display:flex; align-items:center; justify-content:center;
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; color:#fff; flex-shrink:0;
    }
    .avatar.sm { width:28px; height:28px; font-size:12px; }
    .sidebar-user-name {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; color:var(--white);
    }
    .sidebar-user-role { font-size:11px; color:rgba(255,255,255,0.35); }

    /* Main */
    .main { flex:1; display:flex; flex-direction:column; min-width:0; }

    /* Topbar */
    .topbar {
      position:sticky; top:0; z-index:100;
      background:var(--cream); border-bottom:1px solid var(--border);
      padding:12px 20px; display:flex; align-items:center; justify-content:space-between;
    }
    .topbar-mobile-logo { display:flex; align-items:center; gap:9px; }
    .topbar-mobile-logo img { width:26px; height:26px; object-fit:contain; }
    .topbar-wordmark {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:18px; color:var(--ink); text-transform:uppercase; letter-spacing:.3px;
    }
    .topbar-right { display:flex; align-items:center; gap:8px; }
    .loc-chip {
      background:var(--white); border:1px solid var(--border); border-radius:20px;
      padding:5px 12px; font-size:11px; font-weight:700; letter-spacing:.5px;
      text-transform:uppercase; color:var(--ink-3);
    }

    /* Content */
    .content { max-width:960px; margin:0 auto; padding:0 20px; }

    /* ── HOME SCREEN ──────────────────────────────────────────── */
    #screen-home { display:none; }
    #screen-home.active { display:block; }

    .greeting { padding:28px 20px 18px; }
    .greeting-date { font-size:12px; color:var(--ink-3); margin-bottom:5px; letter-spacing:.3px; }
    .greeting-name {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:34px; text-transform:uppercase; line-height:.95;
    }
    .greeting-name em { font-style:normal; color:var(--red); }

    .briefing {
      display:block; margin:0 20px 14px; background:var(--black);
      border-radius:var(--r); padding:20px 24px; position:relative; overflow:hidden;
    }
    .briefing::before {
      content:'AI';
      position:absolute; top:-12px; right:10px;
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:130px; line-height:1;
      color:rgba(234,28,45,0.07); text-transform:uppercase; letter-spacing:-4px;
      pointer-events:none; z-index:0;
    }
    .briefing-tag {
      font-size:9px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
      color:rgba(255,255,255,0.35); margin-bottom:8px; position:relative; z-index:1;
    }
    .briefing-text { font-size:15px; line-height:1.65; color:rgba(255,255,255,0.8); position:relative; z-index:1; }
    .briefing-text strong { color:#fff; }

    /* AI-asszisztens brief: státusz-szín (pace), anomália-lista, frissítés-idő */
    .briefing.is-ahead    { box-shadow:inset 4px 0 0 #2ecc71; }
    .briefing.is-behind   { box-shadow:inset 4px 0 0 var(--red); }
    .briefing.is-on_track { box-shadow:inset 4px 0 0 rgba(255,255,255,0.28); }
    .briefing.is-no_data  { box-shadow:inset 4px 0 0 rgba(255,255,255,0.12); }
    .brief-anoms { list-style:none; margin:12px 0 0; padding:0; position:relative; z-index:1; }
    .brief-anoms li {
      font-size:13px; line-height:1.5; color:rgba(255,255,255,0.78);
      padding:7px 0 7px 18px; position:relative; border-top:1px solid rgba(255,255,255,0.08);
    }
    .brief-anoms li::before {
      content:''; position:absolute; left:0; top:13px;
      width:7px; height:7px; border-radius:50%; background:#f5a623;
    }
    .brief-anoms li.sev-high::before { background:var(--red); }
    .brief-updated {
      font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
      color:rgba(255,255,255,0.3); margin-top:12px; position:relative; z-index:1;
    }
    .brief-updated:empty { display:none; }

    .alert {
      margin:0 20px 20px; background:var(--orange-dim);
      border:1px solid rgba(194,65,12,0.14); border-radius:var(--r-sm);
      padding:11px 14px; font-size:13px; color:var(--orange); font-weight:600;
    }

    .sec-head { padding:0 20px 10px; display:flex; align-items:center; justify-content:space-between; }
    .sec-title {
      font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700;
      letter-spacing:3px; text-transform:uppercase; color:var(--ink-3);
      display:flex; align-items:center; gap:8px;
    }
    .sec-title::before {
      content:''; width:3px; height:14px; background:var(--red); border-radius:2px; flex-shrink:0;
    }
    .live-chip {
      background:var(--white); border:1px solid var(--border); border-radius:20px;
      padding:4px 10px; font-size:11px; font-weight:600; color:var(--ink-3);
      display:flex; align-items:center; gap:5px;
    }
    .live-dot { width:6px; height:6px; border-radius:50%; background:var(--green); animation:pulse 2s infinite; }

    /* KPI */
    .kpi-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 20px 24px; }
    .kpi { background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:18px 16px; }
    .kpi.red { background:var(--red); }
    .kpi.dark { background:var(--black); }
    .kpi-lbl {
      font-size:9px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
      color:var(--ink-3); margin-bottom:10px;
    }
    .kpi.red .kpi-lbl, .kpi.red .kpi-delta { color:rgba(255,255,255,0.55); }
    .kpi.red .kpi-val { color:#fff; }
    .kpi.dark .kpi-lbl { color:rgba(255,255,255,0.4); }
    .kpi.dark .kpi-val { color:#fff; }
    .kpi.dark .kpi-delta { color:rgba(255,255,255,0.5); }
    .kpi-val {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:38px; line-height:1; margin-bottom:5px; text-transform:uppercase;
    }
    .kpi-val small { font-size:14px; font-weight:700; }
    .kpi-delta { font-size:12px; font-weight:600; color:var(--green); }
    /* A rendelésszám nem delta: ne vigye a zöld „növekedés" jelentést. */
    .kpi-orders { color:var(--ink-2); }
    .kpi-avg { display:block; margin-top:2px; font-size:11px; font-weight:600; color:var(--ink-3); }
    .kpi.red .kpi-avg { color:rgba(255,255,255,0.6); }
    .kpi-delta.dn { color:var(--red); }
    .kpi-prod {
      margin-top:8px; padding-top:8px; border-top:1px solid var(--border);
      font-size:11px; font-weight:600; line-height:1.5; color:var(--ink-2);
    }
    .kpi-prod:empty { display:none; }
    .kpi.red .kpi-prod {
      color:rgba(255,255,255,0.78); border-top-color:rgba(255,255,255,0.18);
    }
    /* Kattintható KPI-kártya (home → Riportok mélylink). A „›" jelzi, hogy tovább visz. */
    .kpi-link { cursor:pointer; position:relative; -webkit-tap-highlight-color:transparent;
      transition:transform .12s ease, box-shadow .12s ease; }
    .kpi-link::after {
      content:'\203A'; position:absolute; top:13px; right:15px; line-height:1;
      font-size:19px; font-weight:700; color:var(--ink-3); opacity:.55;
    }
    .kpi.red.kpi-link::after { color:#fff; opacity:.6; }
    .kpi-link:active { transform:scale(.985); }
    .kpi-link:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
    @media (hover:hover) {
      .kpi-link:hover { box-shadow:0 6px 18px rgba(0,0,0,.12); }
    }

    /* Modules */
    .modules { padding:0 20px 28px; display:grid; grid-template-columns:1fr; gap:8px; }
    .mod {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      padding:16px; display:flex; align-items:center; gap:14px;
      cursor:pointer; transition:box-shadow .15s, transform .12s;
    }
    .mod:hover { box-shadow:var(--shadow-md); transform:translateY(-1px); }
    .mod:active { transform:translateY(0); }
    .mod-icon {
      width:44px; height:44px; border-radius:12px;
      display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0;
    }
    .mod-icon.r { background:var(--red-dim); }
    .mod-icon.g { background:var(--green-dim); }
    .mod-icon.b { background:rgba(37,99,235,0.08); }
    .mod-icon.o { background:var(--orange-dim); }
    .mod-body { flex:1; min-width:0; }
    .mod-name {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:18px;
      margin-bottom:1px; letter-spacing:.3px;
    }
    .mod-sub { font-size:12px; color:var(--ink-3); }
    .badge { background:var(--red); color:#fff; border-radius:20px; padding:3px 9px; font-size:10px; font-weight:700; flex-shrink:0; }
    .badge.warn { background:var(--orange); }
    .mod-arrow { color:var(--ink-3); font-size:18px; }
    .mod.feat { background:var(--black); }
    .mod.feat .mod-name { color:var(--white); font-size:20px; }
    .mod.feat .mod-sub { color:rgba(255,255,255,0.45); }
    .mod.feat .mod-arrow { color:rgba(255,255,255,0.3); font-size:20px; }
    .mod.feat .mod-icon.r { background:rgba(234,28,45,0.18); }

    #screen-bor { display:none; }
    #screen-bor.active { display:block; }
    #screen-riportok { display:none; }
    #screen-riportok.active { display:block; }
    #screen-beosztas { display:none; }
    #screen-beosztas.active { display:block; }

    .screen-head {
      padding:24px 20px 14px; display:flex; align-items:flex-start; justify-content:space-between;
    }
    .screen-title {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:30px; line-height:.95; text-transform:uppercase;
    }
    .btn-close { font-size:18px; color:var(--ink-3); padding:4px; line-height:1; transition:color .12s; }
    .btn-close:hover { color:var(--ink); }

    /* Month nav */
    .month-nav {
      display:flex; align-items:center; justify-content:space-between;
      margin:0 20px 18px; background:var(--black);
      border-radius:var(--r); padding:12px 16px;
    }
    .month-btn {
      width:36px; height:36px; border-radius:50%;
      background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.7);
      font-size:20px; line-height:1; display:flex; align-items:center; justify-content:center;
      transition:background .12s;
    }
    .month-btn:hover { background:rgba(255,255,255,0.14); }
    .month-btn:disabled { opacity:.2; cursor:default; }
    .month-label {
      font-family:'Barlow Condensed',sans-serif; font-weight:700;
      font-size:17px; color:var(--white); letter-spacing:.3px;
    }

    /* Summary */
    .sum-row { display:flex; gap:10px; padding:0 20px 18px; overflow-x:auto; }
    .sum-card { flex:1; min-width:72px; background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:14px; }
    .sum-card.red { background:var(--red); flex:1.4; }
    .sum-lbl {
      font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
      color:var(--ink-3); margin-bottom:6px; white-space:nowrap;
    }
    .sum-card.red .sum-lbl { color:rgba(255,255,255,0.55); }
    .sum-card.red .sum-val { color:#fff; }
    .sum-val {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:20px; line-height:1; text-transform:uppercase;
      white-space:nowrap;
    }

    /* Employee list */
    .emp-list { display:flex; flex-direction:column; gap:8px; padding:0 20px 20px; }
    .emp-row {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      padding:14px 16px; display:flex; align-items:center; gap:12px;
      transition: box-shadow .15s, transform .12s;
    }
    .emp-row:hover { box-shadow:var(--shadow-md); transform:translateY(-1px); }
    .emp-av {
      width:42px; height:42px; border-radius:50%;
      background:var(--black); color:var(--white);
      display:flex; align-items:center; justify-content:center;
      font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900; font-size:16px; flex-shrink:0;
    }
    .emp-info { flex:1; min-width:0; }
    .emp-name {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px;
      letter-spacing:.3px; line-height:1.2;
    }
    .emp-stats { font-size:12px; color:var(--ink-3); margin-top:2px; font-weight:500; }
    .emp-stats strong { color:var(--red); font-weight:700; }
    .emp-add {
      width:40px; height:40px; border-radius:50%; background:var(--red); color:#fff; flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      font-size:22px; font-weight:700; line-height:1;
      box-shadow:0 3px 10px rgba(234,28,45,0.35);
      transition:opacity .15s, transform .12s, box-shadow .15s;
    }
    .emp-add:hover  { box-shadow:0 5px 16px rgba(234,28,45,0.45); transform:scale(1.05); }
    .emp-add:active { opacity:.85; transform:scale(.93); box-shadow:none; }
    .emp-bonus {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px;
      letter-spacing:1px; text-transform:uppercase; color:var(--green);
      background:var(--green-dim); border:1px solid rgba(22,163,74,0.2);
      border-radius:20px; padding:7px 12px; cursor:pointer; flex-shrink:0;
      transition:background .12s;
    }
    .emp-bonus:hover { background:rgba(22,163,74,0.14); }

    /* Log list */
    .log-list { padding:0 20px 32px; display:flex; flex-direction:column; gap:8px; }
    .log-empty { text-align:center; padding:36px 20px; color:var(--ink-3); font-size:14px; }

    /* ── BEOSZTÁS ─────────────────────────────────────────────── */
    .sched-filter { padding:0 20px 16px; display:flex; align-items:center; gap:10px; }
    .sched-filter label {
      font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
      color:var(--ink-3); white-space:nowrap;
    }
    .sched-filter select {
      flex:1; appearance:none; -webkit-appearance:none;
      background:var(--white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%23888' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;
      border:1.5px solid var(--border); border-radius:var(--r-sm);
      padding:12px 36px 12px 14px; font-size:16px; font-family:'Barlow',sans-serif;
      color:var(--ink); outline:none; cursor:pointer; min-height:44px;
    }
    .sched-filter select:focus { border-color:var(--red); }

    /* Bolt-címke pirula (ma-dolgozik + nap-részletek) */
    .sched-loc {
      display:inline-block;
      font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
      padding:4px 10px; border-radius:999px; color:#fff;
    }
    .sched-loc.loc-plaza { background:#b8860b; }
    .sched-loc.loc-szi   { background:var(--red); }

    /* Színpöttyök */
    .dot { display:inline-block; width:8px; height:8px; border-radius:50%; vertical-align:middle; }
    .dot-plaza { background:#b8860b; }
    .dot-szi   { background:var(--red); }

    /* Naptár rács */
    .sched-list { padding:0 16px 8px; }
    .cal {
      display:grid; grid-template-columns:repeat(7,1fr); gap:5px;
    }
    .cal-head {
      text-align:center; font-size:10px; font-weight:700; letter-spacing:.5px;
      text-transform:uppercase; color:var(--ink-3); padding:4px 0 2px;
    }
    .cal-head.weekend { color:var(--red); }
    .cal-cell {
      position:relative; min-height:54px; border-radius:10px;
      background:var(--white); box-shadow:var(--shadow);
      padding:5px 4px 4px; display:flex; flex-direction:column; align-items:center; gap:3px;
    }
    .cal-cell.empty { background:transparent; box-shadow:none; }
    .cal-cell.weekend:not(.empty) { background:var(--cream-dk); }
    .cal-cell.has { cursor:pointer; }
    .cal-cell.today { outline:2px solid var(--red); outline-offset:-2px; }
    .cal-cell.fill-plaza { background:rgba(184,134,11,0.14); }
    .cal-cell.fill-szi   { background:var(--red-dim); }
    .cal-daynum {
      font-family:'Barlow Condensed',sans-serif; font-weight:700;
      font-size:15px; line-height:1; color:var(--ink-2);
    }
    .cal-cell.today .cal-daynum { color:var(--red); }
    .cal-dots { display:flex; flex-wrap:wrap; gap:3px; justify-content:center; align-items:center; }
    .cal-counts { display:flex; flex-direction:column; gap:2px; align-items:center; }
    .cal-cnt { font-size:11px; font-weight:700; color:var(--ink-2); display:flex; align-items:center; gap:3px; }
    .cal-vac { font-size:10px; font-weight:700; color:var(--ink-3); }

    .cal-hr {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px;
      line-height:1; color:var(--ink-3); margin-top:1px;
    }

    .cal-legend {
      display:flex; gap:18px; justify-content:center; padding:12px 0 4px;
      font-size:12px; color:var(--ink-2);
    }
    .cal-legend span { display:flex; align-items:center; gap:6px; }

    /* Beosztás-AI (owner-only kérdés-válasz) */
    .sai-card {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      padding:14px; margin:0 20px 16px;
    }
    .sai-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
    .sai-title {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px;
      letter-spacing:.3px; color:var(--ink);
    }
    .sai-clear {
      background:none; border:none; font-size:11px; color:var(--ink-3);
      text-decoration:underline; cursor:pointer; padding:2px 4px;
    }
    .sai-turn { margin-bottom:12px; }
    .sai-q {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px;
      color:var(--ink); background:var(--cream-dk); border-radius:8px;
      padding:7px 11px; margin-bottom:7px;
    }
    .sai-a { font-size:13.5px; line-height:1.55; color:var(--ink-2); padding:0 2px; }
    .sai-a p { margin:0 0 7px; }
    .sai-a ul { margin:0 0 7px; padding-left:18px; }
    .sai-a li { margin-bottom:3px; }
    .sai-a h4 {
      font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:700;
      color:var(--ink); margin:8px 0 4px;
    }
    .sai-a.err { color:var(--red); font-weight:600; }
    .sai-a.wait { color:var(--ink-3); font-style:italic; margin-bottom:10px; }
    .sai-meta { font-size:10px; color:var(--ink-3); margin-top:5px; letter-spacing:.3px; }
    .sai-form { display:flex; gap:8px; }
    .sai-input {
      flex:1; min-width:0; border:1.5px solid var(--border); border-radius:10px;
      padding:10px 12px; font-family:'Barlow',sans-serif; font-size:14px;
      color:var(--ink); background:var(--white);
    }
    .sai-input:focus { outline:none; border-color:var(--red); }
    .sai-input:disabled { opacity:.6; }
    .sai-send {
      background:var(--red); color:#fff; border:none; border-radius:10px;
      padding:10px 16px; font-family:'Barlow Condensed',sans-serif;
      font-weight:800; font-size:15px; cursor:pointer; white-space:nowrap;
    }
    .sai-send:disabled { opacity:.45; cursor:not-allowed; }
    .sai-tips { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
    .sai-tip {
      background:var(--cream-dk); border:none; border-radius:14px;
      padding:6px 11px; font-family:'Barlow',sans-serif; font-size:11.5px;
      color:var(--ink-2); cursor:pointer; text-align:left;
    }
    .sai-tip:active { background:var(--cream-ddk); }

    /* Óra-bontás (Beosztás összesítő alatt) */
    .sched-hr-card {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      padding:6px 14px; margin:0 20px 16px;
    }
    .sched-hr-sub {
      font-size:10px; color:var(--ink-3); font-weight:600;
      letter-spacing:.4px; text-transform:uppercase; margin-top:1px;
    }
    .sched-hr-vac { color:#b8860b; }
    .sched-hr-note {
      margin:-6px 20px 16px; font-size:11.5px; line-height:1.45; color:var(--ink-3);
    }
    .sec-sub { font-size:11px; color:var(--ink-3); }
    .tn-meta { font-style:normal; font-weight:600; color:var(--ink-3); font-size:13px; }

    /* Kiválasztott nap részletei */
    #sched-detail { padding:4px 20px 32px; }
    .sched-detail-card {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:16px;
    }
    .sched-detail-title {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px;
      color:var(--ink); margin-bottom:12px; text-transform:capitalize;
    }
    .day-loc { display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
    .day-loc:last-child { margin-bottom:0; }

    /* Ma dolgozik (főoldal) + nap-részletek névlista */
    .today-staff { padding:0 20px 8px; display:flex; flex-direction:column; gap:12px; }
    .today-loc {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:14px;
    }
    .today-loc-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
    .today-count { font-size:11px; font-weight:700; color:var(--ink-3); }
    .today-names { display:flex; flex-wrap:wrap; gap:7px; }
    .today-name {
      font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:15px;
      color:var(--ink); background:var(--cream-dk); border-radius:8px; padding:5px 11px;
    }
    .today-name.vac { opacity:.55; text-decoration:line-through; }
    .log-item {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      padding:14px 16px; display:flex; align-items:center; gap:12px;
      transition:opacity .2s;
    }
    .log-av {
      width:36px; height:36px; border-radius:50%;
      background:var(--cream-dk);
      display:flex; align-items:center; justify-content:center;
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; color:var(--ink-2); flex-shrink:0;
    }
    .log-info { flex:1; min-width:0; }
    .log-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; letter-spacing:.3px; }
    .log-meta { font-size:11px; color:var(--ink-3); margin-top:1px; }
    .log-amount {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:18px; color:var(--ink);
    }
    .log-delete { color:var(--ink-3); font-size:16px; padding:4px; transition:color .1s; }
    .log-delete:hover { color:var(--red); }
    .log-item.bonus { border-left:3px solid var(--green); }
    .log-av.bonus { background:rgba(22,163,74,0.12); color:var(--green); }
    .log-amount.bonus { color:var(--green); }
    .btn-bonus-add {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px;
      letter-spacing:1px; text-transform:uppercase; color:var(--green);
      background:var(--green-dim); border:1px solid rgba(22,163,74,0.2);
      border-radius:20px; padding:5px 12px; cursor:pointer; transition:background .12s;
    }
    .btn-bonus-add:hover { background:rgba(22,163,74,0.14); }

    /* ── WIZARD OVERLAY ───────────────────────────────────────── */
    .wizard-overlay {
      position:fixed; inset:0; z-index:500;
      background:rgba(0,0,0,0.55); backdrop-filter:blur(2px);
      display:flex; align-items:flex-end; justify-content:center;
      opacity:0; pointer-events:none; transition:opacity .22s;
    }
    .wizard-overlay.open { opacity:1; pointer-events:all; }
    .wizard-sheet {
      width:100%; max-width:480px; background:var(--cream);
      border-radius:22px 22px 0 0; padding:0 0 40px;
      transform:translateY(100%);
      transition:transform .3s cubic-bezier(.32,1,.26,1);
      max-height:92vh; overflow-y:auto;
    }
    .wizard-overlay.open .wizard-sheet { transform:translateY(0); }

    .wizard-handle {
      width:40px; height:4px; border-radius:4px;
      background:var(--cream-ddk); margin:14px auto 0;
    }
    .wizard-head {
      padding:18px 20px 8px; display:flex; align-items:center; justify-content:space-between;
    }
    .wizard-title {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:22px; text-transform:uppercase; letter-spacing:.3px;
    }
    .wizard-step { font-size:11px; color:var(--ink-3); font-weight:600; letter-spacing:.5px; }
    .wizard-close { font-size:18px; color:var(--ink-3); transition:color .1s; }
    .wizard-close:hover { color:var(--ink); }

    /* Step bar */
    .step-bar { display:flex; gap:6px; padding:0 20px 18px; }
    .step-dot { flex:1; height:3px; border-radius:3px; background:var(--cream-ddk); transition:background .2s; }
    .step-dot.done { background:var(--red); }

    /* Employee picker in wizard */
    .emp-picker { display:flex; flex-direction:column; gap:8px; padding:0 20px 8px; }
    .emp-pick-card {
      background:var(--white); border-radius:var(--r); padding:12px 16px;
      cursor:pointer; transition:all .15s; border:2px solid transparent;
      box-shadow:var(--shadow);
    }
    .emp-pick-card:hover { border-color:var(--red-border); background:var(--cream); }
    .emp-pick-av {
      width:38px; height:38px; border-radius:50%;
      background:var(--black); color:var(--white);
      display:flex; align-items:center; justify-content:center;
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px; flex-shrink:0;
    }
    .emp-pick-name { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; letter-spacing:.3px; }
    .emp-pick-total { font-size:11px; color:var(--ink-3); margin-top:1px; }

    /* Amount picker */
    .amount-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 20px 8px; }
    .amount-btn {
      background:var(--white); border-radius:var(--r); padding:18px; text-align:center;
      cursor:pointer; border:2px solid var(--border); box-shadow:var(--shadow);
      transition:all .15s;
    }
    .amount-btn:hover { border-color:var(--red-border); }
    .amount-btn.selected {
      border-color:var(--red); background:var(--red); box-shadow:0 4px 14px rgba(234,28,45,0.3);
    }
    .amount-btn-val {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:22px; color:var(--ink); text-transform:uppercase;
    }
    .amount-btn.selected .amount-btn-val { color:#fff; }
    .amount-btn-lbl { font-size:11px; color:var(--ink-3); margin-top:2px; font-weight:600; letter-spacing:1px; }
    .amount-btn.selected .amount-btn-lbl { color:rgba(255,255,255,0.7); }
    .amount-custom { padding:0 20px 8px; }
    .amount-custom input {
      width:100%; background:var(--white);
      border:2px solid var(--border); border-radius:var(--r-sm);
      padding:14px 16px; font-size:20px;
      font-family:'Barlow Condensed',sans-serif; font-weight:700;
      color:var(--ink); outline:none; text-align:center;
      transition:border-color .18s;
    }
    .amount-custom input:focus { border-color:var(--red); }

    /* Numpad */
    .numpad-grid {
      display:grid; grid-template-columns:repeat(3,1fr);
      border-top:1px solid var(--border);
    }
    .numpad-btn {
      padding:20px 0; text-align:center;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:26px; color:var(--ink);
      cursor:pointer; user-select:none; -webkit-tap-highlight-color:transparent;
      border-right:1px solid var(--border); border-bottom:1px solid var(--border);
    }
    .numpad-btn:active { background:var(--cream-dk); }
    .numpad-btn:nth-child(3n) { border-right:none; }
    .numpad-btn:nth-last-child(-n+3) { border-bottom:none; }

    /* Confirm step */
    .confirm-box {
      margin:0 20px 20px; background:var(--black); border-radius:var(--r);
      padding:28px 24px; text-align:center;
    }
    .confirm-av {
      width:64px; height:64px; border-radius:50%; background:var(--red); color:#fff;
      display:flex; align-items:center; justify-content:center;
      font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900; font-size:26px;
      margin:0 auto 12px; box-shadow:0 4px 16px rgba(234,28,45,0.4);
    }
    .confirm-who {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px;
      color:rgba(255,255,255,0.7); margin-bottom:6px; letter-spacing:.5px;
    }
    .confirm-amount {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      font-weight:900; font-size:48px; color:var(--red); line-height:1; text-transform:uppercase;
    }
    .confirm-unit { font-size:18px; font-weight:700; color:var(--red); }
    .confirm-meta { font-size:12px; color:rgba(255,255,255,0.35); margin-top:10px; letter-spacing:.3px; }
    .confirm-note { padding:0 20px 16px; }
    .confirm-note input {
      width:100%; background:var(--white); border:1.5px solid var(--border);
      border-radius:var(--r-sm); padding:13px 15px; font-size:14px; color:var(--ink);
      outline:none; transition:border-color .18s;
    }
    .confirm-note input:focus { border-color:var(--red); }
    .confirm-note input::placeholder { color:#ccc; }
    .wizard-cta { padding:0 20px; }

    /* ── SETTINGS SCREEN ─────────────────────────────────────── */
    #screen-settings { display:none; }
    #screen-settings.active { display:block; }

    .settings-section { padding:0 20px 24px; }
    .settings-card {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); overflow:hidden;
    }
    .settings-row {
      display:flex; align-items:center; gap:12px;
      padding:14px 16px; border-bottom:1px solid var(--border);
    }
    .settings-row:last-child { border-bottom:none; }
    .settings-row-av {
      width:36px; height:36px; border-radius:50%; background:var(--black); color:var(--white);
      display:flex; align-items:center; justify-content:center;
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; flex-shrink:0;
    }
    .settings-row-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; flex:1; }
    .settings-row-del {
      width:32px; height:32px; border-radius:50%; color:var(--ink-3); font-size:16px;
      display:flex; align-items:center; justify-content:center;
      transition:background .12s, color .12s; flex-shrink:0;
    }
    .settings-row-del:hover { background:rgba(234,28,45,0.08); color:var(--red); }

    .settings-add {
      display:flex; gap:10px; margin-top:12px;
    }
    .settings-add input {
      flex:1; background:var(--white); border:1.5px solid var(--border);
      border-radius:var(--r-sm); padding:13px 15px; font-size:15px;
      color:var(--ink); outline:none; transition:border-color .18s;
      font-family:'Barlow Condensed',sans-serif; font-weight:600;
    }
    .settings-add input:focus { border-color:var(--red); }
    .settings-add input::placeholder { color:#ccc; font-weight:400; }
    .settings-add-btn {
      width:48px; height:48px; border-radius:50%; background:var(--red); color:#fff; flex-shrink:0;
      display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700;
      box-shadow:0 3px 10px rgba(234,28,45,0.3); transition:opacity .15s;
    }
    .settings-add-btn:active { opacity:.8; }

    .settings-logout {
      margin:0 20px 32px; background:var(--white); border-radius:var(--r);
      box-shadow:var(--shadow); padding:14px 16px;
      display:flex; align-items:center; gap:12px; cursor:pointer;
      transition:background .12s;
    }
    .settings-logout:hover { background:#fff5f5; }
    .settings-logout-lbl {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; color:var(--red);
    }

    @media (min-width:768px) {
      .settings-section { padding:0 32px 24px; }
      .settings-logout { margin:0 32px 32px; }
    }

    /* ── BOTTOM NAV ───────────────────────────────────────────── */
    /* Legfeljebb 5 cella (4 modul + „Több") — a tartalmát a renderNav() adja.
       Így egy cella ~72 px 360 px-es kijelzőn, és a címke kiírható. */
    .bottom-nav {
      position:fixed; bottom:0; left:0; right:0;
      background:var(--black); border-top:1px solid var(--border-dk);
      display:flex; flex-wrap:nowrap; padding:8px 0 24px; z-index:200;
      /* Biztonsági háló: ha valaha nem férne el minden tab, vízszintesen görget — SOHA nem törik le új sorba. */
      overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    }
    .bottom-nav::-webkit-scrollbar { display:none; }
    /* min-width:0 KELL: enélkül a flex-elem nem zsugorodhat a címke-szó alá → túlcsordul / letörik. */
    .nav-tab { flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:4px; cursor:pointer; padding:6px 4px; }
    .nav-ico { font-size:21px; line-height:1; transition:transform .12s; }
    .nav-tab.on .nav-ico { transform:translateY(-1px); }
    .nav-lbl {
      font-size:10px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
      color:rgba(255,255,255,0.38); max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }
    .nav-tab.on .nav-lbl { color:var(--red); }
    .nav-dot { width:4px; height:4px; border-radius:50%; background:var(--red); }

    /* ── „TÖBB" MENÜ-LAP ──────────────────────────────────────── */
    .more-sheet { padding-bottom:32px; }
    .more-group {
      font-family:'Barlow Condensed',sans-serif;
      font-size:10px; font-weight:800; letter-spacing:2.5px; text-transform:uppercase;
      color:var(--ink-3); padding:16px 20px 8px;
    }
    .more-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 20px; }
    .more-item {
      display:flex; align-items:center; gap:10px; min-width:0;
      background:var(--white); border:1px solid var(--border); border-radius:var(--r-sm);
      padding:14px 13px; cursor:pointer; transition:background .12s, border-color .12s;
    }
    .more-item:active { background:var(--cream-dk); }
    .more-item.on { background:var(--red-dim); border-color:var(--red-border); }
    .more-item.on .more-lbl { color:var(--red); }
    .more-ico { font-size:20px; line-height:1; flex-shrink:0; }
    .more-lbl {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px;
      letter-spacing:.3px; text-transform:uppercase; color:var(--ink);
      min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }

    /* ── PULL TO REFRESH ─────────────────────────────────────── */
    #ptr-ind {
      position:fixed; top:14px; left:0; right:0; text-align:center;
      font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:700;
      letter-spacing:2px; text-transform:uppercase; color:var(--ink-3);
      opacity:0; pointer-events:none; z-index:150;
    }

    /* ── TOAST ────────────────────────────────────────────────── */
    .toast {
      position:fixed; bottom:90px; left:50%;
      transform:translateX(-50%) translateY(10px);
      background:var(--black); color:#fff;
      padding:12px 24px; border-radius:40px;
      font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700;
      letter-spacing:.5px; text-transform:uppercase;
      opacity:0; transition:all .22s; pointer-events:none; z-index:999; white-space:nowrap;
      border:1px solid rgba(255,255,255,0.1);
      box-shadow:0 8px 24px rgba(0,0,0,0.3);
    }
    .toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
    .spinner {
      display:inline-block; width:15px; height:15px;
      border:2px solid rgba(255,255,255,0.3); border-top-color:#fff;
      border-radius:50%; animation:spin .65s linear infinite; vertical-align:middle; margin-right:6px;
    }

    /* ── RESPONSIVE ───────────────────────────────────────────── */
    @media (max-width:767px) {
      .sidebar { display:none !important; }
      #app.active { display:block; }
      .main { padding-bottom:80px; }
      .wizard-sheet { max-height:90vh; }
      .sum-row { display:grid; grid-template-columns:1fr 1fr; overflow-x:visible; }
      .futar-month-card { flex-direction:column; gap:8px; }
      .futar-month-label { min-width:unset; }
      .futar-month-stats { width:100%; gap:16px; }
      /* iOS auto-zoom prevention: inputs < 16px trigger viewport zoom on tap */
      .field input, .field select, .field textarea,
      .settings-add input, .confirm-note input,
      .plaza-search-wrap input, .plaza-edit-search-wrap input,
      .plaza-items-inp, .plaza-items-new-inp, .plaza-egyeb-inp { font-size:16px; }
    }
    @media (min-width:768px) {
      .bottom-nav { display:none !important; }
      :root { --nav-h:0px; }   /* desktopon nincs lenti sáv */
      /* A „Több" lap a lenti sávhoz tartozik — desktopon a sidebar veszi át. */
      .more-overlay { display:none !important; }
      #app.active { display:flex; }
      .main { margin-left:var(--sidebar-w); }
      .topbar-mobile-logo { display:none; }
      .topbar { padding:14px 32px; }
      .content { padding:0 32px; }
      .greeting { padding:36px 32px 22px; }
      .greeting-name { font-size:44px; }
      .briefing { margin:0 32px 16px; }
      .alert { margin:0 32px 20px; }
      .kpi-grid { grid-template-columns:repeat(4,1fr); gap:14px; padding:0 32px 24px; }
      .modules { grid-template-columns:1fr 1fr; gap:12px; padding:0 32px 28px; }
      .mod.feat { grid-column:1/-1; }
      .sec-head { padding:0 32px 10px; }
      .screen-head { padding:32px 32px 16px; }
      .sum-row { padding:0 32px 20px; }
      .emp-list { padding:0 32px 20px; }
      .log-list { padding:0 32px 32px; }
      .month-nav { margin:0 32px 20px; }
      .toast { bottom:32px; }
      .wizard-sheet { border-radius:22px; margin:auto; max-height:82vh; }
      .wizard-overlay { align-items:center; }
    }
    @media (min-width:1200px) { :root { --sidebar-w:260px; } }

    #screen-futar { display:none; }
    #screen-futar.active { display:block; }

    /* Marketing naptár — csak aktív tabnál látszik (különben a főoldal aljára lógna) */
    #screen-marketing { display:none; }
    #screen-marketing.active { display:block; }

    /* Upsell kalkulátor — csak a Riportok-linkre kattintva (különben a többi képernyő aljára lógna) */
    #screen-upsell { display:none; }
    #screen-upsell.active { display:block; }
    #screen-game { display:none; }
    #screen-game.active { display:block; }
    /* Biztonsági háló: MINDEN nem-aktív képernyő rejtve — új screen sose ragadjon be a
       lap aljára, ha elfelejtjük a külön display:none szabályt (lásd screen-game bug). */
    .screens > div:not(.active) { display:none; }

    /* Monthly summary cards */
    .futar-month-card {
      background:#fff; border-radius:14px; box-shadow:var(--shadow);
      padding:18px 20px; margin:0 20px 10px;
      display:flex; align-items:center; gap:16px;
    }
    .futar-month-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--black); min-width:100px; }
    .futar-month-stats { flex:1; display:flex; gap:24px; }
    .futar-month-stat { display:flex; flex-direction:column; }
    .futar-month-stat-val { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:18px; color:var(--red); }
    .futar-month-stat-lbl { font-size:11px; color:var(--ink-3); margin-top:1px; }

    /* Log rows */
    .futar-log-row {
      display:flex; align-items:center; gap:12px;
      padding:12px 0; border-bottom:1px solid var(--border);
    }
    .futar-log-row:last-child { border-bottom:none; }
    .futar-log-av { width:32px; height:32px; border-radius:50%; background:var(--black); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; flex-shrink:0; }
    .futar-log-body { flex:1; min-width:0; }
    .futar-log-name { font-weight:600; font-size:13px; color:var(--black); }
    .futar-log-date { font-size:11px; color:var(--ink-3); }
    .futar-log-right { text-align:right; flex-shrink:0; }
    .futar-log-amount { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px; color:var(--red); }
    .futar-log-addrs { font-size:11px; color:var(--ink-3); margin-top:1px; }

    #futar-app { display:none; min-height:100vh; background:var(--cream); background-image:radial-gradient(circle,rgba(26,26,26,0.06) 1px,transparent 1px); background-size:26px 26px; }
    #futar-app.active { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:48px 20px 40px; }
    .futar-card {
      width:100%; max-width:400px;
      background:#fff; border-radius:20px; box-shadow:var(--shadow-md);
      padding:32px 28px 28px;
    }
    .futar-logo { display:flex; align-items:center; gap:10px; margin-bottom:28px; }
    .futar-logo img { width:28px; height:28px; object-fit:contain; }
    .futar-logo-word { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; letter-spacing:1px; color:var(--black); }
    .futar-logo-word em { font-style:normal; color:var(--red); }
    .futar-greeting { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--black); margin-bottom:6px; }
    .futar-sub { font-size:13px; color:var(--ink-3); margin-bottom:28px; }
    .futar-success { text-align:center; padding:12px 0 4px; }
    .futar-success-ico { font-size:48px; margin-bottom:12px; }
    .futar-success-msg { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:22px; color:var(--green); margin-bottom:6px; }
    .futar-success-sub { font-size:13px; color:var(--ink-3); margin-bottom:24px; }
    .futar-logout { display:block; width:100%; margin-top:16px; text-align:center; font-size:12px; color:var(--ink-3); cursor:pointer; background:none; border:none; font-family:inherit; }

    /* Futár records on owner home */
    .futar-rec-list { padding:0 20px 24px; }
    .futar-rec-item {
      display:flex; align-items:center; gap:14px;
      background:#fff; border-radius:12px; padding:14px 16px;
      margin-bottom:8px; box-shadow:var(--shadow);
    }
    .futar-rec-av { width:36px; height:36px; border-radius:50%; background:var(--black); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px; flex-shrink:0; }
    .futar-rec-body { flex:1; min-width:0; }
    .futar-rec-name { font-weight:600; font-size:14px; color:var(--black); }
    .futar-rec-meta { font-size:12px; color:var(--ink-3); margin-top:1px; }
    .futar-rec-amount { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; color:var(--red); white-space:nowrap; }

    /* ── RIPORTOK ─────────────────────────────────────────────── */
    .rep-tabs {
      display:flex; gap:8px; padding:0 20px 16px;
      overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    }
    .rep-tabs::-webkit-scrollbar { display:none; }
    .rep-tab {
      flex:0 0 auto; white-space:nowrap; text-align:center; padding:10px 16px;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px;
      letter-spacing:.5px; text-transform:uppercase;
      background:var(--white); border-radius:var(--r-sm); border:1.5px solid var(--border);
      color:var(--ink-3); cursor:pointer; transition:all .15s;
    }
    .rep-tab.on { background:var(--black); color:var(--white); border-color:var(--black); }

    .rep-filter-row { display:flex; align-items:center; gap:10px; }
    .rep-filter-select {
      background:var(--white); border:1.5px solid var(--border); border-radius:var(--r-sm);
      padding:7px 12px; font-size:12px; font-weight:700; font-family:'Barlow Condensed',sans-serif;
      letter-spacing:.5px; text-transform:uppercase; color:var(--ink-2); outline:none; cursor:pointer;
      transition:border-color .15s;
    }
    .rep-filter-select:focus { border-color:var(--red); }

    .rep-table-wrap { padding:0 20px 20px; overflow-x:auto; }
    .rep-table { width:100%; border-collapse:collapse; font-size:13px; }
    .rep-th {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:10px;
      letter-spacing:2px; text-transform:uppercase; color:var(--ink-3);
      padding:10px 12px; border-bottom:2px solid var(--border);
      text-align:left; cursor:pointer; white-space:nowrap; user-select:none;
      transition:color .12s;
    }
    .rep-th:hover { color:var(--ink); }
    .rep-th.sorted { color:var(--red); }
    .rep-th .sort-ico { margin-left:4px; font-size:9px; }
    .rep-td {
      padding:11px 12px; border-bottom:1px solid var(--border);
      font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:14px; color:var(--ink);
    }
    .rep-tr:last-child .rep-td { border-bottom:none; }
    .rep-tr:hover .rep-td { background:var(--cream); }
    .rep-td.num { text-align:right; font-weight:700; color:var(--red); }
    .rep-td.dimmed { color:var(--ink-3); font-weight:600; }
    .rep-td.current { font-weight:800; }

    .rep-bar-wrap { display:flex; align-items:center; gap:8px; }
    .rep-bar { height:6px; border-radius:3px; background:var(--red); flex-shrink:0; min-width:2px; }

    .ch-row {
      display:flex; align-items:center; gap:10px; padding:11px 0;
      border-bottom:1px solid var(--border);
    }
    .ch-row:last-child { border-bottom:none; }
    /* Kétszintű kategória-bontás (0044): a főkategória-sor nyitható, az
       alkategória-sorok behúzva, halványabb elválasztóval jelzik, hogy egy
       csoporthoz tartoznak. */
    .kd-fo-row { cursor:pointer; user-select:none; }
    .kd-fo-row:active { opacity:.6; }
    .kd-fo-caret { font-size:11px; color:var(--ink-3); margin-left:4px; }
    .kd-al-row { padding:7px 0; border-bottom:1px dashed var(--border); }
    .kd-al-row:last-child { border-bottom:1px solid var(--border); }
    .ch-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; flex:1; }
    .ch-pct { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; color:var(--red); min-width:44px; text-align:right; }
    .ch-m { font-size:12px; color:var(--ink-3); min-width:54px; text-align:right; }
    .ch-track { flex:1; height:6px; background:var(--cream-ddk); border-radius:3px; overflow:hidden; }
    .ch-fill { height:100%; background:var(--red); border-radius:3px; }

    .rep-card-wrap { padding:0 20px 16px; }
    .rep-kpi-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

    /* ── Napi tab (R-Keeper) ─────────────────────────────────────── */
    .rk-periods { display:flex; gap:7px; overflow-x:auto; padding:2px 0 12px; -webkit-overflow-scrolling:touch; }
    .rk-chip {
      flex:0 0 auto; padding:8px 14px; border-radius:999px; cursor:pointer;
      background:var(--white); border:1px solid var(--border);
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px;
      color:var(--ink-2); white-space:nowrap;
    }
    .rk-chip.on { background:var(--red); border-color:var(--red); color:#fff; }
    .rk-manual { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; padding-bottom:12px; }
    .rk-manual label { display:flex; flex-direction:column; gap:4px; flex:1; min-width:130px;
      font-size:11px; color:var(--ink-3); }
    .rk-manual input { padding:10px 12px; border:1.5px solid var(--border); border-radius:var(--r-sm);
      font-size:16px; font-family:'Barlow',sans-serif; min-height:44px; }
    .rk-go { padding:0 18px; min-height:44px; background:var(--red); color:#fff; border:none;
      border-radius:var(--r-sm); font-weight:700; cursor:pointer; }
    .rk-period-label { font-size:12px; color:var(--ink-3); font-weight:600; padding:0 0 12px; text-transform:capitalize; }

    .rk-total {
      display:flex; align-items:baseline; justify-content:space-between;
      background:var(--black); color:#fff; border-radius:var(--r); padding:14px 18px; margin-bottom:14px;
    }
    .rk-total-l { min-width:0; }
    .rk-total-lbl { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.55); }
    .rk-total-sub { margin-top:4px; font-size:11.5px; font-weight:600; color:rgba(255,255,255,0.72); }
    .rk-total-val { font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900; font-size:30px;
      font-variant-numeric:tabular-nums; }

    .rk-store {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      border:1px solid rgba(0,0,0,0.05); padding:16px; margin-bottom:14px;
    }
    .rk-store-head { margin-bottom:12px; }
    .rk-metrics { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .rk-metric { background:var(--cream); border-radius:var(--r-sm); padding:12px 14px; }
    .rk-metric-lbl { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-3); margin-bottom:5px; }
    .rk-metric-val { font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900; font-size:24px;
      color:var(--ink); font-variant-numeric:tabular-nums; }
    .rk-types { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
    .rk-type { font-size:12px; color:var(--ink-2); background:var(--cream); border-radius:8px; padding:5px 10px; }
    .rk-type b { font-weight:700; color:var(--ink); }

    .rk-store .rep-table { width:100%; border-collapse:collapse; font-size:13px; margin-top:6px; table-layout:fixed; }
    .rk-store .rep-table td:first-child, .rk-store .rep-table th:first-child { word-break:break-word; }
    .rk-store .rep-table th:nth-child(2), .rk-store .rep-table td:nth-child(2) { width:42px; }
    .rk-store .rep-table th:nth-child(3), .rk-store .rep-table td:nth-child(3) { width:88px; }
    .rk-store .rep-table th {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:10px; letter-spacing:1.5px;
      text-transform:uppercase; color:var(--ink-3); text-align:left; padding:8px 10px; border-bottom:2px solid var(--border);
    }
    .rk-store .rep-table td {
      padding:9px 10px; border-bottom:1px solid var(--border);
      font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:14px; color:var(--ink);
    }
    .rk-store .rep-table tr:last-child td { border-bottom:none; }
    .rep-th-num, .rep-td-num { text-align:right !important; font-variant-numeric:tabular-nums; }
    .rk-store .rep-table td.rep-td-num { font-weight:700; }

    /* ── Gyorsaság rangsor (rendelés-kiadás) ─────────────────────── */
    .spd-note { background:#fff6d9; border:1px solid #e7d9a0; border-radius:var(--r-sm);
      padding:10px 13px; font-size:12.5px; line-height:1.5; color:#6b5a16; margin-bottom:14px; }
    .spd-note b { color:#5a4a0e; font-weight:700; }
    .spd-loading { padding:28px; text-align:center; color:var(--ink-3); }
    .spd-store {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      border:1px solid rgba(0,0,0,0.05); padding:16px; margin-bottom:14px;
    }
    .spd-store-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
    .spd-avg { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px;
      font-variant-numeric:tabular-nums; color:var(--ink); white-space:nowrap; }
    .spd-avg small { font-size:10px; font-weight:700; letter-spacing:.5px; color:var(--ink-3); }
    .spd-table { width:100%; border-collapse:collapse; }
    .spd-table td { padding:9px 4px; border-bottom:1px solid var(--border); vertical-align:top; }
    .spd-table tr:last-child td { border-bottom:none; }
    .spd-rank { width:26px; text-align:center; font-family:'Barlow Condensed',sans-serif;
      font-weight:800; font-size:16px; color:var(--ink-3); }
    .spd-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; color:var(--ink); }
    .spd-meta { font-size:11px; color:var(--ink-3); font-weight:600; margin-top:1px; }
    .spd-role { margin-top:12px; }
    .spd-role:first-of-type { margin-top:4px; }
    .spd-role-head { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px;
      letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-2);
      border-bottom:2px solid var(--border); padding-bottom:4px; margin-bottom:2px; }
    .spd-num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
    .spd-time { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:19px; }
    .spd-low { margin-top:10px; font-size:12px; color:var(--ink-3); line-height:1.8; }
    .spd-low b { color:var(--ink-2); font-weight:700; }
    .spd-chip { display:inline-block; background:var(--cream); border:1px solid var(--border);
      border-radius:12px; padding:2px 9px; margin:2px 4px 0 0; font-size:11px; white-space:nowrap; }

    /* Lenyitható terméksor — csatorna-bontás */
    .rk-prow { cursor:pointer; }
    .rk-prow-name { display:inline-block; max-width:calc(100% - 16px); vertical-align:middle; }
    .rk-prow-cv { float:right; color:var(--ink-3); font-size:10px; transition:transform .15s; margin-top:4px; }
    .rk-prow.open .rk-prow-cv { transform:rotate(180deg); }
    .rk-prow.open td { background:var(--cream); }
    .rk-prow-detail { display:none; }
    .rk-prow-detail > td { padding:0 !important; border-bottom:1px solid var(--border) !important; }
    .rk-bd { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); }
    .rk-bd-c { background:var(--cream); padding:8px 6px; text-align:center; }
    .rk-bd-c.zero { opacity:.4; }
    .rk-bd-l { font-size:9px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; color:var(--ink-3); line-height:1.2; margin-bottom:4px; min-height:22px; display:flex; align-items:center; justify-content:center; }
    .rk-bd-v { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:18px; color:var(--ink); font-variant-numeric:tabular-nums; }

    .fin-sheet-link { color:inherit; text-decoration:none; border-bottom:1px dashed var(--red); }
    .fin-sheet-link:active { color:var(--red); }

    .rep-links { padding:0 20px 32px; display:flex; flex-direction:column; gap:8px; }
    .rep-link-item {
      display:flex; align-items:center; justify-content:space-between;
      padding:12px 16px; background:#fff; border:1px solid rgba(0,0,0,0.09);
      border-radius:10px; text-decoration:none; color:var(--ink);
      transition:background 0.15s, border-color 0.15s;
    }
    .rep-link-item:active { background:var(--cream); border-color:var(--red); }
    .rep-link-label { font-family:'Barlow',sans-serif; font-weight:600; font-size:14px; }
    .rep-link-arrow { font-size:16px; color:var(--red); flex-shrink:0; }

    @media (min-width:768px) {
      .rep-tabs { padding:0 32px 16px; }
      .rep-table-wrap { padding:0 32px 20px; }
      .rep-card-wrap { padding:0 32px 16px; }
      .rep-kpi-grid { grid-template-columns:repeat(4,1fr); }
      .rep-links { padding:0 32px 32px; }
    }

    /* ── PLAZA EXISTING SUMMARY ──────────────────────────────── */
    #plaza-existing-wrap { padding:0 !important; }
    .plaza-existing-card { background:var(--black); overflow:hidden; }
    .plaza-existing-head { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.4); padding:14px 18px 8px; }
    .plaza-existing-row { display:flex; align-items:center; justify-content:space-between; padding:10px 18px; border-top:1px solid rgba(255,255,255,0.07); }
    .plaza-existing-name { font-size:15px; font-weight:500; color:#fff; }
    .plaza-existing-qty { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:22px; color:var(--red); }

    /* ── PLAZA WORKER APP ─────────────────────────────────────── */
    #plaza-app { display:none; min-height:100vh; padding-bottom:72px; background:var(--cream); background-image:radial-gradient(circle,rgba(26,26,26,0.06) 1px,transparent 1px); background-size:26px 26px; }
    #plaza-app.active { display:block; }

    .plaza-header { background:var(--black); padding:14px 18px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:100; }
    .plaza-header-left { display:flex; align-items:center; gap:10px; }
    .plaza-header-left img { width:22px; height:22px; object-fit:contain; flex-shrink:0; }
    .plaza-greeting { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; color:#fff; }
    .plaza-date { font-size:11px; color:rgba(255,255,255,0.45); margin-top:1px; }
    .plaza-logout-btn { font-size:12px; color:rgba(255,255,255,0.4); background:none; border:none; cursor:pointer; font-family:inherit; padding:4px 0; }

    .plaza-search-wrap { padding:12px 16px 8px; position:sticky; top:52px; background:var(--cream); z-index:99; }
    .plaza-search-wrap input { width:100%; padding:10px 14px; border-radius:10px; border:1.5px solid var(--border); background:#fff; font-size:14px; font-family:inherit; outline:none; color:var(--ink); }
    .plaza-search-wrap input:focus { border-color:var(--red); }

    /* Selected chip strip */
    .plaza-chip-strip { display:flex; gap:8px; padding:10px 16px 6px; overflow-x:auto; min-height:44px; align-items:center; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .plaza-chip-strip::-webkit-scrollbar { display:none; }
    .plaza-chip-strip:empty::before { content:'Semmi sincs kiválasztva'; font-size:12px; color:var(--ink-3); font-style:italic; }
    .plaza-chip { display:inline-flex; align-items:center; gap:4px; background:var(--red); color:#fff; border-radius:20px; padding:4px 8px 4px 10px; font-size:12px; font-family:'Barlow Condensed',sans-serif; font-weight:700; white-space:nowrap; flex-shrink:0; }
    .plaza-chip-num { background:rgba(255,255,255,0.25); border-radius:10px; padding:1px 5px; font-size:11px; }
    .plaza-chip-x { font-size:15px; line-height:1; cursor:pointer; opacity:0.75; margin-left:2px; }

    /* Card grid */
    .plaza-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:6px 14px 20px; }
    .plaza-card { border-radius:14px; background:#fff; border:1.5px solid var(--border); padding:14px 10px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; cursor:pointer; min-height:96px; user-select:none; -webkit-tap-highlight-color:transparent; }
    .plaza-card.has-qty { background:var(--red); border-color:var(--red); }
    .plaza-card-name { font-size:12.5px; font-weight:600; color:var(--ink); line-height:1.3; }
    .plaza-card.has-qty .plaza-card-name { color:#fff; }
    .plaza-card-counter { display:flex; align-items:center; gap:4px; margin-top:8px; }
    .plaza-card-btn { width:28px; height:28px; border-radius:8px; border:none; background:rgba(255,255,255,0.25); color:#fff; font-size:16px; font-weight:700; display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; }
    .plaza-card-btn:active { background:rgba(255,255,255,0.45); }
    .plaza-card-num { min-width:24px; text-align:center; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:#fff; }

    .plaza-bar { position:fixed; bottom:0; left:0; right:0; background:var(--black); padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; z-index:200; }
    .plaza-bar-count { font-size:13px; color:rgba(255,255,255,0.5); flex:1; }
    .plaza-bar-btn { background:var(--red); color:#fff; border:none; border-radius:10px; padding:10px 22px; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; cursor:pointer; white-space:nowrap; }
    .plaza-bar-btn:disabled { opacity:0.45; cursor:not-allowed; }

    .plaza-success-card { margin:48px 20px; background:#fff; border-radius:20px; padding:40px 24px; text-align:center; box-shadow:var(--shadow-md); }

    /* ── PLAZA LIST TAB (owner/employee) ──────────────────────── */
    #screen-plaza { display:none; }
    #screen-plaza.active { display:block; }

    .plaza-tab-meta { display:flex; align-items:center; justify-content:space-between; padding:0 20px 14px; font-size:12px; color:var(--ink-3); }
    .plaza-live-chip { display:flex; align-items:center; gap:5px; }
    .plaza-live-dot { width:7px; height:7px; border-radius:50%; background:var(--green); animation:pulse 2s infinite; flex-shrink:0; }
    .plaza-needed-item { display:flex; align-items:center; gap:10px; padding:12px 16px 12px 20px; border-bottom:1px solid var(--border); background:#fff; }
    .plaza-needed-item:first-child { border-top:1px solid var(--border); }
    .plaza-needed-name { flex:1; font-weight:600; font-size:15px; color:var(--black); cursor:pointer; }
    .plaza-needed-qty { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:22px; color:var(--red); flex-shrink:0; }
    .plaza-needed-del { width:30px; height:30px; border-radius:8px; border:1.5px solid var(--border); background:#fff; font-size:12px; color:var(--ink-3); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; }
    .plaza-needed-del:active { background:var(--red-dim); border-color:var(--red); color:var(--red); }
    .plaza-empty { padding:40px 20px; text-align:center; font-size:14px; color:var(--ink-3); }
    .plaza-clear-btn { width:100%; padding:13px; border-radius:var(--r-sm); border:1.5px solid var(--border); background:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; color:var(--ink-3); cursor:pointer; letter-spacing:.5px; }
    .plaza-clear-btn:active { background:var(--cream-dk); }
    .btn-logout { display:block; width:100%; padding:13px; border-radius:var(--r-sm); border:1.5px solid var(--border); background:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; color:var(--ink-3); cursor:pointer; letter-spacing:.5px; }
    .btn-logout:active { background:var(--cream-dk); }
    /* Checked items */
    .plaza-needed-item.checked { opacity:0.38; }
    .plaza-needed-item.checked .plaza-needed-name { text-decoration:line-through; }
    .plaza-check { width:22px; height:22px; border-radius:6px; border:1.5px solid var(--border); background:#fff; flex-shrink:0; margin-right:12px; display:flex; align-items:center; justify-content:center; font-size:13px; cursor:pointer; }
    .plaza-needed-item.checked .plaza-check { background:var(--green); border-color:var(--green); color:#fff; }
    /* Admin edit button & overlay */
    .plaza-open-edit-btn { width:100%; padding:13px; border-radius:var(--r-sm); background:var(--black); border:none; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; cursor:pointer; letter-spacing:.5px; }
    .plaza-open-edit-btn:active { opacity:0.82; }

    #plaza-edit-overlay { position:fixed; inset:0; z-index:500; display:flex; flex-direction:column; justify-content:flex-end; }
    .plaza-edit-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.5); }
    .plaza-edit-sheet { position:relative; background:var(--cream); border-radius:20px 20px 0 0; max-height:90vh; display:flex; flex-direction:column; overflow:hidden; }
    .plaza-edit-head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px 12px; border-bottom:1px solid var(--border); flex-shrink:0; }
    .plaza-edit-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--black); }
    .plaza-edit-close { background:none; border:none; font-size:18px; color:var(--ink-3); cursor:pointer; padding:4px; line-height:1; }
    .plaza-edit-search-wrap { padding:10px 16px 6px; flex-shrink:0; }
    .plaza-edit-search-wrap input { width:100%; padding:10px 14px; border-radius:10px; border:1.5px solid var(--border); background:#fff; font-size:14px; font-family:inherit; outline:none; color:var(--ink); }
    .plaza-edit-search-wrap input:focus { border-color:var(--red); }
    .plaza-edit-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:6px 14px 16px; overflow-y:auto; flex:1; }
    .plaza-edit-footer { padding:12px 16px; border-top:1px solid var(--border); flex-shrink:0; }
    .plaza-edit-save { width:100%; padding:14px; border-radius:var(--r-sm); background:var(--red); border:none; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:18px; cursor:pointer; letter-spacing:.5px; }
    .plaza-edit-save:disabled { opacity:0.5; cursor:not-allowed; }

    /* Egyéb card */
    .plaza-card-egyeb { border-style:dashed; border-color:var(--ink-3); background:transparent; }
    .plaza-card-egyeb .plaza-card-name { color:var(--ink-3); font-weight:500; }

    /* ── UNIFIED PLAZA LIST ──────────────────────────────────── */
    .plaza-wlist-wrap { padding:12px 14px 4px; }
    .plaza-wlist-item { display:flex; align-items:center; gap:12px; padding:13px 14px; background:#fff; border-radius:12px; margin-bottom:8px; border:1.5px solid var(--border); -webkit-tap-highlight-color:transparent; }
    .plaza-wlist-item[onclick] { cursor:pointer; transition:opacity .15s; }
    .plaza-wlist-item[onclick]:active { opacity:.7; }
    .plaza-wlist-del { width:32px; height:32px; border-radius:8px; border:1.5px solid var(--border); background:#fff; font-size:13px; color:var(--ink-3); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; -webkit-tap-highlight-color:transparent; }
    .plaza-wlist-del:active { background:#fde8ea; border-color:var(--red); color:var(--red); }
    .plaza-wlist-item:active { opacity:.7; }
    .plaza-wlist-item.done { background:var(--cream-dk); border-color:transparent; }
    .plaza-wlist-qty { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:22px; color:var(--red); min-width:34px; text-align:right; flex-shrink:0; }
    .plaza-wlist-item.done .plaza-wlist-qty { color:var(--ink-3); }
    .plaza-wlist-name { flex:1; font-size:15px; font-weight:600; color:var(--black); }
    .plaza-wlist-item.done .plaza-wlist-name { text-decoration:line-through; color:var(--ink-3); }
    .plaza-wlist-check { width:24px; font-size:16px; color:transparent; text-align:center; flex-shrink:0; }
    .plaza-wlist-item.done .plaza-wlist-check { color:var(--ink-2); font-weight:700; }
    .plaza-wlist-empty { text-align:center; padding:52px 20px; color:var(--ink-3); font-size:14px; }
    .plaza-worker-footer { position:sticky; bottom:0; padding:12px 14px; background:var(--cream); border-top:1px solid var(--border); }
    .plaza-worker-add-btn { width:100%; background:var(--black); color:#fff; border:none; border-radius:10px; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; padding:14px; cursor:pointer; letter-spacing:.5px; -webkit-tap-highlight-color:transparent; }
    .plaza-worker-add-btn:active { opacity:0.82; }

    /* Admin items editor */
    .plaza-items-row { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid var(--border); }
    .plaza-items-inp { flex:1; padding:8px 10px; border-radius:var(--r-sm); border:1.5px solid var(--border); background:#fff; font-size:14px; font-family:inherit; outline:none; color:var(--ink); }
    .plaza-items-inp:focus { border-color:var(--red); }
    .plaza-items-del { width:32px; height:32px; flex-shrink:0; border-radius:8px; background:none; border:1.5px solid var(--border); font-size:14px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
    .plaza-items-del:active { background:var(--red-dim); border-color:var(--red); }
    .plaza-items-new-inp { flex:1; padding:10px 12px; border-radius:var(--r-sm); border:1.5px solid var(--border); background:#fff; font-size:14px; font-family:inherit; outline:none; color:var(--ink); }
    .plaza-items-new-inp:focus { border-color:var(--red); }
    .plaza-items-add-btn { width:42px; height:42px; flex-shrink:0; border-radius:var(--r-sm); background:var(--black); color:#fff; font-size:22px; font-weight:700; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; }
    #plaza-items-overlay { position:fixed; inset:0; z-index:510; display:flex; flex-direction:column; justify-content:flex-end; }

    /* Egyéb modal */
    #plaza-egyeb-modal { position:fixed; inset:0; z-index:600; display:flex; flex-direction:column; justify-content:flex-end; }
    .plaza-egyeb-sheet { position:relative; background:var(--cream); border-radius:20px 20px 0 0; padding:24px 20px 32px; display:flex; flex-direction:column; gap:12px; }
    .plaza-egyeb-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--black); }
    .plaza-egyeb-inp { width:100%; padding:13px 15px; border-radius:var(--r-sm); border:1.5px solid var(--border); background:#fff; font-size:15px; font-family:inherit; outline:none; color:var(--ink); }
    .plaza-egyeb-inp:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,28,45,0.10); }
    .plaza-egyeb-btn { width:100%; padding:14px; border-radius:var(--r-sm); background:var(--red); border:none; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; cursor:pointer; }

    /* ── PÉNZÜGYEK TAB ──────────────────────────────────────── */
    .red-val   { color:var(--red)!important; font-weight:700; }
    .green-val { color:#1a7a3c!important; font-weight:700; }
    .fin-neg   { background:rgba(234,28,45,0.04); }
    .sum-card.negative { border:1px solid rgba(234,28,45,0.35); }

    /* ── UPDATE BANNER (PWA) ────────────────────────────────── */
    .update-banner {
      position: fixed; bottom: 85px; left: 50%;
      transform: translateX(-50%);
      background: var(--black); color: #fff;
      padding: 10px 16px; border-radius: 40px;
      font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700;
      letter-spacing: .5px; display: flex; align-items: center; gap: 12px;
      z-index: 999; border: 1px solid rgba(255,255,255,0.1);
      box-shadow: 0 8px 24px rgba(0,0,0,0.3);
      max-width: 90%; width: max-content;
      animation: bannerSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    .update-banner button {
      background: var(--red); color: #fff; border: none;
      padding: 6px 14px; border-radius: 20px;
      font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px;
      letter-spacing: .5px; text-transform: uppercase; cursor: pointer;
      box-shadow: 0 3px 10px rgba(234,28,45,0.3); transition: opacity 0.15s;
    }
    .update-banner button:active { opacity: 0.8; }
    @keyframes bannerSlideUp {
      from { opacity: 0; transform: translateX(-50%) translateY(12px); }
      to { opacity: 1; transform: translateX(-50%) translateY(0); }
    }

    /* ════════════════════════════════════════════════════════════════
       DESIGN REFINEMENT — ui-ux-pro-max "Data-Dense Dashboard" elvek
       Brand változatlan; csak spacing/elevation/állapotok/a11y finomítás.
       ════════════════════════════════════════════════════════════════ */
    :root {
      --t-fast: 140ms;
      --t-med:  200ms;
      --ease:   cubic-bezier(.2,.7,.3,1);
      --shadow-hover: 0 6px 18px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06);
    }

    /* Tabuláris számok (adat ne ugráljon) */
    .kpi-val, .sum-val, .cal-daynum, .cal-cnt, .today-count,
    #rk-plaza-rev, #rk-szist-rev {
      font-variant-numeric: tabular-nums;
      font-feature-settings: "tnum" 1;
    }

    /* Egységes átmenetek interaktív elemeken */
    .mod, .cal-cell, .sum-card, .nav-tab, .sidebar-item,
    .month-btn, .rep-tab, .today-loc, .log-item,
    .sched-filter select, .btn-red, .btn-close {
      transition: transform var(--t-fast) var(--ease),
                  box-shadow var(--t-med) var(--ease),
                  background var(--t-med) var(--ease),
                  border-color var(--t-med) var(--ease);
    }

    /* Press feedback (transform — nincs layout-shift) */
    .mod:active, .cal-cell.has:active, .sum-card:active,
    .nav-tab:active, .sidebar-item:active, .rep-tab:active,
    .today-loc:active, .month-btn:active { transform: scale(.975); }
    .btn-red:active, .btn-close:active { transform: scale(.96); }

    /* Hover-lift csak egérrel (mobilt nem zavarja) */
    @media (hover:hover) and (pointer:fine) {
      .mod:hover, .cal-cell.has:hover, .today-loc:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-hover);
      }
      .cal-cell.has { cursor: pointer; }
    }

    /* Fókusz-gyűrű billentyűzetes navigációhoz */
    .mod:focus-visible, .cal-cell:focus-visible, .sum-card:focus-visible,
    .nav-tab:focus-visible, .sidebar-item:focus-visible, .rep-tab:focus-visible,
    .month-btn:focus-visible, .sched-filter select:focus-visible,
    .btn-red:focus-visible, .btn-close:focus-visible {
      outline: 2.5px solid var(--red);
      outline-offset: 2px;
      border-radius: 8px;
    }

    /* Touch target: hónapváltó gomb 42px */
    .month-btn { width: 42px; height: 42px; }

    /* Kártya-élesség krém háttéren: hajszálvékony keret */
    .mod, .sum-card, .today-loc, .cal-cell:not(.empty),
    .sched-detail-card, .log-item, .futar-rec-item {
      border: 1px solid rgba(0,0,0,0.05);
    }
    .sum-card.red, .kpi.red, .kpi.dark { border-color: transparent; }

    /* Spacing rhythm (4/8pt) — finom igazítások */
    .sum-row { gap: 12px; }
    .modules { gap: 10px; }
    .cal { gap: 6px; }
    .today-staff { gap: 12px; }

    /* Naptár cella: légiesebb, egységes */
    .cal-cell { min-height: 56px; border-radius: 12px; }
    .cal-daynum { font-size: 16px; }

    .today-name { transition: transform var(--t-fast) var(--ease); }
    .sec-title { letter-spacing: .2px; }

    /* Reduced-motion: minden átmenet/animáció ki */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
      }
    }

    /* ── MARKETING content-naptár (owner) ───────────────────────── */
    .mkt-legend { display:flex; gap:8px; overflow-x:auto; padding:6px 16px 10px; -webkit-overflow-scrolling:touch; }
    .mkt-chip {
      flex:0 0 auto; display:flex; align-items:center; gap:5px;
      padding:7px 12px; border-radius:999px; font-size:13px; font-weight:600;
      background:var(--white); border:1px solid var(--border); color:var(--ink-2);
      cursor:pointer; white-space:nowrap; user-select:none;
    }
    .mkt-chip b { color:var(--ink); }
    .mkt-chip.on { background:var(--red); border-color:var(--red); color:#fff; }
    .mkt-chip.on b { color:#fff; }

    .mkt-day { margin-bottom:14px; }
    .mkt-day-hd {
      font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
      letter-spacing:.4px; font-weight:700; font-size:13px; color:var(--ink-3); padding:6px 4px;
    }

    .mkt-card {
      display:flex; align-items:flex-start; gap:11px;
      background:var(--white); border:1px solid var(--border); border-radius:var(--r);
      padding:12px; margin-bottom:8px; box-shadow:var(--shadow); cursor:pointer;
    }
    .mkt-card:active { transform:scale(.995); }
    .mkt-ch {
      flex:0 0 auto; width:38px; height:38px; border-radius:11px;
      display:flex; align-items:center; justify-content:center; font-size:19px;
    }
    .mkt-body { flex:1; min-width:0; }
    .mkt-title { font-weight:700; font-size:15px; line-height:1.25; color:var(--ink); }
    .mkt-meta { font-size:12.5px; color:var(--ink-3); margin-top:2px; }
    .mkt-metrics { font-size:12px; color:var(--ink-2); margin-top:4px; }
    .mkt-metrics b { color:var(--ink); }
    .mkt-err { font-size:12px; color:var(--red); margin-top:4px; }
    .mkt-right { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
    .mkt-pill {
      font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px;
      border:1.5px solid; white-space:nowrap; background:var(--white);
    }
    .mkt-del { font-size:15px; opacity:.5; padding:2px 4px; background:none; border:none; cursor:pointer; }

    /* Marketing wizard form */
    .mkt-form { padding:4px 20px 18px; }
    .mkt-lbl {
      display:block; font-size:12px; font-weight:700; color:var(--ink-2);
      text-transform:uppercase; letter-spacing:.3px; margin:12px 0 5px;
    }
    .mkt-inp {
      width:100%; padding:11px 12px; border-radius:var(--r-sm);
      border:1px solid var(--border); background:var(--cream); color:var(--ink);
      font-family:inherit; font-size:15px;
    }
    .mkt-inp:focus { outline:none; border-color:var(--red); background:var(--white); }
    select.mkt-inp { -webkit-appearance:menulist; appearance:menulist; }
    textarea.mkt-inp { resize:vertical; line-height:1.4; }
    .mkt-note-row {
      background:var(--red-dim); border:1px solid var(--red-border); color:var(--ink-2);
      border-radius:var(--r-sm); padding:9px 11px; font-size:13px; margin-bottom:4px;
    }

    /* ── UPSELL KALKULÁTOR (owner-only, külön képernyő) ───────────── */
    /* Link-kártya a Riportok tabban (kompakt, nem foglal helyet a tabokból) */
    .ups-link {
      display:flex; align-items:center; gap:12px; margin:4px 16px 14px;
      padding:13px 15px; background:var(--white); border:1px solid var(--border);
      border-left:4px solid var(--red); border-radius:var(--r-sm);
      box-shadow:var(--shadow); cursor:pointer; transition:transform .12s, box-shadow .12s;
    }
    .ups-link:hover { transform:translateY(-1px); box-shadow:var(--shadow-md); }
    .ups-link:active { transform:translateY(0); }
    .ups-link-ico { font-size:22px; line-height:1; }
    .ups-link-txt { flex:1; min-width:0; }
    .ups-link-t { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:17px; line-height:1.1; }
    .ups-link-s { font-size:12px; color:var(--ink-3); margin-top:1px; }
    .ups-link-arr { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:20px; color:var(--red); }

    #ups-body { padding:0 16px 44px; }
    .ups-msg { text-align:center; color:var(--ink-3); font-size:14px; padding:36px 16px; }

    /* Stat kártyák */
    .ups-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-bottom:16px; }
    .ups-stat {
      background:var(--white); border:1px solid var(--border); border-radius:var(--r-sm);
      padding:12px 13px; box-shadow:var(--shadow);
    }
    .ups-stat .lbl { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); font-weight:600; }
    .ups-stat .val { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:25px; line-height:1.05; margin-top:2px; }
    .ups-stat .val small { font-size:.55em; font-weight:600; color:var(--ink-3); }
    .ups-stat.accent .val { color:var(--red); }
    .ups-stat.profit .val { color:var(--green); }

    /* Szekció-kártya */
    .ups-sec {
      background:var(--white); border:1px solid var(--border); border-radius:var(--r);
      padding:17px 16px; margin-bottom:14px; box-shadow:var(--shadow);
    }
    .ups-sec h3 { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:20px; text-transform:uppercase; letter-spacing:-.01em; }
    .ups-sub { color:var(--ink-3); font-size:12.5px; margin:2px 0 14px; line-height:1.4; }
    .ups-note { color:var(--ink-3); font-size:11.5px; margin-top:11px; line-height:1.5; }
    .ups-est { color:var(--red); font-weight:700; }

    /* Termék-tábla */
    .ups-tbl { width:100%; border-collapse:collapse; font-size:13.5px; }
    .ups-tbl th {
      font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase; font-size:11px;
      letter-spacing:.04em; color:var(--ink-3); text-align:right; padding:5px 3px; border-bottom:2px solid var(--border);
    }
    .ups-tbl th:first-child { text-align:left; }
    .ups-tbl td { padding:7px 3px; border-bottom:1px solid var(--border); text-align:right; font-variant-numeric:tabular-nums; }
    .ups-tbl td:first-child { text-align:left; font-weight:500; }
    .ups-tbl tfoot .ups-total td {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14.5px;
      border-top:2px solid var(--ink); border-bottom:none; padding-top:9px;
    }
    .ups-tbl tfoot .ups-total td:first-child { text-transform:uppercase; }
    .ups-pill {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11.5px; color:var(--green);
      background:var(--green-dim); padding:1px 6px; border-radius:99px; white-space:nowrap;
    }

    /* Dolgozónkénti sávok */
    .ups-person { margin-bottom:10px; }
    .ups-person .top { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:3px; }
    .ups-person .nm { font-weight:600; }
    .ups-person .amt { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14.5px; }
    .ups-person .amt small { color:var(--ink-3); font-weight:600; font-size:11.5px; margin-left:4px; }
    .ups-person .track { height:12px; background:var(--cream-ddk); border-radius:6px; overflow:hidden; }
    .ups-person .fill { height:100%; background:linear-gradient(90deg,var(--red),#ff5a47); border-radius:6px; transition:width .5s cubic-bezier(.2,.8,.2,1); }

    /* Bónusz-kalkulátor */
    .ups-calc-head { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:6px; }
    .ups-pctbox { flex:1; min-width:200px; }
    .ups-pctval { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:30px; line-height:1; }
    .ups-pctval b { color:var(--red); }
    .ups-pool { text-align:right; }
    .ups-pool .lbl { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); font-weight:600; }
    .ups-pool .big { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:30px; line-height:1; color:var(--red); }
    #ups-slider {
      width:100%; -webkit-appearance:none; appearance:none; height:7px; border-radius:5px; margin-top:9px;
      background:linear-gradient(90deg,var(--red) 50%,var(--cream-ddk) 50%); outline:none;
    }
    #ups-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%; background:var(--white); border:4px solid var(--red); cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,.2); }
    #ups-slider::-moz-range-thumb { width:20px; height:20px; border-radius:50%; background:var(--white); border:4px solid var(--red); cursor:pointer; }
    .ups-ticks { display:flex; justify-content:space-between; font-size:10.5px; color:var(--ink-3); margin-top:5px; font-weight:600; }
    .ups-presets { display:flex; gap:6px; margin:14px 0 4px; flex-wrap:wrap; }
    .ups-presets button {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; padding:6px 13px; border-radius:99px;
      border:1.5px solid var(--border); background:transparent; color:var(--ink); cursor:pointer; transition:.13s;
    }
    .ups-presets button:hover { border-color:var(--red); }
    .ups-presets button.on { background:var(--red); color:var(--white); border-color:var(--red); }
    .ups-brow { display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--border); }
    .ups-brow:last-child { border-bottom:none; }
    .ups-brow .nm { font-weight:600; display:flex; align-items:center; gap:8px; }
    .ups-brow .rank { width:21px; height:21px; border-radius:50%; background:var(--cream-ddk); color:var(--ink-3); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11.5px; display:grid; place-items:center; }
    .ups-brow .rank.gold { background:var(--red); color:var(--white); }
    .ups-brow .b { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; }
    .ups-brow .b small { font-size:11.5px; color:var(--ink-3); font-weight:600; margin-left:5px; }
    .ups-callout {
      background:var(--red-dim); border:1px solid var(--red-border); border-radius:var(--r-sm);
      padding:12px 14px; margin-top:14px; font-size:13px; line-height:1.5; color:var(--ink-2);
    }
    .ups-callout b { color:var(--red); }

    /* ═══════════ GAME TAB (owner cockpit) ═══════════ */
    .btn-refresh {
      font-size:20px; color:var(--ink-3); padding:4px 8px; line-height:1; border-radius:8px;
      transition:color .12s, background .12s; cursor:pointer;
    }
    .btn-refresh:hover { color:var(--red); background:var(--red-dim); }
    .game-sec { margin-top:8px; }
    .ga-sec-head {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase;
      letter-spacing:.5px; font-size:18px; margin:22px 0 12px; display:flex; flex-wrap:wrap;
      align-items:baseline; gap:8px;
    }
    .ga-sub { font-family:'Barlow',sans-serif; font-weight:500; text-transform:none; letter-spacing:0; font-size:12px; color:var(--ink-3); }
    .ga-empty { color:var(--ink-3); font-size:13px; padding:8px 0; }

    /* Forecast cards */
    .ga-fc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
    .ga-fc-card {
      background:var(--white); border:1px solid var(--border); border-radius:var(--r);
      box-shadow:var(--shadow); padding:13px 14px; position:relative; overflow:hidden;
    }
    .ga-fc-card.soon { border-color:var(--red-border); }
    .ga-fc-rank {
      position:absolute; top:0; right:0; background:var(--red); color:var(--white);
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px;
      padding:2px 10px; border-bottom-left-radius:10px;
    }
    .ga-fc-head { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
    .ga-av {
      width:38px; height:38px; border-radius:10px; background:var(--black); color:var(--white);
      display:grid; place-items:center; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:17px; flex:0 0 auto;
    }
    .ga-fc-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:19px; line-height:1; }
    .ga-badges { display:flex; gap:4px; margin-top:3px; flex-wrap:wrap; }
    .ga-b {
      font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; text-transform:uppercase;
      letter-spacing:.4px; padding:2px 6px; border-radius:5px;
    }
    .ga-b.kony { background:var(--orange-dim); color:var(--orange); }
    .ga-b.pult { background:rgba(37,99,235,.1); color:#2563eb; }
    .ga-b.loc  { background:var(--cream-dk); color:var(--ink-3); }
    .ga-b.warn { background:rgba(217,138,0,.13); color:#b06b00; }
    .ga-fc-pts { font-size:13px; color:var(--ink-3); margin:2px 0 8px; }
    .ga-fc-pts b { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:26px; color:var(--ink); margin-right:2px; }
    .ga-bar { height:9px; background:var(--cream-dk); border-radius:6px; overflow:hidden; margin-bottom:4px; }
    .ga-bar i { display:block; height:100%; background:linear-gradient(90deg,var(--red),#ff5a4d); border-radius:6px; }
    .ga-bar-lbl { display:flex; justify-content:space-between; font-size:11px; color:var(--ink-3); margin-bottom:11px; }
    .ga-fc-foot { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .ga-fc-foot > div { background:var(--cream); border:1px solid var(--border); border-radius:var(--r-sm); padding:7px 9px; }
    .ga-k { font-size:10px; text-transform:uppercase; letter-spacing:.4px; color:var(--ink-3); font-weight:700; }
    .ga-v { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; line-height:1.1; margin-top:1px; }
    .ga-v small { font-size:11px; font-weight:600; color:var(--ink-3); }
    .ga-eta .ga-v { color:var(--red); }
    .ga-eta .ga-sub, .ga-v .ga-sub { display:block; font-size:11px; color:var(--ink-3); font-weight:600; }
    .ga-trend { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; }
    .ga-trend.up { color:var(--green); } .ga-trend.dn { color:#b06b00; } .ga-trend.fl { color:var(--ink-3); }

    /* Boards */
    .ga-board-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
    .ga-board { background:var(--white); border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow); padding:12px 13px; }
    .ga-board-head { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.3px; margin-bottom:8px; padding-bottom:7px; border-bottom:1px solid var(--border); }
    .ga-lb-row { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:13px; }
    .ga-lb-pos { width:24px; font-family:'Barlow Condensed',sans-serif; font-weight:700; color:var(--ink-3); flex:0 0 auto; }
    .ga-lb-name { flex:1; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .ga-lb-val { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px; }

    /* Havi összesítő (bónusz-döntéshez) */
    .ga-sum-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
    .ga-sum-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow); padding:13px 14px; }
    .ga-sum-body { margin-top:8px; }
    .ga-sum-row { display:flex; justify-content:space-between; gap:8px; font-size:13px; padding:4px 0; border-bottom:1px dashed var(--border); }
    .ga-sum-row:last-child { border-bottom:none; }
    .ga-sum-total { display:flex; justify-content:space-between; margin-top:8px; padding-top:8px; border-top:1px solid var(--border); font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; }

    /* Prize + reward editors */
    .ga-prize { background:var(--red-dim); border:1px solid var(--red-border); border-radius:var(--r); padding:12px 14px; margin-bottom:14px; }
    .ga-prize-lbl { display:block; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.4px; margin-bottom:7px; }
    .ga-prize-row { display:flex; gap:8px; }
    .ga-input {
      flex:1; min-width:0; font-family:'Barlow',sans-serif; font-size:14px; padding:9px 11px;
      border:1px solid var(--border); border-radius:var(--r-sm); background:var(--white); color:var(--ink);
    }
    .ga-input:focus { outline:none; border-color:var(--red); }
    .ga-btn {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; text-transform:uppercase;
      letter-spacing:.3px; background:var(--red); color:var(--white); border:none; border-radius:var(--r-sm);
      padding:9px 16px; cursor:pointer; flex:0 0 auto; transition:transform .1s, opacity .12s;
    }
    .ga-btn:hover { opacity:.92; } .ga-btn:active { transform:scale(.96); }
    .ga-rw-fixed { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--border); font-size:13px; }
    .ga-rw-fixedval { flex:1; color:var(--ink-2); }
    .ga-rw-row { padding:11px 0; border-bottom:1px solid var(--border); }
    .ga-rw-tierwrap { display:flex; align-items:center; gap:8px; margin-bottom:7px; flex-wrap:wrap; }
    .ga-rw-tier { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; }
    .ga-rw-th { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; color:var(--red); }
    .ga-rw-edit { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; }
    .ga-rw-thwrap { display:flex; flex-direction:column; gap:3px; flex:0 0 auto; }
    .ga-rw-thlbl { font-size:10px; text-transform:uppercase; letter-spacing:.4px; color:var(--ink-3); font-weight:700; }
    .ga-input-th { width:92px; flex:0 0 auto; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; }
    .ga-rw-edit > input.ga-input:not(.ga-input-th) { flex:1; min-width:130px; }

    /* Link to full game owner panel */
    .game-applink {
      display:flex; flex-direction:column; gap:2px; margin:22px 0 8px; padding:14px 16px;
      background:var(--black); color:var(--white); border-radius:var(--r); text-decoration:none;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; box-shadow:var(--shadow);
      transition:transform .1s;
    }
    .game-applink:active { transform:scale(.99); }
    .game-applink-sub { font-family:'Barlow',sans-serif; font-weight:400; font-size:12px; opacity:.7; }

    /* ── TEENDŐK board — szegmens-váltó (Phase 0; a Kanban/naptár Phase 2/3-ban épül rá) ── */
    .board-seg { display:flex; gap:8px; padding:10px 16px 6px; }
    .board-seg-btn {
      flex:1; min-width:0; padding:9px 10px;
      border:1.5px solid var(--line, #e2ddc4); background:var(--white, #fff); color:var(--ink-3, #7a7560);
      border-radius:var(--r, 12px); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px;
      text-transform:uppercase; letter-spacing:.4px; cursor:pointer; transition:all .12s;
    }
    .board-seg-btn.on { background:var(--red, #ea1c2d); color:#fff; border-color:var(--red, #ea1c2d); }

    /* ── Kanban oszlopok (mobil: vízszintes scroll, 1 oszlop + peek) ── */
    .board-cols { display:flex; gap:12px; overflow-x:auto; padding:8px 16px 16px; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; }
    .board-col {
      flex:0 0 auto; width:min(82vw, 290px); scroll-snap-align:start;
      background:rgba(0,0,0,.035); border:1px solid rgba(0,0,0,.06); border-radius:var(--r, 14px);
      padding:10px; display:flex; flex-direction:column; gap:8px; max-height:calc(100vh - 230px);
    }
    .board-col-head {
      display:flex; align-items:center; justify-content:space-between; padding:2px 4px;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:.5px; color:var(--ink, #1a1a1a);
    }
    .board-col-count { background:rgba(0,0,0,.1); color:var(--ink-3, #888); border-radius:20px; padding:1px 9px; font-size:12px; }
    .board-col-list { display:flex; flex-direction:column; gap:8px; min-height:24px; overflow-y:auto; flex:1; }

    .board-card {
      background:var(--white, #fff); border-radius:10px; padding:10px 11px; box-shadow:0 1px 3px rgba(0,0,0,.1);
      cursor:pointer; border-left:3px solid transparent; transition:transform .08s, box-shadow .12s;
    }
    .board-card:active { transform:scale(.99); }
    .board-card.urgent { border-left-color:var(--red, #ea1c2d); }
    .board-card-ghost { opacity:.4; }
    .board-card-chosen { box-shadow:0 6px 18px rgba(0,0,0,.22); }
    .bc-title { font-family:'Barlow',sans-serif; font-weight:600; font-size:14px; color:var(--ink, #1a1a1a); line-height:1.25; }
    .bc-meta { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; align-items:center; }
    .bc-chip { font-size:10.5px; font-weight:700; color:#fff; padding:2px 7px; border-radius:20px; letter-spacing:.2px; white-space:nowrap; }
    .bc-prio-high { background:var(--red, #ea1c2d); }
    .bc-prio-mid  { background:#d97706; }
    .bc-assignee  { background:#475569; }
    .bc-due { font-size:11px; font-weight:600; color:var(--ink-3, #888); }
    .bc-due.over { color:var(--red, #ea1c2d); font-weight:800; }
    .board-add {
      border:1.5px dashed rgba(0,0,0,.18); background:transparent; color:var(--ink-3, #888); border-radius:10px;
      padding:8px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; cursor:pointer; text-transform:uppercase; letter-spacing:.4px;
    }
    .board-add:active { background:rgba(0,0,0,.04); }

    /* ── Kártya-modal (bottom-sheet) ── */
    .board-modal-ov { position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:flex-end; justify-content:center; opacity:0; visibility:hidden; transition:opacity .2s; z-index:1200; }
    .board-modal-ov.open { opacity:1; visibility:visible; }
    .board-modal { background:var(--white, #fff); width:100%; max-width:480px; max-height:92vh; overflow-y:auto; border-radius:18px 18px 0 0; transform:translateY(14px); transition:transform .2s; }
    .board-modal-ov.open .board-modal { transform:translateY(0); }
    .bm-head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px 10px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:19px; color:var(--ink, #1a1a1a); position:sticky; top:0; background:var(--white,#fff); }
    .bm-body { padding:0 18px 8px; display:flex; flex-direction:column; }
    .bm-lbl { font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:var(--ink-3, #888); font-weight:700; margin:12px 0 4px; }
    .bm-input { width:100%; box-sizing:border-box; padding:10px 12px; border:1.5px solid rgba(0,0,0,.14); border-radius:10px; font-family:'Barlow',sans-serif; font-size:15px; color:var(--ink, #1a1a1a); background:#fff; }
    .bm-input:focus { outline:none; border-color:var(--red, #ea1c2d); }
    textarea.bm-input { resize:vertical; }
    .bm-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .bm-foot { display:flex; gap:10px; padding:12px 18px 20px; position:sticky; bottom:0; background:var(--white,#fff); }
    .bm-save { flex:1; background:var(--red, #ea1c2d); color:#fff; border:none; border-radius:12px; padding:13px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; text-transform:uppercase; letter-spacing:.5px; cursor:pointer; }
    .bm-del  { background:transparent; color:var(--red, #ea1c2d); border:1.5px solid rgba(234,28,45,.4); border-radius:12px; padding:13px 16px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; text-transform:uppercase; cursor:pointer; }

    /* ── Tartalom: al-nézet váltó (Kanban/Naptár) + naptár-grid ── */
    .board-subseg { display:flex; gap:8px; padding:8px 16px 4px; }
    .board-sub-btn { padding:6px 14px; border:1.5px solid rgba(0,0,0,.14); background:#fff; color:var(--ink-3, #888); border-radius:20px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.4px; cursor:pointer; }
    .board-sub-btn.on { background:var(--ink, #1a1a1a); color:#fff; border-color:var(--ink, #1a1a1a); }
    .bc-link { font-size:13px; text-decoration:none; margin-left:2px; }
    .bc-result-bad { background:#dc2626; } .bc-result-good { background:#16a34a; } .bc-result-excellent { background:#d4a017; }

    .bcal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; padding:6px 12px 16px; }
    .bcal-dow { text-align:center; font-size:10px; font-weight:700; color:var(--ink-3, #888); text-transform:uppercase; padding:2px 0; }
    .bcal-cell { min-height:58px; background:rgba(0,0,0,.03); border-radius:7px; padding:3px; display:flex; flex-direction:column; gap:2px; overflow:hidden; }
    .bcal-cell.empty { background:transparent; }
    .bcal-cell.today { outline:2px solid var(--red, #ea1c2d); }
    .bcal-day { font-size:10px; font-weight:700; color:var(--ink-3, #888); }
    .bcal-item { font-size:9px; font-weight:700; color:#fff; padding:1px 4px; border-radius:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
    .bcal-item.over { box-shadow:0 0 0 1.5px var(--red, #ea1c2d) inset; }
    .bcal-note { padding:0 16px 20px; font-size:12px; color:var(--ink-3, #888); }

    /* ── Phase 4: board-bar + kártya-badge-ek + modal checklist/komment/csatolmány ── */
    .board-bar { display:flex; gap:7px; padding:8px 16px 2px; overflow-x:auto; }
    .board-chip { flex:0 0 auto; padding:6px 13px; border:1.5px solid rgba(0,0,0,.14); background:#fff; color:var(--ink-3, #888); border-radius:20px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; cursor:pointer; white-space:nowrap; }
    .board-chip.on { background:var(--ink, #1a1a1a); color:#fff; border-color:var(--ink, #1a1a1a); }
    .board-chip-add { color:var(--red, #ea1c2d); border-style:dashed; }
    .bc-chk { background:#475569; } .bc-chk.full { background:#16a34a; } .bc-att { background:#64748b; }

    .bm-chk-item { display:flex; align-items:center; gap:8px; padding:5px 0; }
    .bm-chk-item span { flex:1; font-size:14px; color:var(--ink, #1a1a1a); }
    .bm-chk-item span.done { text-decoration:line-through; color:var(--ink-3, #888); }
    .bm-chk-item input[type=checkbox] { width:18px; height:18px; accent-color:var(--red, #ea1c2d); flex:0 0 auto; }
    .bm-chk-del { background:none; border:none; color:var(--ink-3, #888); font-size:14px; cursor:pointer; padding:2px 6px; flex:0 0 auto; }
    .bm-inline-add { display:flex; gap:8px; margin-top:6px; }
    .bm-inline-add .bm-input { flex:1; }
    .bm-inline-btn { flex:0 0 auto; width:44px; background:var(--ink, #1a1a1a); color:#fff; border:none; border-radius:10px; font-size:20px; font-weight:700; cursor:pointer; }
    .bm-muted { font-size:13px; color:var(--ink-3, #888); padding:4px 0; }
    .bm-attach-btn { display:inline-block; margin-top:8px; padding:8px 14px; border:1.5px dashed rgba(0,0,0,.2); border-radius:10px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; color:var(--ink-3, #888); cursor:pointer; text-transform:uppercase; letter-spacing:.4px; }
    .bm-attach-item, .bm-comment { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06); }
    .bm-attach-name { flex:1; font-size:14px; color:#2563eb; cursor:pointer; word-break:break-all; }
    .bm-comment { flex-direction:column; align-items:stretch; gap:2px; }
    .bm-comment > div:first-child { font-size:14px; color:var(--ink, #1a1a1a); }
    .bm-comment-meta { font-size:11px; color:var(--ink-3, #888); }
    .bm-link-del { background:none; border:none; color:var(--red, #ea1c2d); font-size:11px; cursor:pointer; padding:0; }

    /* ── Phase 5: szűrő/kereső sáv ── */
    .board-filter { display:flex; gap:7px; padding:6px 16px 4px; }
    .bf-search { flex:1; min-width:0; padding:8px 11px; border:1.5px solid rgba(0,0,0,.14); border-radius:10px; font-family:'Barlow',sans-serif; font-size:14px; background:#fff; color:var(--ink, #1a1a1a); }
    .bf-search:focus { outline:none; border-color:var(--red, #ea1c2d); }
    .bf-sel { flex:0 0 auto; max-width:34%; padding:8px 6px; border:1.5px solid rgba(0,0,0,.14); border-radius:10px; font-family:'Barlow',sans-serif; font-size:13px; background:#fff; color:var(--ink-3, #888); }
    .board-dnd-off { margin:2px 16px 0; padding:7px 11px; background:rgba(234,28,45,.08); color:var(--red, #ea1c2d); border-radius:8px; font-size:12px; font-weight:600; }

    /* ── 🤖 ASSZISZTENS tab (AI-ügynökcsapat vezérlés) ── */
    #assistant-root { padding:8px 16px 24px; }
    .ai-sec { margin-top:16px; }
    .ai-sec-head { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:.4px; color:var(--ink-3, #888); margin:0 2px 8px; }
    .ai-presets { display:flex; flex-direction:column; gap:8px; }
    .ai-preset { display:flex; gap:12px; align-items:center; width:100%; text-align:left; cursor:pointer;
      background:var(--white, #fff); border:1.5px solid rgba(0,0,0,.08); border-radius:var(--r, 14px); padding:13px 14px; transition:all .12s; }
    .ai-preset:hover { border-color:var(--red, #ea1c2d); }
    .ai-preset:disabled { opacity:.5; cursor:default; }
    .ai-preset-ico { font-size:22px; flex-shrink:0; }
    .ai-preset-lbl { font-weight:700; font-size:15px; color:var(--ink, #1a1a1a); }
    .ai-preset-desc { font-size:12.5px; color:var(--ink-3, #888); margin-top:2px; }
    .ai-hint { font-size:12px; color:var(--ink-3, #888); margin:10px 2px 0; line-height:1.5; }
    .ai-hint code { background:rgba(0,0,0,.05); border-radius:5px; padding:1px 5px; font-size:11px; }
    .ai-run { display:flex; align-items:center; gap:9px; background:var(--white, #fff); border:1px solid rgba(0,0,0,.07); border-radius:10px; padding:9px 12px; margin-bottom:6px; font-size:14px; }
    .ai-run-st { margin-left:auto; font-size:12px; color:var(--ink-3, #888); }
    .ai-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
    .ai-dot.run { background:var(--green, #16a34a); animation:aipulse 1.2s infinite; }
    .ai-dot.queued { background:var(--orange, #c2410c); }
    @keyframes aipulse { 0%,100%{opacity:1} 50%{opacity:.35} }
    .ai-empty { color:var(--ink-3, #888); font-size:13.5px; padding:6px 2px; }
    .ai-deliv { background:var(--white, #fff); border:1px solid rgba(0,0,0,.08); border-radius:var(--r, 14px); padding:14px; margin-bottom:9px; }
    .ai-deliv-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; cursor:pointer; }
    .ai-deliv-title { font-weight:700; font-size:15.5px; color:var(--ink, #1a1a1a); }
    .ai-deliv-sub { font-size:12px; color:var(--ink-3, #888); margin-top:2px; }
    .ai-deliv-body { margin-top:10px; white-space:pre-wrap; font-size:13.5px; line-height:1.55; color:var(--ink-2, #444); border-top:1px solid rgba(0,0,0,.06); padding-top:10px; max-height:46vh; overflow-y:auto; }
    .ai-deliv-actions { display:flex; gap:8px; align-items:center; margin-top:12px; flex-wrap:wrap; }
    .ai-pill { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; border-radius:20px; padding:3px 10px; white-space:nowrap; flex-shrink:0; }
    .ai-pill.pending { background:rgba(194,65,12,.12); color:var(--orange, #c2410c); }
    .ai-pill.approved { background:rgba(22,163,74,.13); color:var(--green, #16a34a); }
    .ai-pill.rejected { background:rgba(234,28,45,.1); color:var(--red, #ea1c2d); }
    .ai-btn { border-radius:9px; padding:8px 14px; font-weight:700; font-size:13px; border:1.5px solid rgba(0,0,0,.12); background:#fff; color:var(--ink, #1a1a1a); cursor:pointer; }
    .ai-btn.approve { background:var(--green, #16a34a); color:#fff; border-color:var(--green, #16a34a); }
    .ai-btn.reject { background:#fff; color:var(--red, #ea1c2d); border-color:rgba(234,28,45,.35); }
    .ai-btn.use { background:var(--black, #1a1a1a); color:#fff; border-color:var(--black, #1a1a1a); }
    .ai-btn.ghost { background:transparent; color:var(--ink-3, #888); }
    .ai-used { font-size:12.5px; color:var(--green, #16a34a); font-weight:700; }


    /* ── KIADÁSOK (owner-only, 💳 Kiadások képernyő) ─────────── */
    #screen-kiadasok { display:none; }
    #screen-kiadasok.active { display:block; }

    .kd-monthbar { display:flex; align-items:center; gap:10px; padding:0 20px 16px; }
    .kd-monthbtn {
      background:var(--white); border:1.5px solid var(--border); border-radius:var(--r-sm);
      width:34px; height:34px; font-size:15px; color:var(--ink-2); flex-shrink:0;
    }
    .kd-monthlbl {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900;
      font-size:19px; text-transform:uppercase; letter-spacing:.3px;
    }
    .kd-monthsub { font-size:11px; color:var(--ink-3); font-weight:600; letter-spacing:.3px; }

    .kd-kpis { display:flex; gap:10px; padding:0 20px 20px; overflow-x:auto; scrollbar-width:none; }
    .kd-kpis::-webkit-scrollbar { display:none; }
    .kd-delta { font-size:11px; font-weight:700; margin-top:5px; letter-spacing:.3px; }
    .kd-delta.up { color:var(--red); }
    .kd-delta.down { color:var(--green); }
    .sum-card.red .kd-delta.up   { color:#ffd9dc; }
    .sum-card.red .kd-delta.down { color:#c7f5d6; }
    .sum-card.red .kd-delta      { color:rgba(255,255,255,.75); }
    .sum-card.dark .sum-lbl { white-space:normal; line-height:1.25; }
    .sum-card.dark { background:var(--black); }
    .sum-card.dark .sum-lbl { color:rgba(255,255,255,0.5); }
    .sum-card.dark .sum-val { color:#fff; }

    .kd-card {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      margin:0 20px 20px; padding:16px 16px 6px;
    }
    .kd-dot { width:7px; height:7px; border-radius:50%; display:inline-block; flex-shrink:0; }

    .kd-chip {
      display:inline-flex; align-items:center; gap:5px;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px;
      letter-spacing:.4px; text-transform:uppercase; white-space:nowrap;
      padding:3px 8px; border-radius:20px; background:var(--cream-dk); color:var(--ink-2);
    }
    .kd-chip.src { background:transparent; border:1.5px solid var(--border); color:var(--ink-3); }
    .kd-chip.loc { background:var(--black); color:#fff; }

    /* Bejövő kártyák */
    .kd-inbox { padding:0 20px 20px; display:flex; flex-direction:column; gap:14px; }
    .kd-draft {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      overflow:hidden; border:1.5px solid var(--border);
    }
    .kd-draft-top { display:flex; gap:13px; padding:14px 15px 10px; align-items:flex-start; }
    .kd-thumb {
      width:52px; height:66px; border-radius:8px; flex-shrink:0;
      background:repeating-linear-gradient(180deg,#f2efe0 0 6px,#e8e4d0 6px 8px);
      border:1px solid var(--border); display:flex; align-items:center; justify-content:center;
      font-size:20px;
    }
    .kd-draft-name {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px;
      letter-spacing:.2px; line-height:1.15;
    }
    .kd-draft-sub { font-size:11.5px; color:var(--ink-3); margin-top:2px; font-weight:600; }
    .kd-draft-amt {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900;
      font-size:20px; text-align:right; line-height:1; white-space:nowrap;
    }
    .kd-draft-amt small {
      display:block; font-family:'Barlow',sans-serif; font-weight:600; font-size:10.5px;
      color:var(--ink-3); margin-top:4px; letter-spacing:.2px;
    }
    .kd-fields { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); margin-top:4px; }
    .kd-field { background:var(--white); padding:9px 15px; }
    .kd-field-lbl { font-size:9px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:var(--ink-3); }
    .kd-field-val {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px;
      margin-top:2px; display:flex; align-items:center; gap:6px; white-space:nowrap;
    }
    .kd-sel {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px;
      border:1.5px solid var(--border); border-radius:8px; padding:3px 6px;
      background:var(--white); color:var(--ink); outline:none; max-width:100%;
    }
    .kd-toggle {
      display:inline-flex; align-items:center; gap:5px; cursor:pointer;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px;
      letter-spacing:.4px; text-transform:uppercase;
      padding:4px 10px 4px 7px; border-radius:20px;
      background:var(--green-dim); color:var(--green); border:1.5px solid rgba(22,163,74,.25);
    }
    .kd-toggle::before { content:'✓'; font-size:11px; }
    .kd-toggle.off { background:var(--cream-dk); color:var(--ink-3); border-color:var(--border); }
    .kd-toggle.off::before { content:'✕'; }
    .kd-draft-actions { display:flex; gap:8px; padding:12px 15px 14px; border-top:1px solid var(--border); }
    .kd-btn {
      flex:1; padding:11px; border-radius:var(--r-sm);
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px;
      letter-spacing:1px; text-transform:uppercase; transition:transform .1s;
    }
    .kd-btn:active { transform:scale(.98); }
    .kd-btn.primary { background:var(--red); color:#fff; }
    .kd-btn.ghost { background:var(--white); border:1.5px solid var(--border); color:var(--ink-2); flex:0 0 auto; padding:11px 16px; }

    /* Számla-lista */
    .kd-list { padding:0 20px 20px; display:flex; flex-direction:column; gap:8px; }
    .kd-row {
      background:var(--white); border-radius:var(--r-sm); box-shadow:var(--shadow);
      padding:12px 14px; display:flex; align-items:center; gap:12px; cursor:pointer;
    }
    .kd-row:active { transform:scale(.995); }
    .kd-row.voided { opacity:.5; text-decoration:line-through; }
    .kd-row-date {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:12px;
      color:var(--ink-3); width:42px; flex-shrink:0; line-height:1.1; text-align:center;
    }
    .kd-row-date b { display:block; font-size:18px; color:var(--ink); }
    .kd-row-date i { display:block; font-size:11px; font-style:normal; margin-top:2px; opacity:.75; }
    .kd-row-main { flex:1; min-width:0; }
    .kd-row-name { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; letter-spacing:.2px; }
    .kd-row-meta { display:flex; gap:5px; align-items:center; margin-top:4px; flex-wrap:wrap; }
    .kd-row-amt {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900;
      font-size:16px; white-space:nowrap; text-align:right;
    }
    .kd-row-amt small { display:block; font-family:'Barlow',sans-serif; font-weight:600; font-size:10px; color:var(--ink-3); margin-top:3px; }

    .kd-filters { display:flex; gap:8px; padding:0 20px 14px; overflow-x:auto; scrollbar-width:none; }
    .kd-filters::-webkit-scrollbar { display:none; }
    .kd-search {
      margin:0 20px 12px; background:var(--white); border:1.5px solid var(--border);
      border-radius:var(--r-sm); padding:11px 14px; display:flex; align-items:center; gap:9px;
    }
    .kd-search input { border:none; outline:none; background:none; flex:1; font-family:'Barlow',sans-serif; font-size:14px; color:var(--ink); }

    /* Telephely + szállítók */
    .kd-locs { display:flex; gap:10px; padding:0 20px 22px; }
    .kd-loc { flex:1; background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:13px 12px; text-align:center; }
    .kd-loc-n { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; color:var(--ink-3); letter-spacing:.8px; text-transform:uppercase; }
    .kd-loc-v { font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900; font-size:19px; margin-top:5px; }
    .kd-loc-bar { height:4px; border-radius:3px; background:var(--cream-ddk); margin-top:9px; overflow:hidden; }
    .kd-loc-bar i { display:block; height:100%; background:var(--red); border-radius:3px; }

    .kd-sup { background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); margin:0 20px 10px; padding:14px 15px; }
    .kd-sup-head { display:flex; align-items:center; gap:10px; }
    .kd-sup-name { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; flex:1; }
    .kd-sup-foot { display:flex; justify-content:space-between; margin-top:8px; font-size:11px; color:var(--ink-3); font-weight:600; }

    /* Tételsor-tábla a popupban */
    .kd-items { width:100%; border-collapse:collapse; margin-top:6px; }
    .kd-items th {
      font-family:'Barlow Condensed',sans-serif; font-size:9.5px; font-weight:700;
      letter-spacing:1.4px; text-transform:uppercase; color:var(--ink-3);
      text-align:left; padding:6px 8px; border-bottom:1.5px solid var(--border);
      position:sticky; top:0; background:var(--white);
    }
    .kd-items td { padding:8px; border-bottom:1px solid var(--border); font-size:13px; }
    .kd-items td.num { text-align:right; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; white-space:nowrap; }

    .kd-flags { padding:0 20px 20px; display:flex; flex-direction:column; gap:10px; }
    .kd-flag {
      background:var(--white); border-radius:var(--r); box-shadow:var(--shadow);
      border-left:4px solid var(--ink-3); padding:13px 15px;
      display:flex; gap:12px; align-items:flex-start;
    }
    .kd-flag.alert { border-left-color:var(--red);    background:linear-gradient(90deg, var(--red-dim), var(--white) 55%); }
    .kd-flag.warn  { border-left-color:var(--orange); background:linear-gradient(90deg, var(--orange-dim), var(--white) 55%); }
    .kd-flag-ico { font-size:18px; line-height:1.2; flex-shrink:0; }
    .kd-flag-body { flex:1; min-width:0; }
    .kd-flag-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; margin-bottom:2px; }
    .kd-flag-txt { font-size:12.5px; color:var(--ink-2); line-height:1.45; }
    .kd-flag-meta { font-size:11px; color:var(--ink-3); margin-top:5px; font-weight:600; }

    .kd-note {
      margin:0 20px 20px; padding:14px 16px; border:1.5px dashed var(--cream-ddk);
      border-radius:var(--r); font-size:12.5px; color:var(--ink-3); line-height:1.6;
    }
    .kd-note b { color:var(--ink-2); }

    /* ── EGYEZTETÉS fül ───────────────────────────────────────── */
    .kd-recon-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:0 16px 14px; }
    .kd-recon-kpi {
      background:var(--white); border:1px solid var(--border); border-radius:var(--r);
      padding:12px 12px 11px; min-width:0;
    }
    .kd-recon-kpi.warn { background:var(--red-dim); border-color:var(--red-border); }
    .kd-recon-lbl {
      font-size:9.5px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
      color:var(--ink-3); margin-bottom:5px;
    }
    .kd-recon-val {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif;
      /* 17px: három oszlopban 390 px-en a „26,54M Ft" 21px-en két sorba törik */
      font-weight:900; font-size:17px; line-height:1.05; letter-spacing:.2px; white-space:nowrap;
    }
    .kd-recon-kpi.warn .kd-recon-val { color:var(--red); }
    .kd-recon-sub { font-size:10.5px; color:var(--ink-3); margin-top:5px; line-height:1.35; }

    .kd-recon-list { padding:0 16px 6px; display:flex; flex-direction:column; gap:6px; }
    .kd-recon-row {
      display:flex; align-items:center; gap:10px;
      background:var(--white); border:1px solid var(--border);
      border-left:3px solid var(--cream-ddk);
      border-radius:var(--r-sm); padding:11px 13px;
    }
    .kd-recon-row.miss { border-left-color:var(--red); cursor:pointer; }
    .kd-recon-row.miss:active { background:var(--cream-dk); }
    .kd-recon-row.ok   { border-left-color:var(--green); }
    .kd-recon-name {
      flex:1; min-width:0; font-family:'Barlow Condensed',sans-serif;
      font-weight:700; font-size:15px; letter-spacing:.2px; line-height:1.25;
    }
    .kd-recon-note { display:block; font-family:'Barlow',sans-serif; font-weight:400;
      font-size:11px; color:var(--ink-3); letter-spacing:0; margin-top:2px; }
    .kd-recon-amt {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px;
      white-space:nowrap; text-align:right;
    }
    .kd-recon-db { display:block; font-size:10.5px; font-weight:600; color:var(--ink-3); }

    /* ── „Számla felvitele" gomb az Áttekintés tetején ────────── */
    /* Egy vagy több nagy akciógomb egymás alatt. Gap KELL: a gombokon erős
       árnyék van, enélkül a szomszédos blokkok árnyéka egymásra rakódik és a
       kettő egyetlen, elrontott szélű felületnek látszik (mérve 2026-08-02). */
    .kd-ujsor { padding:0 16px 14px; display:flex; flex-direction:column; gap:10px; }
    .kd-uj-btn {
      width:100%; display:flex; align-items:center; gap:12px;
      background:var(--black); color:#fff; border-radius:var(--r);
      padding:14px 16px; text-align:left;
      box-shadow:0 4px 16px rgba(26,26,26,.18);
    }
    .kd-uj-btn:active { opacity:.9; transform:scale(.995); }
    .kd-uj-ico { font-size:22px; line-height:1; flex-shrink:0; }
    .kd-uj-btn b {
      display:block; font-family:'Barlow Condensed',sans-serif; font-weight:800;
      font-size:17px; letter-spacing:.6px; text-transform:uppercase;
    }
    .kd-uj-btn small { display:block; font-size:11.5px; color:rgba(255,255,255,.55); margin-top:1px; }
    .kd-uj-btn span:nth-child(2) { flex:1; min-width:0; }
    .kd-uj-arrow { color:rgba(255,255,255,.35); font-size:22px; flex-shrink:0; }

    /* ── Számla-fotó ──────────────────────────────────────────── */
    .kd-foto {
      background:var(--white); border:1.5px dashed var(--cream-ddk);
      border-radius:var(--r); padding:14px; text-align:center;
    }
    .kd-foto-btn {
      width:100%; background:var(--black); color:#fff; border-radius:var(--r-sm);
      padding:13px; font-family:'Barlow Condensed',sans-serif; font-weight:700;
      font-size:16px; letter-spacing:1px; text-transform:uppercase;
    }
    .kd-foto-btn:active { opacity:.85; }
    .kd-foto-hint { font-size:11.5px; color:var(--ink-3); line-height:1.5; margin-top:9px; }
    .kd-foto-hint b { color:var(--red); }
    .kd-foto-kep {
      width:100%; max-height:220px; object-fit:contain; margin-top:10px;
      border-radius:var(--r-sm); background:var(--cream-dk);
    }
    .kd-foto .spinner { border-color:rgba(0,0,0,.18); border-top-color:var(--red); }

    /* ── Kézi számla űrlap ────────────────────────────────────── */
    .kd-form { padding:4px 20px 8px; display:flex; flex-direction:column; gap:12px; }
    .kd-fld { display:flex; flex-direction:column; gap:5px; min-width:0; }
    .kd-fld > span {
      font-size:10px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-3);
    }
    .kd-fld input, .kd-fld select {
      width:100%; background:var(--white); border:1px solid var(--border);
      border-radius:var(--r-sm); padding:11px 12px; font-family:'Barlow',sans-serif;
      font-size:16px;                     /* 16px: iOS-en enélkül ráközelít a beviteli mezőre */
      color:var(--ink);
    }
    .kd-fld input:focus, .kd-fld select:focus { outline:none; border-color:var(--red-border); }
    .kd-fld input[readonly] { background:var(--cream-dk); color:var(--ink-2); }
    .kd-form-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
    .kd-check {
      display:flex; align-items:flex-start; gap:10px; padding:12px 13px;
      background:var(--white); border:1px solid var(--border); border-radius:var(--r-sm);
      font-size:13px; line-height:1.45; cursor:pointer;
    }
    .kd-check input { width:18px; height:18px; flex-shrink:0; margin-top:1px; accent-color:var(--red); }
    .kd-check small { color:var(--ink-3); font-size:11.5px; }

    @media (min-width:768px) {
      .kd-recon-kpis, .kd-recon-list { padding-left:32px; padding-right:32px; }
      .kd-monthbar, .kd-kpis, .kd-filters, .kd-locs, .kd-inbox, .kd-list { padding-left:32px; padding-right:32px; }
      .kd-card, .kd-sup, .kd-note, .kd-search { margin-left:32px; margin-right:32px; }
      /* Szélesebb képernyőn a két akciógomb egymás mellé fér — egyenlő
         szélességgel, hogy ne az egyik uralja a képernyő tetejét. */
      .kd-ujsor { padding-left:32px; padding-right:32px; flex-direction:row; gap:12px; }
      .kd-ujsor .kd-uj-btn { flex:1; min-width:0; }
      .sched-hr-card, .sched-hr-note, .sai-card { margin-left:32px; margin-right:32px; }
    }

    /* ── 🧪 ÁRLABOR (owner-only) ──────────────────────────────── */
    #screen-arlabor { display:none; }
    #screen-arlabor.active { display:block; }

    /* Időszak-váltó */
    .al-periodbar { padding:0 20px 14px; }
    .al-period {
      display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding-bottom:2px;
    }
    .al-period::-webkit-scrollbar { display:none; }
    .al-per {
      flex:0 0 auto; padding:7px 13px; border-radius:20px; cursor:pointer;
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px;
      letter-spacing:.5px; text-transform:uppercase; white-space:nowrap;
      background:var(--cream-dk); color:var(--ink-2); transition:all .15s;
    }
    .al-per.on { background:var(--red); color:#fff; }
    .al-periodlbl { font-size:11.5px; color:var(--ink-3); font-weight:600; margin-top:8px; letter-spacing:.3px; }
    .al-load { color:var(--red); font-weight:700; }

    /* Kártya-fejléc, jegyzet, üres állapot */
    .al-cardhead {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px;
      letter-spacing:.4px; text-transform:uppercase; color:var(--ink);
      margin:0 0 10px; display:flex; align-items:center; gap:6px;
    }
    .al-cardhead.warn { color:var(--orange); }
    .al-hint { font-size:11.5px; color:var(--ink-3); line-height:1.5; margin-bottom:10px; }
    .al-hint.pad { padding:0 20px 12px; }
    .al-note {
      margin:0 20px 18px; padding:12px 14px; border-radius:var(--r-sm);
      background:var(--orange-dim); border:1px solid rgba(194,65,12,.18);
      font-size:12.5px; line-height:1.55; color:var(--ink-2);
    }
    .al-note.sm { margin:10px 0 0; font-size:12px; }
    .al-note.warn { background:var(--red-dim); border-color:var(--red-border); }
    .al-note a { color:var(--red); font-weight:700; cursor:pointer; text-decoration:none; }
    .al-empty { padding:40px 20px; text-align:center; color:var(--ink-3); font-size:13px; line-height:1.7; }
    .al-empty.sm { padding:14px 0; }
    .al-empty code { background:var(--cream-dk); padding:2px 6px; border-radius:4px; font-size:11px; }
    .al-foot { height:40px; }

    /* Táblázat */
    .al-tablewrap { padding:0 20px 20px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .al-tablewrap.wide { padding-bottom:8px; }
    .al-table { width:100%; border-collapse:collapse; font-size:13px; }
    .al-table th {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:10px;
      letter-spacing:.8px; text-transform:uppercase; color:var(--ink-3);
      text-align:left; padding:0 8px 8px; white-space:nowrap;
    }
    .al-table th.r, .al-table td.r { text-align:right; }
    .al-table td {
      padding:9px 8px; border-top:1px solid var(--border); vertical-align:middle;
      font-weight:600; color:var(--ink);
    }
    .al-table td.dim { color:var(--ink-3); font-weight:600; }
    .al-table td small {
      display:block; font-size:10.5px; color:var(--ink-3); font-weight:600;
      margin-top:1px; letter-spacing:.2px;
    }
    .al-table.sm { font-size:12.5px; margin-bottom:4px; }
    .al-table.sm td { padding:7px 6px; }
    .al-tnev { font-weight:700; line-height:1.25; }
    .al-chico { margin-right:5px; }
    .al-row { cursor:pointer; transition:background .12s; }
    .al-row:active { background:var(--cream-dk); }
    .al-more { padding:0 20px 20px; }
    .al-more .kd-btn { width:100%; }

    /* Százalék-jelölés — a szín a hüvelykujjszabály, nem dísz */
    .al-pct { font-weight:800; font-family:'Barlow Condensed',sans-serif; font-size:14px; }
    .al-pct.neg,  .neg  { color:var(--red); }
    .al-pct.low  { color:var(--orange); }
    .al-pct.mid  { color:var(--ink-2); }
    .al-pct.good, .good { color:var(--green); }

    /* Sáv-diagram (kategóriák) */
    .al-bar-row { display:flex; align-items:center; gap:10px; padding:7px 0; }
    .al-bar-lbl {
      flex:0 0 33%; font-size:12.5px; font-weight:700; line-height:1.2; min-width:0;
      overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    }
    .al-bar-lbl small { display:block; font-size:10px; color:var(--ink-3); font-weight:600; }
    .al-bar-track { flex:1; height:8px; background:var(--cream-dk); border-radius:5px; overflow:hidden; }
    .al-bar-fill { height:100%; background:var(--red); border-radius:5px; }
    .al-bar-val {
      flex:0 0 76px; text-align:right; font-family:'Barlow Condensed',sans-serif;
      font-weight:800; font-size:14px; line-height:1.1;
    }
    .al-bar-val small { display:block; font-size:10px; color:var(--ink-3); font-weight:600; }

    /* Mini sor (top/flop, napló) */
    .al-mini {
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:8px 0; border-top:1px solid var(--border); font-size:12.5px;
    }
    .al-mini:first-of-type { border-top:none; }
    .al-mini span { min-width:0; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
    .al-mini small { display:block; font-size:10.5px; color:var(--ink-3); font-weight:600; }
    .al-mini b { font-family:'Barlow Condensed',sans-serif; font-size:15px; white-space:nowrap; }
    .al-two { display:grid; grid-template-columns:1fr; }
    @media (min-width:600px) { .al-two { grid-template-columns:1fr 1fr; gap:0 20px; } .al-two .kd-card { margin-right:0; } .al-two .kd-card:first-child { margin-left:20px; } }

    /* Figyelmeztetés-sor */
    .al-warn-row {
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:9px 0; border-top:1px solid var(--border); font-size:12.5px;
    }
    .al-warn-num {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px;
      color:var(--red); text-align:right; white-space:nowrap; line-height:1.1;
    }
    .al-warn-num small { display:block; font-size:10px; color:var(--ink-3); font-weight:600; }
    .al-chip {
      display:inline-block; font-family:'Barlow Condensed',sans-serif; font-weight:700;
      font-size:10px; letter-spacing:.4px; text-transform:uppercase;
      padding:2px 7px; border-radius:20px; background:var(--cream-dk); color:var(--ink-2);
      vertical-align:middle;
    }
    .al-chip.warn { background:var(--orange-dim); color:var(--orange); }

    /* Vezérlők */
    .al-controls { display:flex; gap:8px; padding:0 20px 12px; align-items:center; flex-wrap:wrap; }
    .al-controls .kd-search { flex:1 1 180px; margin:0; min-width:0; }
    .al-controls .rep-filter-select { flex:0 0 auto; }

    /* Ár-beviteli mező (alapanyagok) */
    .al-priceinp {
      width:86px; text-align:right; padding:7px 9px; font-size:14px; font-weight:700;
      font-family:'Barlow Condensed',sans-serif; letter-spacing:.3px;
      background:var(--white); border:1.5px solid var(--border); border-radius:var(--r-sm);
      color:var(--ink); outline:none; transition:border-color .15s, background .15s;
      -moz-appearance:textfield;
    }
    .al-priceinp:focus { border-color:var(--red); }
    .al-priceinp.changed { border-color:var(--orange); background:var(--orange-dim); color:var(--orange); }
    .al-simrow td { background:var(--orange-dim); }

    .al-set-row {
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:9px 0; border-top:1px solid var(--border);
    }
    .al-set-lbl { font-size:12.5px; font-weight:700; line-height:1.3; min-width:0; }
    .al-set-lbl small { display:block; font-size:10.5px; color:var(--ink-3); font-weight:600; margin-top:1px; }

    /* Szimulációs sáv — a képernyő alján ragad, a lenti nav fölött */
    .al-simbar {
      position:fixed; left:0; right:0; bottom:calc(var(--nav-h, 62px) + env(safe-area-inset-bottom, 0px));
      z-index:300; background:var(--black); color:#fff;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:11px 16px; box-shadow:0 -6px 20px rgba(0,0,0,.18);
    }
    .al-simbar-txt { font-size:11.5px; line-height:1.4; min-width:0; }
    .al-simbar-txt b {
      display:block; font-family:'Barlow Condensed',sans-serif; font-size:14px;
      letter-spacing:.3px; text-transform:uppercase;
    }
    .al-simbar-txt .good { color:#5ee08a; font-weight:700; }
    .al-simbar-txt .neg  { color:#ff8f99; font-weight:700; }
    .al-simbar-btns { display:flex; gap:8px; flex-shrink:0; }
    .al-simbar .kd-btn { padding:8px 13px; font-size:11px; }
    .al-simbar .kd-btn.ghost { background:transparent; border-color:rgba(255,255,255,.28); color:#fff; }

    /* Recept-lista */
    .al-recrow {
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:10px 0; border-top:1px solid var(--border); cursor:pointer;
    }
    .al-recrow:first-of-type { border-top:none; }
    .al-recname { font-size:13px; font-weight:700; line-height:1.25; min-width:0; }
    .al-recname small { display:block; font-size:10.5px; color:var(--ink-3); font-weight:600; margin-top:1px; }
    .al-recnum {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px;
      text-align:right; white-space:nowrap; line-height:1.05;
    }
    .al-recnum small { display:block; font-size:9.5px; color:var(--ink-3); font-weight:600; letter-spacing:.4px; }

    /* Termék-lap (bottom sheet) */
    .al-sheet-title {
      font-family:'Heading Now 91','Barlow Condensed',sans-serif; font-weight:900;
      font-size:23px; line-height:1.1; letter-spacing:.2px; margin-top:4px;
    }
    .al-sheet-sub { font-size:11.5px; color:var(--ink-3); font-weight:600; margin:4px 0 14px; line-height:1.4; }
    .al-sheet-kpis {
      display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:16px;
    }
    .al-sheet-kpis > div {
      background:var(--white); border-radius:var(--r-sm); padding:9px 8px; text-align:center;
      box-shadow:var(--shadow);
    }
    .al-sheet-kpis span {
      display:block; font-size:9px; letter-spacing:.6px; text-transform:uppercase;
      color:var(--ink-3); font-weight:700; margin-bottom:3px;
    }
    .al-sheet-kpis b { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:800; }
    .al-sheet-h {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px;
      letter-spacing:.6px; text-transform:uppercase; color:var(--ink-3);
      margin:18px 0 6px; padding-bottom:5px; border-bottom:1.5px solid var(--border);
    }

    /* AI-elemzés */
    .al-ai-form { display:flex; flex-direction:column; gap:8px; }
    .al-ai-q {
      padding:10px 12px; font-size:13px; background:var(--white);
      border:1.5px solid var(--border); border-radius:var(--r-sm); outline:none; color:var(--ink);
    }
    .al-ai-q:focus { border-color:var(--red); }
    .al-ai-meta { font-size:11px; color:var(--ink-3); font-weight:600; margin:-4px 0 10px; }
    .al-ai-body { font-size:13.5px; line-height:1.65; color:var(--ink-2); }
    .al-ai-body h4 {
      font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px;
      letter-spacing:.3px; text-transform:uppercase; color:var(--ink); margin:16px 0 6px;
    }
    .al-ai-body p { margin:0 0 9px; }
    .al-ai-body ul { margin:0 0 10px; padding-left:18px; }
    .al-ai-body li { margin-bottom:5px; }
    .al-ai-body code { background:var(--cream-dk); padding:1px 5px; border-radius:4px; font-size:12px; }
    .al-ai-body b { color:var(--ink); }

    @media (min-width:768px) {
      .al-periodbar, .al-controls, .al-tablewrap, .al-hint.pad, .al-more { padding-left:32px; padding-right:32px; }
      .al-note { margin-left:32px; margin-right:32px; }
      .al-two .kd-card:first-child { margin-left:32px; }
    }

    /* Árlabor KPI-sor: a címkék hosszabbak, mint a Kiadásokéi (a --sum-lbl
       alapból nowrap), ezért itt tördelhetnek — levágott felirat helyett két sor. */
    .al-kpis .sum-lbl { white-space:normal; letter-spacing:1.2px; line-height:1.25; }
    .al-kpis .sum-card { min-width:104px; padding:13px 12px; }
    .al-kpis .kd-delta { line-height:1.35; }

    /* Csatorna-tábla mobilon: a költség-bontó oszlopok elrejtve, hogy a lényeg
       (bevétel / fedezet / %) vízszintes görgetés nélkül elférjen. */
    @media (max-width:599px) {
      .al-table .opt { display:none; }
    }
    @media (max-width:599px) {
      .al-priceinp { width:72px; padding:6px 8px; }
      .al-table td, .al-table th { padding-left:5px; padding-right:5px; }
    }

    /* Ár-javaslat a számlákból (Alapanyagok fül) */
    .al-javrow td { background:var(--red-dim); }
    .al-jav {
      display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px;
      margin-top:7px; padding:7px 9px; border-radius:var(--r-sm);
      background:var(--white); border:1.5px solid var(--red-border);
    }
    .al-jav-txt { font-size:11.5px; font-weight:600; color:var(--ink-2); line-height:1.35; }
    .al-jav-txt b { font-family:'Barlow Condensed',sans-serif; font-size:14px; }
    .al-jav-txt small { display:block; font-size:10px; color:var(--ink-3); }
    .al-jav-btns { display:flex; gap:6px; margin-left:auto; }
    .al-jav-ok, .al-jav-no {
      font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px;
      letter-spacing:.4px; text-transform:uppercase; padding:5px 10px;
      border-radius:20px; border:1.5px solid transparent; cursor:pointer; white-space:nowrap;
    }
    .al-jav-ok { background:var(--red); color:#fff; }
    .al-jav-no { background:transparent; border-color:var(--border); color:var(--ink-3); }
    .al-jav-ok:disabled, .al-jav-no:disabled { opacity:.5; }

    /* Fogalom-magyarázat (a „fedezet" nem profit — enélkül félreolvasható) */
    .al-defn {
      margin:0 20px 18px; padding:11px 14px; border-radius:var(--r-sm);
      background:var(--white); border-left:3px solid var(--black);
      font-size:11.5px; line-height:1.6; color:var(--ink-2); box-shadow:var(--shadow);
    }
    .al-defn b { color:var(--ink); }
    @media (min-width:768px) { .al-defn { margin-left:32px; margin-right:32px; } }

/* ═══ ÉVES JELENTÉSEK (Riportok fül) ═══════════════════════════════════════ */
.ev-bars { display:flex; flex-direction:column; gap:7px; }
.ev-bar-row { display:flex; align-items:center; gap:10px; }
.ev-bar-lbl { width:58px; flex:0 0 58px; font-family:'Barlow Condensed',sans-serif;
              font-size:16px; font-weight:600; color:#1a1a1a; }
.ev-bar-track { flex:1; height:16px; background:rgba(0,0,0,.07); border-radius:8px; overflow:hidden; }
.ev-bar-fill { height:100%; background:#ea1c2d; border-radius:8px; }
.ev-bar-fill.alt { background:#1a1a1a; opacity:.72; }
.ev-bar-val { width:96px; flex:0 0 96px; text-align:right; font-variant-numeric:tabular-nums;
              font-size:13px; font-weight:600; }
.ev-part { color:#999; font-weight:400; font-size:11px; }
.ev-src { font-size:11px; }
.ev-ytd { margin-top:12px; padding-top:11px; border-top:1px solid rgba(0,0,0,.09);
          font-size:13px; line-height:1.5; }
.ev-note { margin-top:9px; font-size:11.5px; line-height:1.5; color:#8a8a8a; }
.ev-note a { color:#ea1c2d; }

/* A havi tábla széles — SAJÁT görgetője legyen, ne az oldalé */
.rep-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ev-table { min-width:640px; }
/* A .rep-td.num alapból piros (report-konvenció), de itt MINDEN cella szám —
   úgy az egész tábla vörös lenne. A havi értékek tintaszínűek, és a piros
   annak marad, ami tényleg kiemelendő: az összegzés. */
.ev-table .rep-td.num { font-variant-numeric:tabular-nums; white-space:nowrap;
                        color:#1a1a1a; font-weight:600; }
.ev-table .rep-td.num b { color:var(--red); font-weight:700; }
.ev-table .ev-total .rep-td.num b { color:var(--red); }
.ev-null { color:#c4c4c4; }
.ev-total .rep-td { background:rgba(0,0,0,.04); }

.ev-tipus-grid { display:flex; flex-direction:column; gap:8px; padding:0 20px 20px; }
.ev-tipus-row { display:flex; align-items:center; gap:10px; }
.ev-tipus-lbl { width:150px; flex:0 0 150px; font-size:12.5px; line-height:1.3; }
.ev-tipus-val { width:104px; flex:0 0 104px; text-align:right; font-size:13px; font-weight:600;
                font-variant-numeric:tabular-nums; }
.ev-tipus-val span { display:block; font-size:11px; font-weight:400; color:#8a8a8a; }

.ev-afa-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
               gap:10px; padding:0 20px 4px; }
.ev-afa-card { background:rgba(0,0,0,.04); border-radius:10px; padding:11px 12px; }
.ev-afa-k { font-family:'Barlow Condensed',sans-serif; font-size:19px; font-weight:700; color:#ea1c2d; }
/* nowrap: a „102 378 862 Ft" különben két sorba tört a kártyában */
.ev-afa-v { font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ev-afa-p { font-size:11px; color:#8a8a8a; }

/* Egyenleg-bekérő */
.ev-egyenleg-keres { background:#1a1a1a; color:#fff; border-radius:14px; padding:17px 17px 15px; }
.ev-eg-head { font-family:'Barlow Condensed',sans-serif; font-size:19px; font-weight:700; }
.ev-eg-sub { font-size:12.5px; color:rgba(255,255,255,.66); margin:3px 0 13px; line-height:1.45; }
.ev-eg-row { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.ev-eg-row label, .ev-eg-megj { display:flex; flex-direction:column; gap:4px;
                                font-size:11.5px; color:rgba(255,255,255,.7); }
.ev-eg-megj { margin-top:9px; }
.ev-egyenleg-keres input { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.19);
                           border-radius:8px; padding:9px 10px; color:#fff; font-size:15px;
                           font-variant-numeric:tabular-nums; width:100%; }
.ev-egyenleg-keres input:focus { outline:none; border-color:#ea1c2d; }
.ev-eg-btn { width:100%; margin-top:13px; background:#ea1c2d; color:#fff; border:none;
             border-radius:9px; padding:12px; font-size:15px; font-weight:600; cursor:pointer; }
.ev-eg-btn:disabled { opacity:.55; }
.ev-eg-hiba { color:#ff9a9a; font-size:12.5px; margin-top:8px; min-height:16px; }

@media (max-width:420px) {
  .ev-bar-lbl { width:44px; flex:0 0 44px; font-size:14px; }
  .ev-bar-val { width:78px; flex:0 0 78px; font-size:12px; }
  .ev-tipus-lbl { width:112px; flex:0 0 112px; font-size:11.5px; }
  .ev-eg-row { grid-template-columns:1fr; }
}
/* Mértékegység-címke a tábla fejlécében (nettó Ft) — halkabb, mint a fejléc */
.ev-egys { display:block; font-weight:400; font-size:10px; color:#9a9a9a;
           letter-spacing:.02em; text-transform:none; }

/* ═══ RIPORTOK — Áttekintés + Havi (2026-07-30-i átszervezés) ═════════════ */
/* Al-fülek: a fő fülnél halkabb, hogy a hierarchia látszódjon */
.rep-subtabs { display:flex; gap:6px; padding:0 20px 12px; overflow-x:auto;
               -webkit-overflow-scrolling:touch; }
.rep-subtab { flex-shrink:0; padding:6px 13px; border-radius:99px; font-size:12.5px;
              font-weight:600; color:var(--ink-3); background:rgba(0,0,0,.05);
              cursor:pointer; white-space:nowrap; }
.rep-subtab.on { background:#1a1a1a; color:#fff; }

.rp-kpi-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rp-kpi { background:rgba(0,0,0,.04); border-radius:12px; padding:13px 14px; }
.rp-kpi.big { grid-column:1 / -1; background:#1a1a1a; color:#fff; }
.rp-kpi.neg { background:rgba(234,28,45,.09); }
.rp-kpi-lbl { font-size:11px; letter-spacing:.04em; text-transform:uppercase;
              color:var(--ink-3); font-weight:600; }
.rp-kpi.big .rp-kpi-lbl { color:rgba(255,255,255,.6); }
.rp-kpi-val { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:27px;
              line-height:1.1; margin-top:3px; font-variant-numeric:tabular-nums; }
.rp-kpi-val.sm { font-size:19px; }
.rp-kpi-sub { font-size:11.5px; color:var(--ink-3); margin-top:2px; }
.rp-kpi.big .rp-kpi-sub { color:rgba(255,255,255,.55); }
.rp-delta { display:inline-block; font-size:12.5px; font-weight:700; margin-top:3px; }
.rp-delta.up { color:#1a9e4b; } .rp-delta.down { color:var(--red); }
.rp-kpi.big .rp-delta.up { color:#5fe08f; }

/* AI-blokk — sötét, hogy elváljon a számoktól: ez értelmezés, nem adat */
.rp-ai { margin:14px 20px 4px; background:#1a1a1a; color:#fff; border-radius:14px;
         padding:16px 17px 14px; }
.rp-ai-head { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px; }
.rp-ai-body { font-size:13.5px; line-height:1.62; color:rgba(255,255,255,.9); margin-top:9px; }
.rp-ai-sub { font-size:11px; letter-spacing:.05em; text-transform:uppercase;
             color:rgba(255,255,255,.5); font-weight:700; margin-top:14px; }
.rp-ai-list { margin:6px 0 0; padding-left:17px; }
.rp-ai-list li { font-size:13px; line-height:1.55; margin-bottom:6px;
                 color:rgba(255,255,255,.88); }
.rp-ai-foot { font-size:11px; color:rgba(255,255,255,.42); margin-top:12px;
              padding-top:9px; border-top:1px solid rgba(255,255,255,.12); }
.rp-ai-foot a { color:#ff8b95; }
.rp-ai-load, .rp-ai-empty { font-size:13px; color:rgba(255,255,255,.6); margin-top:8px; }
.rp-ai-btn { margin-top:11px; background:var(--red); color:#fff; border:none;
             border-radius:9px; padding:9px 16px; font-size:13.5px; font-weight:600;
             cursor:pointer; }

/* Mini oszlopdiagram az utolsó 6 hónapra */
.rp-mini { display:flex; gap:7px; align-items:flex-end; padding:0 20px 6px; height:132px; }
.rp-mini-col { flex:1; display:flex; flex-direction:column; justify-content:flex-end;
               align-items:center; height:100%; cursor:pointer; }
.rp-mini-bar { width:100%; background:var(--red); border-radius:6px 6px 0 0; min-height:6px; }
.rp-mini-col:active .rp-mini-bar { opacity:.7; }
.rp-mini-v { font-size:11px; font-weight:700; margin-top:5px; font-variant-numeric:tabular-nums; }
.rp-mini-l { font-size:10.5px; color:var(--ink-3); }

/* Jutalékok fül (Kiadások) — koppintható sorok, mert mindegyik beírható.
   A hiányzó tétel PIROS, nem rejtett: a lyuk maga az információ. */
.kd-jut-lista { display:flex; flex-direction:column; padding:0 20px 4px; }
.kd-jut-row { display:flex; align-items:center; gap:10px; padding:11px 0;
              border-bottom:1px solid rgba(0,0,0,.07); cursor:pointer; }
.kd-jut-row:active { opacity:.6; }
.kd-jut-row.ossz { border-bottom:none; border-top:2px solid rgba(0,0,0,.16);
                   margin-top:2px; cursor:default; font-weight:700; }
.kd-jut-row.ossz:active { opacity:1; }
.kd-jut-nev { flex:1; font-size:13px; line-height:1.3; }
.kd-jut-forras { display:block; font-size:11px; color:var(--ink-3); margin-top:2px; }
.kd-jut-val { flex:0 0 116px; text-align:right; font-size:13.5px; font-weight:600;
              font-variant-numeric:tabular-nums; }
.kd-jut-val.hiany { color:var(--red); }
.kd-jut-val span { display:block; font-size:11px; font-weight:400; color:#8a8a8a; }
.kd-jut-hint { padding:12px 20px 24px; font-size:12px; line-height:1.55; color:var(--ink-3); }
.kd-jut-ho { font-size:12px; color:var(--ink-3); margin-bottom:2px; }
.kd-jut-elozo { background:rgba(0,0,0,.05); border:none; border-radius:10px;
                padding:10px 12px; font:inherit; font-size:12.5px; color:var(--ink-2);
                text-align:left; cursor:pointer; }
.kd-jut-elozo:active { opacity:.6; }
.kd-jut-warn { background:rgba(234,28,45,.08); border-radius:10px; padding:10px 12px;
               font-size:12px; line-height:1.5; color:var(--ink-2); }

@media (max-width:380px) {
  .rp-kpi-val { font-size:23px; } .rp-kpi-val.sm { font-size:17px; }
  .rp-mini { gap:5px; }
  .kd-jut-val { flex:0 0 100px; }
}

/* Napi briefing — világosabb, mint a havi elemzés: ez élő pillanatkép,
   nem mélyelemzés. A hierarchia így kódolva van, nem csak a sorrendben. */
.rp-ai.napi { background:#fff; color:#1a1a1a; border:1px solid rgba(0,0,0,.09);
              box-shadow:var(--shadow-sm); }
.rp-ai.napi .rp-ai-head { display:flex; align-items:baseline; gap:8px; }
.rp-napi-ido { font-family:'Barlow',sans-serif; font-size:11.5px; font-weight:500;
               color:var(--ink-3); }
.rp-ai.napi .rp-ai-body { color:var(--ink-2); font-size:13px; }
.rp-ai.napi .rp-ai-foot { color:var(--ink-3); border-top-color:rgba(0,0,0,.08); }
.rp-ai.napi .rp-ai-foot a, .rp-ai.napi .rp-ai-empty a { color:var(--red); }
.rp-ai.napi .rp-ai-empty, .rp-ai.napi .rp-ai-load { color:var(--ink-3); }
.rp-napi-nums { display:flex; gap:16px; margin-top:10px; }
.rp-napi-nums > div { display:flex; flex-direction:column; }
.rp-napi-nums b { font-family:'Barlow Condensed',sans-serif; font-size:19px;
                  font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums; }
.rp-napi-nums span { font-size:10.5px; color:var(--ink-3); }
.rp-napi-bolt { font-size:11.5px; color:var(--ink-3); margin-top:7px;
                padding-top:7px; border-top:1px solid rgba(0,0,0,.07); }

/* ═══ Riportok v3 (2026-09-28) — grafikonok (grafikon.js) és az új Áttekintés ═══════════════
   A színsorrend a dataviz-validátoron ment át (szomszédos CVD ΔE ≥ 9,1); a három világos szín
   3:1 alatti kontrasztja miatt minden grafikon alatt ott a táblázat-nézet. Tükör: admin-v2/style.css. */
:root {
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s5:#e87ba4; --s6:#4a3aa7;
  --gr-racs:rgba(0,0,0,.07); --gr-alap:rgba(0,0,0,.28); --seq-lo:#dce9fb; --seq-hi:#104281;
}
.gr { width:100%; max-width:560px; }
.gr-svg { display:block; width:100%; height:auto; overflow:visible; }
.gr-svg text { font-family:'Barlow',system-ui,sans-serif; font-size:10.5px; }
.gr-tengely { fill:var(--ink-3); }
.gr-cimke { fill:var(--ink-2); font-family:'Barlow Condensed',sans-serif !important; font-weight:700; font-size:11.5px !important; }
.gr-cimke-vil { fill:#fff; }
.gr-racs { stroke:var(--gr-racs); } .gr-alap { stroke:var(--gr-alap); }
.gr-halvany { opacity:.35; }
.gr-gyuru { stroke:#fff; stroke-width:2; }
.gr-hatar { stroke:var(--ink); stroke-width:1.5; }
.gr-kereszt { opacity:0; } .gr-kereszt.on { opacity:1; }
.gr-v-ossz { fill:var(--ink); } .gr-v-pos { fill:var(--green); } .gr-v-neg { fill:var(--red); }
.gr-v-le { fill:var(--red); opacity:.82; }
.gr-spark { display:block; width:100%; height:26px; margin-top:5px; }
.gr-jel { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12px; color:var(--ink-2); margin-top:6px; }
.gr-jel i { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:-1px; }
.gr-megj { font-size:12px; color:var(--ink-3); margin-top:4px; }
.gr-tabla { margin-top:8px; font-size:12.5px; }
.gr-tabla summary { cursor:pointer; color:var(--ink-3); }
.gr-tabla .tabla-doboz { overflow-x:auto; }
.gr-tabla table { width:100%; border-collapse:collapse; margin-top:6px; }
.gr-tabla th, .gr-tabla td { padding:4px 6px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; }
.gr-tabla th { font-size:11px; color:var(--ink-3); font-weight:600; }
.gr-tabla .num { text-align:right; font-variant-numeric:tabular-nums; }
.gr-tip { position:fixed; z-index:9999; pointer-events:none; opacity:0; transition:opacity .08s;
  background:#1a1a1a; color:#fff; font-size:12.5px; line-height:1.35; padding:7px 9px;
  border-radius:9px; box-shadow:0 6px 20px rgba(0,0,0,.25); max-width:240px; left:0; top:0; }
.gr-tip.on { opacity:1; }
.gr-tip-cim { font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.3px; }

.rv3-racs { display:flex; flex-direction:column; gap:12px; padding:0 20px 16px; }
.rv3-kartya { background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:14px 15px; min-width:0; }
.rv3-hos { background:#1a1a1a; color:#fff; border-radius:var(--r); padding:16px; }
.rv3-szem { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:1.3px; text-transform:uppercase; color:rgba(255,255,255,.55); }
.rv3-szam { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:42px; line-height:1; margin:6px 0 4px; }
.rv3-szam small { font-size:12px; font-weight:600; letter-spacing:1px; color:rgba(255,255,255,.55); margin-left:6px; text-transform:uppercase; }
.rv3-al { color:rgba(255,255,255,.75); font-size:13px; }
.rv3-kpik { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin-top:12px; }
.rv3-kpi { background:rgba(255,255,255,.08); border-radius:10px; padding:9px 10px; min-width:0; }
.rv3-kpi .k { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:1.1px; text-transform:uppercase; color:rgba(255,255,255,.55); }
.rv3-kpi .v { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:24px; line-height:1.1; margin-top:2px; }
.rv3-kpi .s { font-size:11.5px; color:rgba(255,255,255,.75); }
.rv3-fej { display:flex; justify-content:space-between; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.rv3-fej h3 { margin:0; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; letter-spacing:.3px; }
.rv3-chip { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; letter-spacing:.4px; text-transform:uppercase;
  border-radius:999px; padding:2px 9px; background:var(--cream-dk); color:var(--ink-2); }
.rv3-chip.warn { background:var(--orange-dim); color:var(--orange); }
.rv3-mit { font-size:13px; color:var(--ink-2); margin-top:8px; padding-top:8px; border-top:1px solid var(--border); line-height:1.5; }
.rv3-mit b { color:var(--ink); }
.rv3-racs .rp-ai { margin:0; }
.eves-tabla-v3 td, .eves-tabla-v3 th { white-space:nowrap; font-variant-numeric:tabular-nums; }
.eves-tabla-v3 td:first-child, .eves-tabla-v3 th:first-child { position:sticky; left:0; z-index:1; background:var(--white); box-shadow:1px 0 0 var(--border); }
@media (min-width:1100px) {
  .rv3-racs { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); align-items:start; padding:0 32px 16px; }
  .rv3-racs > .rv3-teljes { grid-column:1 / -1; }
  .rv3-kpik { grid-template-columns:repeat(4, minmax(0,1fr)); }
}

/* ═══════════ 📺 KIJELZŐK (owner-only) ═══════════ */
#screen-signage { display:none; }
#screen-signage.active { display:block; }
#sg-panel { padding:0 20px 90px; }
.sg-hero { background:#1a1a1a; color:#fff; border-radius:var(--r); padding:16px; margin-bottom:12px; }
.sg-hero-k { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:1.3px; text-transform:uppercase; color:rgba(255,255,255,.55); }
.sg-hero-n { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:48px; line-height:1; margin:6px 0 8px; }
.sg-hero-n small { font-size:13px; font-weight:600; letter-spacing:1px; color:rgba(255,255,255,.55); margin-left:8px; text-transform:uppercase; }
.sg-hero-chips { display:flex; gap:6px; flex-wrap:wrap; }
.sg-chip { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; letter-spacing:.4px; text-transform:uppercase; border-radius:999px; padding:3px 10px; background:rgba(255,255,255,.12); color:rgba(255,255,255,.85); }
.sg-chip.warn { background:#c2410c; color:#fff; }
.sg-chip.bad { background:var(--red); color:#fff; }
.sg-hero-msg { font-size:13px; line-height:1.5; color:rgba(255,255,255,.8); margin-top:10px; }
.sg-actions { margin:4px 0 14px; }
.sg-actions .btn-red:disabled { opacity:.45; }
.sg-actions .sg-dim { margin-top:8px; }
.sg-card { background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:14px 15px; margin-bottom:12px; }
.sg-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.sg-card-ttl { min-width:0; }
.sg-name { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; line-height:1.1; word-break:break-word; }
.sg-loc { font-size:12.5px; color:var(--ink-3); margin-top:2px; }
.sg-pill { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.4px; text-transform:uppercase; border-radius:999px; padding:3px 10px; white-space:nowrap; background:var(--cream-dk); color:var(--ink-2); }
.sg-pill.ok { background:var(--green-dim); color:var(--green); }
.sg-pill.warn { background:var(--orange-dim); color:var(--orange); }
.sg-pill.bad { background:var(--red-dim); color:var(--red); }
.sg-pill.off { background:var(--cream-dk); color:var(--ink-3); white-space:normal; }
.sg-warn { margin:10px 0 0; padding:10px 12px; border-radius:var(--r-sm); background:var(--orange-dim); border:1px solid rgba(194,65,12,.18); font-size:12.5px; line-height:1.5; color:var(--ink-2); }
.sg-warn.sm { margin-top:6px; padding:7px 9px; font-size:11.5px; }
.sg-err { margin:8px 0 0; padding:8px 10px; border-radius:var(--r-sm); background:var(--red-dim); border:1px solid var(--red-border); font-size:12px; line-height:1.45; color:var(--ink-2); word-break:break-word; }
.sg-now { margin-top:10px; font-size:14px; color:var(--ink-2); }
.sg-row { margin-top:12px; }
.sg-row label { display:block; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ink-3); margin-bottom:6px; }
.sg-row select, .sg-plbar select { width:100%; background:var(--white); border:1.5px solid var(--border); border-radius:var(--r-sm); padding:11px 13px; font-size:15px; color:var(--ink); outline:none; }
.sg-row select:focus, .sg-plbar select:focus { border-color:var(--red); }
.sg-meta { margin-top:10px; font-size:12px; color:var(--ink-3); line-height:1.5; }
.sg-card-btns { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.sg-dim { font-size:12px; color:var(--ink-3); line-height:1.5; }
.sg-pad { padding:0 2px 10px; }
.sg-pad0 { margin-bottom:12px; }
.sg-sec { margin:18px 0 8px; }
.sg-sec-toggle { width:100%; display:flex; justify-content:space-between; align-items:center; text-align:left; padding:10px 2px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; letter-spacing:.4px; text-transform:uppercase; color:var(--ink-3); cursor:pointer; }
.sg-sec-body { margin-top:8px; }
.sg-info { width:100%; border-collapse:collapse; font-size:12px; margin-bottom:6px; }
.sg-info td { padding:5px 6px 5px 0; border-top:1px solid var(--border); vertical-align:top; word-break:break-word; color:var(--ink); }
.sg-info td.k { width:38%; color:var(--ink-3); }
.sg-tr { background:var(--white); border-radius:var(--r-sm); padding:10px 12px; margin-bottom:8px; box-shadow:var(--shadow); }
.sg-tr-h { display:flex; justify-content:space-between; gap:8px; font-size:14px; }
.sg-ua { word-break:break-all; margin:2px 0 6px; }
.sg-empty { text-align:center; padding:28px 16px; color:var(--ink-3); font-size:13.5px; line-height:1.7; }
.sg-plbar { display:flex; gap:8px; margin-bottom:12px; align-items:stretch; }
.sg-plbar select { flex:1; min-width:0; }
.sg-items { display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.sg-item { display:flex; align-items:center; gap:10px; background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:8px 10px 8px 4px; }
.sg-item.off { opacity:.55; }
.sg-ghost { opacity:.4; }
.sg-grip { flex:0 0 auto; width:28px; align-self:stretch; display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--ink-3); cursor:grab; touch-action:none; user-select:none; }
.sg-thumb { flex:0 0 auto; width:64px; height:40px; border-radius:6px; object-fit:cover; background:var(--cream-dk); }
.sg-thumb.ph, .sg-mthumb.ph, .sg-prev-img.ph { display:flex; align-items:center; justify-content:center; font-size:20px; }
.sg-item-body { flex:1; min-width:0; }
.sg-item-t { font-weight:600; font-size:14px; line-height:1.25; word-break:break-word; }
.sg-item-s { font-size:11.5px; color:var(--ink-3); margin-top:1px; }
.sg-badges { display:flex; gap:4px; flex-wrap:wrap; margin-top:5px; }
.sg-badges .sg-pill { font-size:10.5px; padding:2px 8px; }
.sg-item-ctl { flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:6px; }
.sg-switch { position:relative; display:inline-block; width:40px; height:24px; cursor:pointer; }
.sg-switch input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.sg-switch i { position:absolute; inset:0; background:var(--cream-ddk); border-radius:24px; transition:background .15s; pointer-events:none; }
.sg-switch i::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .15s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.sg-switch input:checked + i { background:var(--green); }
.sg-switch input:checked + i::after { transform:translateX(16px); }
.sg-arrows { display:flex; gap:4px; }
.sg-arrows button, .sg-more { width:32px; height:28px; border-radius:7px; background:var(--cream-dk); color:var(--ink-2); font-size:12px; line-height:1; cursor:pointer; }
.sg-arrows button:disabled { opacity:.3; cursor:default; }
.sg-more { width:auto; padding:0 12px; font-size:15px; }
.sg-mgrid { display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.sg-mcard { display:flex; gap:12px; background:var(--white); border-radius:var(--r); box-shadow:var(--shadow); padding:10px; cursor:pointer; }
.sg-mcard:active { background:var(--cream-dk); }
.sg-mthumb { flex:0 0 auto; width:84px; height:56px; border-radius:7px; object-fit:cover; background:var(--cream-dk); }
.sg-mbody { flex:1; min-width:0; }
.sg-up { background:var(--white); border-radius:var(--r-sm); box-shadow:var(--shadow); padding:10px 12px; margin-bottom:8px; }
.sg-up-h { display:flex; flex-direction:column; gap:2px; font-size:13px; }
.sg-up-n { font-weight:600; overflow-wrap:anywhere; }
.sg-bar { height:6px; background:var(--cream-dk); border-radius:6px; margin:8px 0; overflow:hidden; }
.sg-bar-in { height:100%; background:var(--red); transition:width .2s; }
.sg-sheet-in { padding:6px 20px 8px; }
.sg-prev { margin-bottom:10px; }
.sg-prev-img { width:100%; max-height:200px; object-fit:contain; border-radius:var(--r-sm); background:#111; display:block; }
.sg-prev-img.ph { height:110px; background:var(--cream-dk); font-size:34px; }
.sg-pick { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--border); }
.sg-pick .kd-btn { flex:0 0 auto; padding:9px 12px; }
.sg-danger { margin-top:22px; padding-top:16px; border-top:1px solid var(--border); }
.sg-danger .sg-dim { margin-top:8px; }
.sg-btn-danger { background:#8f1320; box-shadow:none; margin-top:10px; }
.sg-btn-danger-o { color:var(--red); border-color:var(--red-border); width:100%; }
.sg-code { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:26px; letter-spacing:6px; text-transform:uppercase; text-align:center; }
@media (min-width:1100px) {
  #sg-panel { padding:0 32px 60px; }
  .sg-mgrid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
}
