/* VENDOROVÁNO ze Sentinelu (sentinel-shell.css @ 832d4be, 2026-07-29).
   Drift je PŘIJATÝ — helpdesk je samostatná služba, sdílíme vizuální jazyk, ne kód.
   Zdroj žije jen na větvi fix/sentinel-e2e-remediation, proto je tu SHA: bez něj
   nejde později vyhodnotit, jak daleko se kopie rozešla. */
:root {
  --accent:#5a63c4; --alarm:#d6534d; --good:#3c9a7a; --caution:#c7902e;
  --ground:#f4f5f8; --surface:#fff; --surface-2:#fafbfd; --border:#dde1ea;
  --ink:#1d2333; --ink-2:#5a6478; --accent-bg:#ecedfa;
}
@media (prefers-color-scheme: dark) {
  :root { --ground:#14161d; --surface:#1c1f29; --surface-2:#20242e; --border:#2c3140;
    --ink:#e8eaf2; --ink-2:#9aa3b8; --accent:#8a92e6; --accent-bg:#1c1f33; }
}
:root[data-theme="dark"] { --ground:#14161d; --surface:#1c1f29; --surface-2:#20242e; --border:#2c3140;
  --ink:#e8eaf2; --ink-2:#9aa3b8; --accent:#8a92e6; --accent-bg:#1c1f33; }
:root[data-theme="light"] { --ground:#f4f5f8; --surface:#fff; --surface-2:#fafbfd; --border:#dde1ea;
  --ink:#1d2333; --ink-2:#5a6478; --accent:#5a63c4; --accent-bg:#ecedfa; }

* { box-sizing:border-box; }
body { margin:0; background:var(--ground); color:var(--ink);
  font:14px/1.55 -apple-system,"Segoe UI",Roboto,sans-serif; }
h1 { font-size:20px; margin:0; font-weight:600; }
h2 { font-size:15px; margin:22px 0 10px; }
.muted { color:var(--ink-2); }
code { background:var(--surface-2); border:1px solid var(--border); border-radius:5px; padding:1px 5px; font-size:12px; }
a { color:var(--accent); }

/* ── Layout: levé menu + obsah ─────────────────────────────────────────── */
.layout { display:grid; grid-template-columns:220px 1fr; min-height:100vh; }
.content { padding:20px 26px 60px; min-width:0; }
.topbar { display:flex; align-items:center; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
.spacer { flex:1; }

/* ── Levé menu ─────────────────────────────────────────────────────────── */
nav.rail { border-right:1px solid var(--border); background:var(--surface);
  padding:16px 12px; display:flex; flex-direction:column; gap:2px;
  position:sticky; top:0; height:100vh; overflow:auto; }
nav.rail .brand { display:flex; align-items:center; gap:9px; font-weight:600; font-size:16px; padding:2px 8px 14px; }
nav.rail .brand .mark { width:22px; height:22px; border-radius:6px; background:var(--accent); position:relative; }
nav.rail .brand .mark::after { content:""; position:absolute; inset:5px 6px; border:2px solid #fff; border-bottom:none; border-radius:7px 7px 0 0; opacity:.9; }
nav.rail .sec { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-2); margin:14px 8px 6px; font-weight:600; }
nav.rail a { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px;
  color:var(--ink-2); text-decoration:none; font-size:14px; font-weight:500; }
nav.rail a .g { width:16px; text-align:center; opacity:.85; }
nav.rail a:hover { background:var(--surface-2); color:var(--ink); }
nav.rail a.on { background:var(--accent-bg); color:var(--ink); }
nav.rail a .c { margin-left:auto; font-size:10px; color:var(--good); font-weight:700; }
nav.rail .foot { margin-top:auto; padding-top:12px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:2px; }
nav.rail .foot button { text-align:left; font:inherit; font-size:14px; color:var(--ink-2); background:none; border:none; padding:8px 10px; border-radius:8px; cursor:pointer; }
nav.rail .foot button:hover { background:var(--surface-2); color:var(--ink); }

/* Úzká obrazovka: menu nahoře, vodorovně scrollovatelné */
@media (max-width:720px) {
  .layout { grid-template-columns:1fr; }
  nav.rail { position:static; height:auto; flex-direction:row; overflow-x:auto; align-items:center;
    border-right:none; border-bottom:1px solid var(--border); gap:4px; padding:10px 12px; }
  nav.rail .brand { padding:0 8px 0 0; white-space:nowrap; }
  nav.rail .sec { display:none; }
  nav.rail a { white-space:nowrap; }
  nav.rail .foot { margin:0; padding:0; border:none; flex-direction:row; }
}

/* ── Sdílené prvky obsahu ──────────────────────────────────────────────── */
.btn { font:inherit; font-size:13px; color:var(--accent); background:var(--surface);
  border:1px solid var(--border); border-radius:8px; padding:6px 12px; cursor:pointer; text-decoration:none; }
.btn.primary { background:var(--accent); color:#fff; border:none; }
.live { font-size:12px; font-weight:700; color:var(--good); margin-left:6px; }
.scroll { overflow-x:auto; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { text-align:left; padding:8px 12px; border-bottom:1px solid var(--border); white-space:nowrap; }
th { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-2); }
tr:last-child td { border-bottom:none; }
td.mono { font-family:ui-monospace,monospace; font-size:11px; color:var(--ink-2); }
.note { background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--caution);
  border-radius:10px; padding:12px 16px; margin-bottom:16px; font-size:13px; }
.note.err { border-left-color:var(--alarm); }
.foot { margin-top:18px; font-size:12px; color:var(--ink-2); }
.chip { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; border-radius:999px; padding:3px 11px; border:1px solid var(--border); }
.chip.ok { color:var(--good); border-color:color-mix(in srgb,var(--good) 45%,transparent); }
.chip.bad { color:var(--alarm); border-color:color-mix(in srgb,var(--alarm) 45%,transparent); }
