/* ============================================================================
   admin-tokens.css — SPOLEČNÁ skořápka administrace webu tábora (23.9.2026).
   1:1 kopie efko-tokens.css z Mironet Dashboardu (layout DIMA: topbar / kpibar / filterbar /
   main = drawer + content / tbl / wchip / btn / seg / pager / card / pdet / dd).
   Používá components/layouts/admin.blade.php. Specifika tábora patří do admin.css.
   Měnit barvu/font = JEN tady. Neupravovat po částech – při aktualizaci z dashboardu přepsat celý.
   ============================================================================ */
:root{
  --bg:#f0f1f3;--bg2:#e8e9ec;--card:#FFFFFF;--card2:#f4f5f7;--border:#e6e8eb;--border-strong:#d5d8dd;
  --text:#1c2745;--text-strong:#0E2267;--text-light:#33405e;--muted:#6b7a99;--muted-light:#9aa6bd;
  --accent:#1b46c9;--accent-dark:#153a9e;--accent-bg:#eaf0ff;--accent-bright:#0083DF;
  --purple:#A184D7;--purple-dark:#6F42C1;--purple-bg:#F7E5FF;
  --green:#57B104;--green-dark:#3d7d00;--green-bg:#F2FEE6;
  --orange:#FFA726;--orange-dark:#FD7E14;--orange-bg:#FFF5E6;
  --red:#CC3535;--red-dark:#A92B2B;--red-bg:#FFE5E5;
  --cyan:#17A2B8;--turquoise-bg:#E5FCFF;--yellow:#FFC107;--yellow-bg:#FFFED8;
  --mir-navy:#0E2267;--mir-hl:#0083DF;--mir-accent:#FFCB1D;
  --barh:56px;
  --font-ui:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-display:'Poppins','Inter',sans-serif;
  --font-mono:'SF Mono',Menlo,Consolas,monospace;
  --shadow-sm:0 1px 3px rgba(16,34,103,.06);--shadow-md:0 4px 16px rgba(16,34,103,.08);--shadow-lg:0 12px 40px rgba(16,34,103,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
body.fs{font-family:var(--font-ui);background:var(--bg);color:var(--text);line-height:1.5;font-size:13.5px;height:100vh;display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;outline:none}
a{color:inherit;text-decoration:none}

/* ===== topbar ===== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.1rem;background:var(--card);border-bottom:1px solid var(--border);height:58px;flex-shrink:0}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:.95rem;font-family:var(--font-display);white-space:nowrap}
.brand b{color:var(--text-strong)}
.brand i.ic{color:var(--accent)}
.ver-tag{display:inline-block;margin-left:.2rem;padding:3px 9px;border-radius:20px;background:var(--card2);color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.04em;font-family:var(--font-mono);border:1px solid var(--border)}
.pill{display:inline-flex;align-items:center;gap:.35rem;background:var(--card2);border:1px solid var(--border);border-radius:20px;padding:.25rem .65rem;font-size:.7rem;font-weight:600;color:var(--muted);font-family:var(--font-ui)}
.pill b{color:var(--text);font-weight:700}
.pill.ok{color:var(--green-dark);background:var(--green-bg);border-color:#cdebb0}
.pill.bad{color:var(--red);background:var(--red-bg);border-color:#f5bcbc}
.center-info{display:flex;align-items:center;gap:.6rem}
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:20px;overflow:hidden;background:var(--card)}
.seg button{padding:.38rem .8rem;font-size:.74rem;font-weight:600;color:var(--muted);transition:all .12s}
.seg button.on{background:var(--accent);color:#fff}
.actions{display:flex;align-items:center;gap:.5rem}
.btn{padding:.5rem .9rem;border-radius:8px;font-size:.8rem;font-weight:600;transition:all .15s;border:1px solid transparent;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;cursor:pointer}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(27,70,201,.25)}
.btn-primary:hover{background:var(--accent-dark)}
.btn-ghost{background:var(--card);border-color:var(--border-strong);color:var(--text)}
.btn-ghost:hover{background:var(--card2)}
.btn-danger{background:var(--card);border-color:#f5bcbc;color:var(--red)}
.btn[disabled]{opacity:.4;cursor:default}

/* ===== kpibar ===== */
.kpibar{display:flex;align-items:center;gap:.6rem;padding:0 1.1rem;background:var(--card);border-bottom:1px solid var(--border);height:var(--barh);flex-shrink:0;overflow:hidden}
.kpi{display:flex;flex-direction:column;justify-content:center;padding:0 .9rem;border-right:1px solid var(--border);min-width:110px}
.kpi:last-child{border-right:0}
.kpi .l{font-size:.6rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.kpi .v{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--text-strong);line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.kpi .v.ok{color:var(--green)} .kpi .v.bad{color:var(--red)} .kpi .v.warn{color:var(--orange-dark)}
.kpi .s{font-size:.64rem;color:var(--muted);white-space:nowrap}

/* ===== filterbar ===== */
.filterbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.45rem 1.1rem;background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}
.tabs,.filters{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.chip-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:20px;border:1px solid var(--border-strong);background:var(--card);font-size:.72rem;font-weight:600;color:var(--muted);transition:all .12s;cursor:pointer}
.chip-toggle.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-dark)}
.chip-toggle input{accent-color:var(--accent);margin:0}
.filters .f{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:20px;background:var(--card);padding:.25rem .7rem;font-size:.72rem;color:var(--muted)}
.filters .f label{font-weight:600;white-space:nowrap}
.filters .f input,.filters .f select{border:0;background:transparent;font-size:.78rem;color:var(--text);min-width:140px}
.filters .f select{min-width:60px}
.filters .f.dirty{border-color:var(--orange);background:var(--orange-bg)}
.hint{font-size:.7rem;color:var(--muted)}

/* ===== main: drawer + content ===== */
.main{flex:1;display:flex;min-height:0}
.drawer{background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:relative;min-width:300px;max-width:60vw}
.drawer-h{padding:.55rem 1rem;border-bottom:1px solid var(--border);font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:.4rem}
.pdet{flex:1;overflow:auto;padding:.9rem 1rem 4rem}
.content{flex:1;display:flex;flex-direction:column;min-width:0}
.tablewrap{flex:1;overflow:auto;padding:.8rem 1.1rem 4rem}
section[hidden]{display:none}
.resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:5}
.resizer:hover,.resizer.on{background:linear-gradient(to right,transparent 2px,var(--accent) 2px,var(--accent) 5px,transparent 5px)}
body.resizing{cursor:col-resize;user-select:none}

/* ===== tabulka ===== */
.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);font-size:.82rem}
.tbl thead th{position:sticky;top:0;z-index:1;background:var(--card2);color:var(--muted);font-weight:700;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;padding:.55rem .6rem;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);user-select:none}
.tbl thead th.l{text-align:left}
.tbl thead th[data-k]{cursor:pointer}
.tbl thead th .arr{color:var(--accent);font-size:.6rem}
.tbl tbody td{padding:.55rem .6rem;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle}
.tbl tbody td.l{text-align:left;white-space:normal}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr.click{cursor:pointer;transition:background .1s}
.tbl tbody tr.click:hover td{background:var(--card2)}
.tbl tbody tr.sel td{background:var(--accent-bg)}
.tbl .pcell{display:flex;align-items:center;gap:.6rem;min-width:0}
.tbl .pthumb{width:38px;height:38px;object-fit:contain;border-radius:7px;background:var(--card2);border:1px solid var(--border);flex-shrink:0}
.tbl .pname{display:flex;flex-direction:column;min-width:0}
.tbl .pname .nm{font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}
.tbl .pname .meta{display:flex;gap:.4rem;align-items:center;font-size:.66rem;color:var(--muted);flex-wrap:wrap}
.tbl .pname .meta code{font-family:var(--font-mono);background:var(--card2);padding:0 .35rem;border-radius:5px;color:var(--text-light)}
.dim{color:var(--muted)}
.q{font-weight:700;color:var(--text-strong)}
.wchip{display:inline-flex;align-items:center;gap:.25rem;font-size:.62rem;font-weight:700;border-radius:20px;padding:.15rem .55rem;letter-spacing:.02em;white-space:nowrap;background:var(--card2);color:var(--muted);border:1px solid var(--border)}
.wchip.ok{background:var(--green-bg);color:var(--green-dark);border-color:#cdebb0}
.wchip.warn{background:var(--orange-bg);color:var(--orange-dark);border-color:#ffd9a8}
.wchip.bad{background:var(--red-bg);color:var(--red);border-color:#f5bcbc}
.wchip.acc{background:var(--accent-bg);color:var(--accent-dark);border-color:#c9d6ff}
.legend{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.7rem;color:var(--muted);padding:.7rem .2rem;align-items:center}
.pager{display:flex;gap:.4rem;align-items:center;justify-content:flex-end;padding:.6rem .2rem;font-size:.75rem;color:var(--muted)}
.pager button{border:1px solid var(--border-strong);background:var(--card);border-radius:8px;padding:.3rem .7rem;color:var(--text)}
.pager button:disabled{opacity:.4;cursor:default}
.empty{padding:1.6rem 1rem;color:var(--muted);font-size:.8rem;text-align:center}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:.8rem}
.card .chead{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--border);gap:.6rem;flex-wrap:wrap}
.card .chead .t{font-weight:700;font-size:.85rem;color:var(--text-strong)}
.card .chead .t span{color:var(--muted);font-weight:500;font-size:.72rem}
.card .p{padding:1rem}
.card .note{font-size:.72rem;color:var(--muted);line-height:1.55;margin-top:.5rem}

/* ===== detail (pdet) ===== */
.pdet h3{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text-strong);line-height:1.2}
.pdet .sub{color:var(--muted);font-size:.72rem;margin-top:.15rem}
.pdet .mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem;margin:.8rem 0}
.pdet .mini > div{background:var(--card2);border:1px solid var(--border);border-radius:10px;padding:.5rem .6rem}
.pdet .mini .lbl{font-size:.58rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.pdet .mini .val{font-family:var(--font-display);font-size:.92rem;font-weight:800;color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap}
.pdet .sec{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.7rem .8rem;margin-bottom:.7rem;box-shadow:var(--shadow-sm)}
.pdet .st{font-size:.62rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;display:flex;justify-content:space-between;gap:.5rem}
.pdet .foot{color:var(--muted);font-size:.68rem;margin-top:.4rem}

/* ===== ← Dashboard, toast ===== */
.back-dash{position:fixed;bottom:14px;left:14px;z-index:9999;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:20px;background:var(--mir-navy);color:#fff;font-size:.75rem;font-weight:600;box-shadow:var(--shadow-md);opacity:.85;transition:opacity .15s}
.back-dash:hover{opacity:1}
.fs-toast{position:fixed;right:18px;bottom:18px;background:var(--text-strong);color:#fff;border-radius:10px;padding:9px 14px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50}
.fs-toast.on{opacity:1}
.fs-flash{margin:.6rem 1.1rem 0;background:var(--green-bg);color:var(--green-dark);border:1px solid #cdebb0;border-radius:10px;padding:.5rem .9rem;font-size:.78rem}
@media (max-width:1100px){.center-info{display:none}.drawer{min-width:280px}}

/* ===== vlastni dropdown nad <select> (1:1 z eFko navrhy-dokupu-mock.html; JS ddInit zatim v js/hledani/app.js, patri do layoutu) ===== */
.dd{position:relative;display:inline-block}
.dd select{display:none}
.dd-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .7rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--card);font-size:.74rem;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .12s,box-shadow .12s;white-space:nowrap}
.dd-btn>i{font-size:.58rem;color:var(--muted);transition:transform .15s}
.dd-btn:hover{border-color:var(--muted-light)}
.dd.open .dd-btn{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.dd.open .dd-btn>i{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 5px);left:0;min-width:100%;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:.3rem;display:none;z-index:150;white-space:nowrap}
.dd.open .dd-menu{display:block}
.dd-it{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.42rem .6rem;border-radius:7px;font-size:.74rem;font-weight:500;color:var(--text-light);cursor:pointer}
.dd-it:hover{background:var(--accent-bg);color:var(--accent-dark)}
.dd-it.on{font-weight:700;color:var(--accent-dark)}
.dd-it i{font-size:.6rem;color:var(--accent)}

/* Sklady kuchyň × bufet (30.10.2026): podbarvení u položek dokladů a karet – kuchyň zeleně, bufet oranžově */
.wh-chip{display:inline-flex;align-items:center;font-size:.62rem;font-weight:700;border-radius:20px;padding:.15rem .55rem;letter-spacing:.02em;white-space:nowrap;border:1px solid var(--border);margin-left:.35rem}
.wh-chip.wh-kuchyn,td.wh-kuchyn select.wh-sel{background:#e8f5e3;color:#2a6a1a;border-color:#b7dca4}
.wh-chip.wh-bufet,td.wh-bufet select.wh-sel{background:#fff1e0;color:#a24e00;border-color:#f3c48f}
td.wh-bufet{background:#fff8ef}
td.wh-kuchyn{background:#f3faf0}
select.wh-sel{font-weight:600}
.wh-chip.wh-spotreba,td.wh-spotreba select.wh-sel{background:#e9eef7;color:#2e4a7a;border-color:#b9c7e3}
td.wh-spotreba{background:#f3f6fb}
