/*
 * Přezouvání — vzhled „Facet“ (návrh 3, vybráno 12. 10. 2026).
 *
 * Tmavé jádro (hlavička, navigace) je stejné ve světlém i tmavém režimu.
 * Plocha s kartami se mění podle režimu přes tokeny níže. Zkosené rohy (.fx)
 * opakují řez z loga v2.2: vlevo nahoře a vpravo dole.
 */

@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url(fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(fonts/archivo-latin-wdth-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url(fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations"),url(fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:500;src:url(fonts/chakra-petch-latin-500-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:500;src:url(fonts/chakra-petch-latin-ext-500-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:600;src:url(fonts/chakra-petch-latin-600-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:600;src:url(fonts/chakra-petch-latin-ext-600-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:700;src:url(fonts/chakra-petch-latin-700-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:700;src:url(fonts/chakra-petch-latin-ext-700-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* =================================================================== TOKENY */
:root{
  /* jádro: stejné v obou režimech */
  --sum-bg:var(--core);--core:#0B0E12;--core-2:#13181F;--core-3:#1C222B;--core-line:#2A313C;--core-line-2:#3A4250;
  --on-core:#F4F4F8;--on-core-2:#AEB4BE;--on-core-3:#8A919C;
  --gold:#F9B101;--gold-hi:#FFC01F;--on-gold:#101419;--gold-ink:#7A5200;--silver:#C9CED6;--eu:#1D4FB8;
  /* plocha: světlý režim */
  --paper:#F2F0EB;--card:#FBFAF7;--card-hi:#FFFFFF;--sunk:#E8E5DE;--sunk-hi:#E1DDD4;
  --line:#D8D4CB;--line-2:#C5C0B5;
  --ink:#101419;--ink-2:#454A52;--ink-3:#62666D;
  --solid:#101419;--solid-hi:#262C34;--on-solid:#F4F4F8;--on-solid-2:#AEB4BE;
  --ok:#1C7347;--ok-bg:#DDEFE3;--ok-line:#9FCDB0;
  --warn:#A3400C;--warn-bg:#FBE5D2;--warn-line:#E9A57A;
  --bad:#B42318;--bad-bg:#F9DCD8;--bad-line:#E79A92;
  --hatch-c:#CFC9BE;--hatch-d-c:#2E3540;--pat:#7D8188;--pat-d:#5A626E;
  --shadow:0 18px 50px rgba(16,20,25,.18);
  --f:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fc:"Chakra Petch","Archivo",ui-monospace,sans-serif;
  --side:256px;--bn-h:64px;--hd-h:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --sum-bg:var(--core-3);--paper:#0F1318;--card:#171C23;--card-hi:#1D232B;--sunk:#12171D;--sunk-hi:#1B2129;
  --line:#272E38;--line-2:#38404C;
  --ink:#F1F2F5;--ink-2:#B4BAC4;--ink-3:#8E95A0;
  --solid:#E9ECF1;--solid-hi:#FFFFFF;--on-solid:#0B0E12;--on-solid-2:#454A52;
  --ok:#5FD394;--ok-bg:#12291D;--ok-line:#2C5C40;
  --warn:#FF9B5C;--warn-bg:#2E1C10;--warn-line:#6B3C1E;
  --bad:#FF7B70;--bad-bg:#311614;--bad-line:#6E2C27;
  --hatch-c:#2A313B;--pat:#4A525E;
  --shadow:0 18px 50px rgba(0,0,0,.55);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --sum-bg:var(--core-3);--paper:#0F1318;--card:#171C23;--card-hi:#1D232B;--sunk:#12171D;--sunk-hi:#1B2129;
  --line:#272E38;--line-2:#38404C;
  --ink:#F1F2F5;--ink-2:#B4BAC4;--ink-3:#8E95A0;
  --solid:#E9ECF1;--solid-hi:#FFFFFF;--on-solid:#0B0E12;--on-solid-2:#454A52;
  --ok:#5FD394;--ok-bg:#12291D;--ok-line:#2C5C40;
  --warn:#FF9B5C;--warn-bg:#2E1C10;--warn-line:#6B3C1E;
  --bad:#FF7B70;--bad-bg:#311614;--bad-line:#6E2C27;
  --hatch-c:#2A313B;--pat:#4A525E;
  --shadow:0 18px 50px rgba(0,0,0,.55);
  color-scheme:dark}

/* =================================================================== ZÁKLAD */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--core)}
body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal}
::selection{background:var(--gold);color:var(--on-gold)}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{color:inherit;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ic-s{width:16px;height:16px}
.ic-l{width:24px;height:24px}
.ic-xl{width:40px;height:40px;stroke-width:1.6}
.code{font-family:var(--fc);font-weight:600;white-space:nowrap;letter-spacing:.02em}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}
.nowrap{white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
#hl rect{fill:var(--pat)}
#hd rect{fill:var(--pat-d)}

/* faseta: zkosené rohy jako řez v logu */
.fx{position:relative;isolation:isolate;--c:10px;--bg:transparent;--bd:var(--bg);--bw:1px}
.fx::before,.fx::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.fx::before{inset:0;background:var(--bd);clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}
.fx::after{--k:max(0px,calc(var(--c) - .42px));inset:var(--bw);background:var(--bg);clip-path:polygon(var(--k) 0,100% 0,100% calc(100% - var(--k)),calc(100% - var(--k)) 100%,0 100%,0 var(--k))}
:where(button).fx{background:none;border:0}
.chip-cut{clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}

/* pruh faset (SVG z app) */
.strip{display:block;overflow:visible;width:100%}
.s-d{fill:var(--solid)}
.s-n{fill:var(--gold)}
.s-w{fill:var(--card-hi);stroke:var(--ink-2);stroke-width:1.5}
.s-f{fill:url(#hl);stroke:var(--ink-3);stroke-width:1}
.s-x{fill:var(--bad)}
.s-b{fill:url(#hd);stroke:var(--ink-3);stroke-width:1}
.s-e{fill:var(--sunk);stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 2}
.s-ds{fill:var(--silver)}
.s-g{fill:var(--gold)}
.s-fh{fill:url(#hd);stroke:var(--on-core-3);stroke-width:1.2}
.s-i{fill:var(--ink-2)}
.sw{width:14px;height:14px;flex:none}

/* SPZ: česká tabulka (bílá i v tmavém režimu, je to předmět ze skutečnosti) */
.spz{--h:28px;display:inline-flex;align-items:stretch;height:var(--h);flex:none;background:#fff;color:#101419;border:1.5px solid #101419;border-radius:3px;overflow:hidden;vertical-align:middle;box-shadow:0 1px 0 rgba(16,20,25,.12)}
.spz i{width:calc(var(--h)*.5);flex:none;background:var(--eu) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='3.2' fill='none' stroke='%23FFD617' stroke-width='1.3' stroke-dasharray='.62 1.06'/%3E%3C/svg%3E") 50% 16%/78% auto no-repeat;color:#fff;font:700 calc(var(--h)*.3)/1 var(--f);font-style:normal;display:flex;align-items:flex-end;justify-content:center;padding-bottom:calc(var(--h)*.1)}
.spz b{display:flex;align-items:center;padding:0 calc(var(--h)*.26) 0 calc(var(--h)*.22);font:600 calc(var(--h)*.64)/1 var(--fc);letter-spacing:.035em;white-space:nowrap}
.spz-l{--h:38px}
.spz-xl{--h:48px;border-width:2px}
.spz-s{--h:23px;border-width:1px}

/* =================================================================== TLAČÍTKA */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;background:none;font:650 15px/1.1 var(--f);text-decoration:none;white-space:nowrap;--c:9px;transition:transform .12s ease-out;color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn-gold{--bg:var(--gold);color:var(--on-gold)}
.btn-gold:hover{--bg:var(--gold-hi)}
.btn-ink{--bg:var(--solid);color:var(--on-solid)}
.btn-ink:hover{--bg:var(--solid-hi)}
.btn-line{--bg:var(--card);--bd:var(--line-2);color:var(--ink)}
.btn-line:hover{--bg:var(--card-hi);--bd:var(--ink-3)}
.btn-bad{--bg:var(--card);--bd:var(--bad-line);color:var(--bad)}
.btn-bad:hover{--bg:var(--bad-bg);--bd:var(--bad)}
.btn-dline{--bg:transparent;--bd:var(--core-line-2);color:var(--on-core)}
.btn-dline:hover{--bg:var(--core-3)}
.btn-s{min-height:40px;padding:0 14px;font-size:14px;--c:7px}
.btn-l{min-height:56px;padding:0 22px;font-size:16.5px;font-weight:750;--c:12px}
.btn-xl{min-height:60px;font-size:18px;font-weight:750;--c:13px}
.btn-w{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.btn[aria-busy="true"]{cursor:progress}
.btn[aria-busy="true"] .ic{animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ib{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border:0;background:none;padding:0;--c:8px;text-decoration:none;color:var(--ink)}
.ib-d{--bg:var(--core-2);--bd:var(--core-line);color:var(--on-core)}
.ib-d:hover{--bg:var(--core-3)}
.ib-l{--bg:var(--card);--bd:var(--line-2);color:var(--ink)}
.ib-l:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
.ib-s{width:40px;height:40px;--c:7px}
.ib-g{--bg:var(--gold);color:var(--on-gold)}
.lnk{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;background:none;font-size:14.5px;font-weight:650;color:var(--ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:var(--line-2);white-space:nowrap}
.lnk:hover{text-decoration-color:var(--ink)}
.lnk-bad{color:var(--bad);text-decoration-color:var(--bad-line)}

/* =================================================================== KOSTRA */
.app{min-height:100dvh}
.stage{min-width:0;display:flex;flex-direction:column;min-height:100dvh}
.side{display:none}
/* hlavička (telefon: tmavý pruh) */
.hd{position:sticky;top:0;z-index:20;background:var(--core);color:var(--on-core);padding-top:env(safe-area-inset-top,0px)}
.hd::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.035) 0 34%,transparent 34% 61%,rgba(255,255,255,.02) 61% 100%)}
.hd>*{position:relative;z-index:1}
.ab{display:flex;align-items:center;gap:12px;min-height:var(--hd-h);padding:8px 12px 8px 16px}
.ab .znak{width:28px;flex:none;color:var(--on-core);display:block}
.ab .znak svg{display:block;width:100%;height:auto}
.ab-tx{flex:1;min-width:0}
.ab-h{font-weight:800;font-stretch:120%;font-size:22px;line-height:1.1;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ab-s{margin-top:2px;font-size:13.5px;line-height:1.3;color:var(--on-core-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-a{display:flex;gap:8px;flex:none}
.ab-a .act{--c:8px;width:48px;height:48px;min-height:0;padding:0;--bg:var(--core-2);--bd:var(--core-line);color:var(--on-core)}
.ab-a .act:hover{--bg:var(--core-3)}
.ab-a .act.primary{--bg:var(--gold);--bd:var(--gold);color:var(--on-gold)}
.ab-a .act .l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hd-ext:empty{display:none}
.view{flex:1;min-width:0;padding:16px 16px calc(var(--bn-h) + 32px + env(safe-area-inset-bottom,0px))}
.view-full{padding:0}
.wrap{width:100%;max-width:1180px;margin:0 auto}
.wrap-s{max-width:760px}
/* spodní navigace (telefon) */
.bn{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(var(--n,4),1fr);background:var(--core);padding:0 6px env(safe-area-inset-bottom,0px);border-top:1px solid var(--core-line)}
.bn a,.bn button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:var(--bn-h);border:0;background:none;text-decoration:none;font-size:12.5px;font-weight:600;color:var(--on-core-2)}
.bn .on{color:var(--on-core)}
.bn .on::before{content:"";position:absolute;top:-1px;left:50%;width:30px;height:4px;margin-left:-15px;background:var(--gold);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%)}
.bn .on .ic{color:var(--gold)}
.bn .bn-cta .ic{color:var(--on-gold);background:var(--gold);width:40px;height:30px;padding:5px 10px;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}

/* počítač: boční panel, světlá hlavička stránky */
@media (min-width:1024px){
  .app{display:grid;grid-template-columns:var(--side) minmax(0,1fr)}
  .side{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;overflow-y:auto;background:var(--core);color:var(--on-core);padding:28px 16px 20px;scrollbar-width:thin}
  .side::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.03) 0 22%,transparent 22% 70%,rgba(255,255,255,.018) 70%)}
  .side>*{position:relative;z-index:1}
  .bn{display:none}
  .hd{position:static;background:transparent;color:var(--ink);padding-top:0}
  .hd::after{display:none}
  .ab{min-height:0;padding:28px 32px 18px;align-items:flex-end;gap:24px}
  .ab .znak,.ab .back-ph{display:none}
  .ab-h{font-size:32px;font-stretch:122%;line-height:1.05;letter-spacing:-.008em;white-space:normal}
  .ab-s{margin-top:7px;font-size:14.5px;color:var(--ink-2);white-space:normal}
  .ab .ib-d{--bg:var(--card);--bd:var(--line-2);color:var(--ink);align-self:center}
  .ab-a .act{width:auto;height:auto;min-height:44px;padding:0 16px;font-size:14.5px;--bg:var(--card);--bd:var(--line-2);color:var(--ink)}
  .ab-a .act:hover{--bg:var(--card-hi);--bd:var(--ink-3)}
  .ab-a .act .l{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .ab-a .act .ic{width:16px;height:16px}
  .hd-ext{padding:0 32px}
  .view{padding:8px 32px 48px}
}
.side .logo{display:block;width:124px;color:var(--on-core);margin:0 0 6px 8px}
.side .logo svg{display:block;width:100%;height:auto}
.side-p{margin:0 0 22px 8px;font-size:13.5px;color:var(--on-core-2)}
.ssel{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:6px 12px;border:0;text-align:left;color:var(--on-core);--bg:var(--core-2);--bd:var(--core-line);--c:9px}
.ssel:hover{--bg:var(--core-3)}
.ssel span{flex:1;min-width:0}
.ssel small{display:block;font-size:12.5px;color:var(--on-core-3);line-height:1.2}
.ssel b{display:block;font-size:14px;font-weight:650;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:2px}
.nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;text-decoration:none;font-size:15px;font-weight:550;color:var(--on-core-2);--c:8px}
.nav a:hover{color:var(--on-core);--bg:var(--core-2)}
.nav a.on{color:var(--on-core);font-weight:700;--bg:var(--core-3)}
.nav a.on .ic{color:var(--gold)}
.nav a.on::after{background:linear-gradient(315deg,var(--gold) 0 13px,var(--core-3) 13px)}
.nav-c{margin-left:auto;font:600 13px/1 var(--fc);color:var(--on-core-2)}
.nav-sep{height:1px;background:var(--core-line);margin:12px}
.who{margin-top:auto;display:flex;align-items:center;gap:12px;padding:16px 8px 0;border-top:1px solid var(--core-line)}
.who-i{width:40px;height:40px;display:grid;place-items:center;flex:none;font:700 14px/1 var(--fc);background:var(--core-3);color:var(--on-core);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.who div{flex:1;min-width:0}
.who div b{display:block;font-size:14.5px;font-weight:650;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who div span{display:block;font-size:13px;color:var(--on-core-2)}
.who .ib{width:40px;height:40px;--c:7px}

/* =================================================================== OBECNÉ PRVKY */
.stack{display:flex;flex-direction:column;gap:16px}
.stack-s{gap:10px}
.stack-l{gap:28px}
.row{display:flex;align-items:center;gap:12px}
.row-w{flex-wrap:wrap}
.sp{flex:1}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}
.h3{font-weight:750;font-stretch:108%;font-size:17px;line-height:1.25}
.h4{font-weight:700;font-size:15.5px;line-height:1.3}
.hrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.hint{font-size:13.5px;color:var(--ink-3)}
.lead{font-size:16px;color:var(--ink-2);max-width:62ch}
.sec{display:block}
.sec+.sec{margin-top:24px}
.card{--bg:var(--card);--bd:var(--line);--c:12px;padding:16px}
.card-s{padding:12px 14px}
.pnl{--bg:var(--card);--bd:var(--line);--c:14px;display:flex;flex-direction:column;min-width:0}
.pnl-h{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 14px 8px 18px;border-bottom:1px solid var(--line)}
.pnl-h h3{font-weight:750;font-stretch:108%;font-size:17px;line-height:1.2;white-space:nowrap}
.pnl-h h3 span{font-weight:500;color:var(--ink-2);font-stretch:100%}
.pnl-b{padding:14px 18px}
.pnl-f{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px 4px 18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.cnt{font:600 13.5px/1 var(--fc);padding:5px 8px;background:var(--sunk);color:var(--ink)}
.flag,.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;font-size:13px;font-weight:650;line-height:1.3;white-space:nowrap}
.flag-bad{color:var(--bad);background:var(--bad-bg)}
.flag-warn{color:var(--warn);background:var(--warn-bg)}
.flag-ok{color:var(--ok);background:var(--ok-bg)}
.flag-mute{color:var(--ink-2);background:var(--sunk)}
.flag-gold{color:var(--on-gold);background:var(--gold)}
.flag-ink{color:var(--on-solid);background:var(--solid)}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 20px;color:var(--ink-2);--bg:var(--paper);--bd:var(--line-2);--c:14px}
.empty::after{background:var(--paper)}
.empty .ic-xl{color:var(--ink-3)}
.empty b{color:var(--ink);font-size:17px;font-weight:700}
.empty p{max-width:44ch;font-size:15px}
.note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;font-size:14.5px;line-height:1.45;--c:10px;--bg:var(--sunk)}
.note .ic{margin-top:1px}
.note-warn{--bg:var(--warn-bg);color:var(--warn)}
.note-bad{--bg:var(--bad-bg);color:var(--bad)}
.note-ok{--bg:var(--ok-bg);color:var(--ok)}
.note b{font-weight:700}
.dl{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:8px 18px;margin:0;font-size:15px}
.dl dt{color:var(--ink-2)}
.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.skel{display:block;height:72px;background:var(--sunk);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);animation:skel 1.2s ease-in-out infinite alternate}
.skel+.skel{margin-top:10px}
@keyframes skel{from{opacity:.55}to{opacity:1}}
.err{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;--bg:var(--bad-bg);--c:12px;color:var(--bad)}
.err b{font-size:16px}
.err p{color:var(--ink)}

/* seznamové řádky */
.list{display:flex;flex-direction:column;gap:8px}
.li{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 12px 10px 14px;--bg:var(--card);--bd:var(--line);--c:11px;text-decoration:none;color:var(--ink)}
a.li:hover,button.li:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
button.li{width:100%;border:0;text-align:left}
.li-t{flex:1;min-width:0}
.li-t b{display:block;font-size:15.5px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li-t span{display:block;font-size:14px;color:var(--ink-2);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;text-align:right}
.li .chev{color:var(--ink-3)}
.grp{display:flex;align-items:baseline;gap:10px;margin:22px 0 10px}
.grp:first-child{margin-top:0}
.grp h3{font-weight:750;font-stretch:108%;font-size:16.5px}
.grp span{font-size:13.5px;color:var(--ink-3)}

/* tabulka (počítač) */
.tbl-w{overflow-x:auto;--bg:var(--card);--bd:var(--line);--c:14px}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font-size:13px;font-weight:700;color:var(--ink-2);padding:12px 14px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:var(--card-hi)}
.tbl .r{text-align:right}
.tbl a{text-decoration:none}

/* =================================================================== FORMULÁŘE */
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
.form{display:flex;flex-direction:column;gap:16px}
.frow{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld>span,.fld>label{font-size:14px;font-weight:650;color:var(--ink-2)}
.fld small{font-size:13px;color:var(--ink-3);line-height:1.35}
.inp{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 12px;--bg:var(--card);--bd:var(--line-2);--c:8px;color:var(--ink-3)}
.inp:focus-within{--bd:var(--ink);--bw:1.5px}
.inp input,.inp select,.inp textarea{flex:1;min-width:0;width:100%;border:0;background:none;outline:0;font-size:16px;color:var(--ink);padding:0}
.inp select{appearance:none;cursor:pointer;min-height:48px;background:none}
.inp textarea{padding:12px 0;min-height:84px;resize:vertical;line-height:1.45}
.inp input::placeholder,.inp textarea::placeholder{color:var(--ink-3)}
.inp-code input{font:600 18px/1 var(--fc);letter-spacing:.03em;text-transform:uppercase}
.inp .unit{font-size:14px;color:var(--ink-3)}
.inp-err{--bd:var(--bad);--bw:1.5px}
.f-err{font-size:14px;font-weight:600;color:var(--bad)}
.srch{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;color:var(--ink-3);--bg:var(--card);--bd:var(--line-2);--c:8px;min-width:0}
.srch input{flex:1;min-width:0;border:0;background:none;outline:0;font-size:16px;color:var(--ink)}
.srch input::placeholder{color:var(--ink-3)}
.srch:focus-within{--bd:var(--ink);--bw:1.5px}
.kbd{font:600 12.5px/1 var(--fc);color:var(--ink-2);padding:4px 6px;background:var(--sunk)}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.toolbar .srch{flex:1 1 260px}
.sel{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 12px;--bg:var(--card);--bd:var(--line-2);--c:8px;font-size:15px;font-weight:600}
.sel select{border:0;background:none;outline:0;font-weight:600;font-size:15px;appearance:none;padding-right:4px;cursor:pointer;color:var(--ink)}
.sel:focus-within{--bd:var(--ink)}
/* výběr dlaždicemi */
.pick input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pick label{display:block;min-width:0}
.pick input:focus-visible+*{outline:2px solid var(--gold);outline-offset:2px}
.seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:3px;background:var(--sunk);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
.seg .sg{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;font-size:14.5px;font-weight:650;cursor:pointer;color:var(--ink-2);--c:7px;white-space:nowrap}
.seg-w{display:grid;width:100%}
.seg-l .sg{min-height:52px}
.pick input:checked+.sg{--bg:var(--solid);color:var(--on-solid)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 0 18px}
.tabs::-webkit-scrollbar{display:none}
.tabs a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;text-decoration:none;font-size:15px;font-weight:600;color:var(--ink-2);--c:8px;white-space:nowrap}
.tabs a:hover{color:var(--ink);--bg:var(--sunk)}
.tabs a.on{color:var(--on-solid);--bg:var(--solid)}
.cb{width:22px;height:22px;flex:none;background:var(--card);box-shadow:inset 0 0 0 1.75px var(--ink-2);clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}
.chk{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:15px}
.chk input{position:absolute;opacity:0;width:1px;height:1px}
.chk input:checked+.cb,.pick input:checked+* .cb{background:var(--solid) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4F4F8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/15px no-repeat;box-shadow:none}
.chk input:focus-visible+.cb{outline:2px solid var(--gold);outline-offset:2px}
:root[data-theme="dark"] .chk input:checked+.cb,:root[data-theme="dark"] .pick input:checked+* .cb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0E12' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chk input:checked+.cb,:root:not([data-theme="light"]) .pick input:checked+* .cb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0E12' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}}
.sw-t{display:flex;align-items:center;gap:14px;min-height:56px;cursor:pointer}
.sw-t input{position:absolute;opacity:0;width:1px;height:1px}
.sw-t i{position:relative;width:52px;height:30px;flex:none;background:var(--line-2);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);transition:background .15s}
.sw-t i::after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;background:var(--card-hi);clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);transition:transform .15s ease-out}
.sw-t input:checked+i{background:var(--solid)}
.sw-t input:checked+i::after{transform:translateX(22px)}
.sw-t input:focus-visible+i{outline:2px solid var(--gold);outline-offset:2px}

/* =================================================================== DIALOGY */
dialog{padding:0;border:0;background:transparent;color:var(--ink);max-width:none;max-height:none}
dialog::backdrop{background:rgba(5,7,10,.66)}
.sheet{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--paper);clip-path:polygon(26px 0,100% 0,100% 100%,0 100%,0 26px)}
.sheet:not([open]){display:none}
.sheet[open]{animation:up .2s ease-out}
@keyframes up{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.grab{width:44px;height:5px;margin:9px auto 0;background:var(--line-2);clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);flex:none}
.sh-hd{flex:none;padding:6px 10px 12px 18px;border-bottom:1px solid var(--line)}
.sh-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sh-t{font-weight:800;font-stretch:120%;font-size:25px;line-height:1.1}
.sh-id{display:flex;align-items:center;gap:12px;margin-top:8px;min-width:0}
.sh-id div{min-width:0}
.sh-id div b{display:block;font-size:15.5px;font-weight:700;line-height:1.25}
.sh-id div span{display:block;font-size:14px;color:var(--ink-2);line-height:1.3}
.sh-b{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 20px}
.sh-ft{flex:none;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line)}
.sh-ft p{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;font-size:13.5px;color:var(--ink-2)}
.sh-ft .row{gap:10px}
@media (min-width:760px){
  .sheet{inset:0;margin:auto;width:min(640px,calc(100% - 48px));max-height:min(860px,calc(100dvh - 64px));clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px)}
  .sheet-s{width:min(480px,calc(100% - 48px))}
  .grab{display:none}
  .sh-hd{padding-top:18px}
}
.toasts{position:fixed;left:16px;right:16px;bottom:calc(var(--bn-h) + 16px + env(safe-area-inset-bottom,0px));z-index:100;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
@media (min-width:1024px){.toasts{left:calc(var(--side) + 32px);right:32px;bottom:24px;align-items:flex-end}}
.toast{display:flex;align-items:center;gap:10px;max-width:520px;padding:14px 18px 14px 14px;font-size:15px;font-weight:600;color:var(--on-core);--bg:var(--core);--bd:var(--core-line-2);--c:10px;animation:up .18s ease-out;pointer-events:auto}
.toast .ic{color:var(--gold)}
.toast-bad .ic{color:var(--bad)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .toast-bad .ic{color:#FF7B70}}

/* =================================================================== PŘIHLÁŠENÍ */
.gate{min-height:100dvh;display:grid;place-items:center;padding:32px 16px;background:var(--core);color:var(--on-core);position:relative;overflow:hidden}
.gate::before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.04) 0 34%,transparent 34% 61%,rgba(255,255,255,.025) 61% 100%);pointer-events:none}
.gate-in{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:28px}
.gate .logo{display:block;width:150px;color:var(--on-core)}
.gate .logo svg{display:block;width:100%;height:auto}
.gate h1{font-weight:800;font-stretch:125%;font-size:clamp(36px,9vw,48px);line-height:.95;letter-spacing:-.012em;margin-top:22px}
.gate h1+p{margin-top:12px;color:var(--on-core-2);font-size:16px}
.gate-card{--bg:var(--paper);--c:18px;color:var(--ink);padding:22px 20px 20px}
.gate-ft{font-size:13.5px;color:var(--on-core-3)}
.gate-ft a{color:var(--on-core-2)}

/* =================================================================== ROZPIS */
.days{display:flex;gap:2px;padding:0 10px;overflow-x:auto;scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.day{flex:1 0 64px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--on-core-2);text-decoration:none;position:relative}
.day span{font-size:13px;line-height:1;font-weight:500}
.day b{font:600 16px/1 var(--fc)}
.day:hover{color:var(--on-core)}
.day.on{color:var(--ink);background:var(--paper);clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px)}
.day.on span{font-weight:750}
.day.today:not(.on) b{color:var(--gold)}
@media (min-width:1024px){
  .days{padding:0;gap:6px;margin-bottom:4px}
  .day{flex:0 0 76px;height:62px;color:var(--ink-2);--c:9px;--bg:var(--card);--bd:var(--line)}
  .day.on{clip-path:none;background:none;--bg:var(--solid);--bd:var(--solid);color:var(--on-solid)}
  .day.today:not(.on) b{color:var(--gold-ink)}
}
.occ{padding:4px 0 16px;border-bottom:1px solid var(--line);margin-bottom:12px}
.occ-t{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.occ-t b{font-weight:750;font-size:16px}
.occ-t span{font-size:14px;color:var(--ink-2)}
.strip-day{height:20px}
.lgd{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;list-style:none;font-size:13.5px;line-height:1.2;font-weight:550;color:var(--ink-2)}
.lgd li{display:flex;align-items:center;gap:6px}
.done-sum{width:100%;min-height:58px;display:flex;align-items:center;gap:12px;padding:8px 12px 8px 14px;border:0;text-align:left;--bg:var(--sunk);--c:8px;color:var(--ink)}
.done-sum:hover{--bg:var(--sunk-hi)}
.ds-ic{width:32px;height:32px;display:grid;place-items:center;flex:none;color:var(--ok);background:var(--ok-bg);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.ds-tx{flex:1;min-width:0}
.ds-tx b{display:block;font-size:15.5px;font-weight:700}
.ds-tx span{display:block;font-size:13.5px;color:var(--ink-2)}
.chev{transition:transform .18s ease-out;color:var(--ink-2)}
[aria-expanded="true"] .chev{transform:rotate(180deg)}
.drows{margin:2px 0 0;padding:0;list-style:none;background:var(--sunk)}
.drows li{border-top:1px solid var(--line)}
.drows a{display:grid;grid-template-columns:44px auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:6px 12px 6px 14px;text-decoration:none}
.drows a:hover{background:var(--sunk-hi)}
.drows .tm{font:600 14.5px/1 var(--fc);color:var(--ink-2)}
.drows .car{font-size:14px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dst{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:650;color:var(--ok);white-space:nowrap}
.dst-bad{color:var(--bad)}
.dst-warn{color:var(--warn)}
.dst-mute{color:var(--ink-2)}
.now{display:flex;align-items:center;margin:18px 0 8px}
.now-t{font:700 13.5px/1 var(--fc);letter-spacing:.03em;padding:7px 16px 7px 10px;background:var(--gold);color:var(--on-gold);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.now::after{content:"";flex:1;height:2px;background:var(--ink);margin-left:-4px}
/* právě probíhá */
.jn{--bg:var(--core);--c:14px;color:var(--on-core);padding:16px;margin-top:10px}
.jn::after{background:linear-gradient(135deg,#171C24 0 30%,#10141A 30% 64%,#0D1116 64% 100%)}
.jn-hd{display:flex;align-items:center;gap:10px}
.tag-run{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 13px 0 9px;background:var(--gold);color:var(--on-gold);font-size:13.5px;font-weight:750;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.jn-tm{font:600 15.5px/1 var(--fc);color:var(--on-core)}
.jn-tm span{color:var(--on-core-2);font-family:var(--f);font-weight:500;font-size:14px}
.jn-id{display:flex;gap:12px;align-items:flex-start;margin-top:14px;text-decoration:none}
.jn-car{min-width:0}
.jn-car b{display:block;font-size:17px;line-height:1.2;font-weight:700}
.jn-car span{display:block;font-size:14px;line-height:1.4;color:var(--on-core-2)}
.put{display:flex;align-items:center;gap:10px}
.jn .put{margin-top:14px;--bg:var(--core-3);--bd:#353D4A;--c:10px;padding:10px 14px 10px 12px;justify-content:space-between}
.put-l{display:flex;align-items:center;gap:10px;min-width:0}
.put small{display:block;font-size:13px;line-height:1.2;color:var(--on-core-2)}
.put-l b{display:block;font-size:16.5px;line-height:1.2;font-weight:700}
.put-r{text-align:right}
.put-r .code{display:block;font-size:42px;line-height:.95;color:var(--gold);letter-spacing:.01em}
.jn-act{display:flex;gap:10px;margin-top:14px}
.btn-call{min-height:56px;padding:0 14px 0 12px;gap:10px;justify-content:flex-start;text-align:left}
.btn-call span{display:flex;flex-direction:column;gap:2px;min-width:0}
.btn-call small{font-size:13px;font-weight:500;color:var(--on-core-2);overflow:hidden;text-overflow:ellipsis}
.jn .btn-xl{flex:1;min-height:56px;font-size:17.5px}
/* čeká */
.job{display:grid;grid-template-columns:60px minmax(0,1fr);margin-top:10px;--bg:var(--card);--bd:var(--line);--c:12px}
.job-st{padding:14px 4px 12px 12px;border-right:1px dashed var(--line-2);display:flex;flex-direction:column;gap:6px}
.job-st b{font:600 16.5px/1 var(--fc)}
.job-st span{font-size:12.5px;line-height:1.15;color:var(--ink-3);white-space:nowrap}
.job-m{padding:12px;min-width:0}
.job-id{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.job-car{font-size:15.5px;font-weight:700;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-meta{margin-top:6px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.job-warn{display:flex;align-items:center;gap:6px;margin-top:8px;padding:7px 9px;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--warn);background:var(--warn-bg)}
.job-warn.bad{color:var(--bad);background:var(--bad-bg)}
.job-act{display:flex;align-items:stretch;gap:8px;margin-top:10px}
.job .put{flex:1;min-width:0;--bg:var(--core);--c:8px;color:var(--on-core);padding:6px 10px;gap:9px;min-height:48px}
.job .put small{font-size:12.5px;color:var(--on-core-2)}
.job .put .code{font-size:22px;line-height:1;color:var(--gold)}
.job .put .pt{display:block;font-size:14px;font-weight:650;line-height:1.15}
.job .put>div{min-width:0}
.job .put small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job .btn{min-height:48px;padding:0 14px}
@media (max-width:399px){.job .put>.ic{display:none}}
.job.st-done{--bg:var(--sunk)}
.job.st-noshow{--bg:var(--sunk)}
.job.st-noshow .job-car,.job.st-noshow .job-st b{color:var(--ink-2)}
.free{display:flex;align-items:center;gap:12px;margin-top:10px;padding:6px 6px 6px 14px;min-height:58px;--bg:var(--paper);--bd:var(--ink-3);--c:10px}
.free::after{background:repeating-linear-gradient(135deg,var(--hatch-c) 0 1.5px,transparent 1.5px 7px),var(--paper)}
.free .tm{font:600 16.5px/1 var(--fc);min-width:44px}
.free-tx{flex:1;font-size:14px;line-height:1.35;color:var(--ink-2)}
.free-tx b{color:var(--ink);font-weight:700;font-size:15px}
.free .btn{min-height:46px;padding:0 14px;font-size:14.5px;--c:7px}
.blk{display:flex;align-items:center;gap:12px;margin-top:10px;padding:0 14px;min-height:50px;color:var(--on-core-2);--bg:var(--core-2);--c:10px}
.blk::after{background:repeating-linear-gradient(135deg,var(--hatch-d-c) 0 1.5px,transparent 1.5px 7px),var(--core-2)}
.blk b{font:600 15.5px/1 var(--fc);color:var(--on-core)}
.blk span{font-size:14px}
.hid{display:flex;align-items:center;gap:12px;margin-top:10px;padding:0 14px;min-height:50px;--bg:var(--sunk);--c:10px;color:var(--ink-2);font-size:14px}
.hid b{font:600 15.5px/1 var(--fc);color:var(--ink)}
/* rozpis na počítači: časová mřížka podle zvedáků */
.tl-wrap{--bg:var(--card);--bd:var(--line);--c:14px;padding:0 0 12px;overflow-x:auto}
.tl-hd,.tl{display:grid;grid-template-columns:62px repeat(var(--bays,2),minmax(220px,1fr));min-width:calc(62px + var(--bays,2)*220px)}
.tl-hd{padding:10px 12px 8px 0;font-size:13.5px;font-weight:700;color:var(--ink-2);border-bottom:1px solid var(--line)}
.tl-hd span{padding-left:10px;display:flex;align-items:center;gap:6px}
.tl{position:relative;grid-auto-rows:34px;padding:8px 12px 0 0}
.tl-t{grid-column:1;font:600 13px/1 var(--fc);color:var(--ink-3);text-align:right;padding:0 10px 0 0;align-self:start;transform:translateY(-6px)}
.tl-t.h{color:var(--ink-2)}
.tl-ln{grid-column:2/-1;border-top:1px solid var(--line);align-self:start;height:0}
.ev{display:flex;align-items:center;gap:8px;margin:3px 5px 2px;padding:0 8px 0 5px;min-width:0;font-size:13.5px;line-height:1;--c:6px;position:relative;z-index:1;text-decoration:none;color:var(--ink);border:0;background:none;text-align:left}
.ev .car{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev .code{font-size:13.5px}
.ev-done{--bg:var(--sunk);color:var(--ink-2)}
.ev-done .st{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:650;color:var(--ok);white-space:nowrap}
.ev-done .st.bad{color:var(--bad)}
.ev-done .st.mute{color:var(--ink-2)}
.ev-now{--bg:var(--solid);color:var(--on-solid)}
.ev-now .code{color:var(--gold)}
.ev-wait{--bg:var(--card-hi);--bd:var(--ink-3)}
.ev-wait:hover,.ev-now:hover{--bd:var(--ink)}
.ev-warn .wx{display:flex;align-items:center;color:var(--warn)}
.ev-free{--bg:var(--paper);--bd:var(--line-2);justify-content:center;font-weight:650;color:var(--ink-2);gap:6px;cursor:pointer}
.ev-free::after{background:repeating-linear-gradient(135deg,var(--hatch-c) 0 1.5px,transparent 1.5px 7px),var(--paper)}
.ev-free:hover{--bd:var(--ink-3);color:var(--ink)}
.ev-free[disabled]{cursor:default}
.ev-blk{--bg:var(--core-2);color:var(--on-core-2);justify-content:center;gap:8px;font-weight:600}
.ev-blk::after{background:repeating-linear-gradient(135deg,var(--hatch-d-c) 0 1.5px,transparent 1.5px 7px),var(--core-2)}
.ev-blk b{font:600 13.5px/1 var(--fc);color:var(--on-core)}
.ev-hid{--bg:var(--sunk);color:var(--ink-2);justify-content:center}
.tl-now{position:absolute;left:50px;right:12px;height:2px;background:var(--gold);z-index:2;pointer-events:none}
.tl-now span{position:absolute;left:-50px;top:-11px;font:700 12.5px/1 var(--fc);padding:5px 10px 5px 6px;background:var(--gold);color:var(--on-gold);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.tl-now::after{content:"";position:absolute;right:-6px;top:-3px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.rz-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
@media (max-width:1280px){.rz-grid{grid-template-columns:1fr}}

/* =================================================================== HOTOVO */
.blk2{padding-top:18px}
.lbl{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.lbl b{font-weight:750;font-stretch:106%;font-size:16px}
.lbl span{font-size:13.5px;color:var(--ink-3)}
.onc{display:flex;align-items:center;gap:12px;padding:8px 6px 8px 12px;min-height:64px;--bg:var(--card);--bd:var(--solid);--bw:1.5px;--c:10px}
.onc-t{flex:1;min-width:0}
.onc-t b{display:block;font-size:15.5px;font-weight:700;line-height:1.2}
.onc-t span{display:block;font-size:13.5px;color:var(--ink-2)}
.onc .code{font-size:21px}
.ico-sq{width:38px;height:38px;display:grid;place-items:center;flex:none;background:var(--solid);color:var(--on-solid);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.ico-sun{background:var(--sunk-hi);color:var(--ink)}
.tread{display:grid;grid-template-columns:1fr 70px 1fr;grid-template-rows:auto auto;gap:8px 10px;align-items:stretch}
.carsk{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center}
.carsk svg{display:block}
.carsk .b{fill:var(--card-hi);stroke:var(--ink-3)}
.carsk .g{fill:var(--sunk);stroke:var(--ink-3)}
.carsk .w{fill:var(--ink-2)}
.carsk .a{stroke:var(--ink-2)}
.tr{display:flex;flex-direction:column;gap:4px;padding:8px 10px;min-height:76px;--c:9px;--bg:var(--card);--bd:var(--line-2);cursor:text}
.tr:focus-within{--bd:var(--solid);--bw:1.5px}
.tr-k{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--ink-2);line-height:1}
.tr-v{display:flex;align-items:baseline;gap:4px;font-size:14px;color:var(--ink-2);line-height:1}
.tr-v input{width:100%;min-width:0;border:0;background:none;outline:0;padding:0;font:600 28px/1 var(--fc);color:var(--ink);letter-spacing:0}
.tr-v input::placeholder{color:var(--line-2)}
.tr-s{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:650;line-height:1.1;min-height:16px;color:var(--ink-3)}
.tr.ok .tr-s{color:var(--ok)}
.tr.warn{--bg:var(--warn-bg);--bd:var(--warn-line)}
.tr.warn .tr-s{color:var(--warn)}
.tr.bad{--bg:var(--bad-bg);--bd:var(--bad-line)}
.tr.bad .tr-s{color:var(--bad)}
.tr4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.tr4 .tr{min-height:70px;padding:8px}
.tr4 .tr-v input{font-size:22px}
@media (max-width:519px){.tr4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tnote{display:flex;gap:6px;align-items:flex-start;margin-top:10px;font-size:13.5px;line-height:1.4;font-weight:600}
.tnote.warn{color:var(--warn)}
.tnote.bad{color:var(--bad)}
.tnote .ic{margin-top:1px}
.posf{display:flex;align-items:center;gap:12px;margin-top:10px;padding:8px 10px 8px 12px;--bg:var(--card);--bd:var(--line-2);--c:10px}
.posf:focus-within{--bd:var(--solid);--bw:1.5px}
.posf-t{flex:1;min-width:0}
.posf-t small{display:block;font-size:13px;color:var(--ink-2);line-height:1.2}
.posf-t input{display:block;width:100%;border:0;background:none;outline:0;padding:2px 0;font:600 27px/1.1 var(--fc);color:var(--ink);text-transform:uppercase;letter-spacing:.02em}
.posf-t span{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--ok);font-weight:650;line-height:1.3}
.posf-t span.warn{color:var(--warn)}
.ta{display:block;width:100%;min-height:76px;padding:10px 12px;border:0;resize:vertical;font-size:15.5px;line-height:1.45;color:var(--ink);background:transparent;outline:0}
.taw{--bg:var(--card);--bd:var(--line-2);--c:10px}
.taw:focus-within{--bd:var(--solid);--bw:1.5px}
.alt{margin-top:8px;display:flex;flex-direction:column;gap:6px}

/* =================================================================== OBJEDNÁNÍ */
.steps{display:grid;grid-template-columns:repeat(var(--n,6),1fr);gap:0 4px;margin:0;padding:2px 16px 14px;list-style:none}
.steps li{display:flex;flex-direction:column;gap:7px;font-size:12.5px;line-height:1;font-weight:550;color:var(--on-core-3);min-width:0}
.steps i{display:block;height:6px;background:var(--core-line);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%)}
.steps .ok{color:var(--on-core-2)}
.steps .ok i{background:var(--silver)}
.steps .cur{color:var(--on-core);font-weight:750}
.steps .cur i{background:var(--gold)}
.steps span{display:flex;align-items:center;gap:3px;white-space:nowrap;overflow:hidden}
@media (min-width:1024px){
  .steps{padding:0 0 6px;max-width:720px}
  .steps li{color:var(--ink-3);font-size:13.5px}
  .steps i{background:var(--line)}
  .steps .ok{color:var(--ink-2)}
  .steps .ok i{background:var(--ink-3)}
  .steps .cur{color:var(--ink)}
}
.bk{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;max-width:760px}
.carc{display:flex;align-items:center;gap:12px;padding:10px 8px 10px 12px;min-height:64px;--bg:var(--card);--bd:var(--line);--c:12px}
.carc-t{flex:1;min-width:0}
.carc-t b{display:block;font-size:15.5px;font-weight:700;line-height:1.25}
.carc-t span{display:block;font-size:14px;color:var(--ink-2);line-height:1.35}
.dpk{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}
.dc-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:76px;cursor:pointer;--bg:var(--card);--bd:var(--line-2);--c:9px;text-align:center}
.dc-b small{font-size:13px;line-height:1;color:var(--ink-2);font-weight:550}
.dc-b b{font:600 16.5px/1 var(--fc)}
.dc-b em{font-style:normal;font-size:12.5px;line-height:1;font-weight:650;color:var(--ok);white-space:nowrap}
.dc-b:hover{--bd:var(--ink-3)}
.pick input:checked+.dc-b{--bg:var(--solid);--bd:var(--solid);color:var(--on-solid)}
.pick input:checked+.dc-b small{color:var(--on-solid-2)}
.pick input:checked+.dc-b em{color:var(--gold)}
.pick input:disabled+.dc-b,.pick input:disabled+.tc-b{cursor:not-allowed;--bd:var(--line-2)}
.pick input:disabled+.dc-b::after,.pick input:disabled+.tc-b::after{background:repeating-linear-gradient(135deg,var(--hatch-c) 0 1.5px,transparent 1.5px 7px),var(--sunk)}
.pick input:disabled+.dc-b em,.pick input:disabled+.dc-b b,.pick input:disabled+.tc-b b,.pick input:disabled+.tc-b small{color:var(--ink-2)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
.tc-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:54px;cursor:pointer;--bg:var(--card);--bd:var(--line-2);--c:8px}
.tc-b:hover{--bd:var(--ink-3)}
.tc-b b{font:600 16px/1 var(--fc)}
.tc-b small{font-size:12.5px;line-height:1;font-weight:600;color:var(--ok)}
.pick input:checked+.tc-b{--bg:var(--solid);--bd:var(--solid);color:var(--on-solid)}
.pick input:checked+.tc-b small{color:var(--gold)}
.pick input:checked+.tc-b::after{background:linear-gradient(225deg,var(--gold) 0 11px,var(--solid) 11px)}
.tc-blk{grid-column:span 2;display:flex;align-items:center;justify-content:center;gap:8px;height:54px;font-size:13px;line-height:1.2;font-weight:600;color:var(--on-core-2);--bg:var(--core-2);--c:8px}
.tc-blk::after{background:repeating-linear-gradient(135deg,var(--hatch-d-c) 0 1.5px,transparent 1.5px 7px),var(--core-2)}
.tc-blk b{font:600 13.5px/1 var(--fc);color:var(--on-core);display:block}
.svgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:6px}
.sv-b{display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 12px;cursor:pointer;--bg:var(--card);--bd:var(--line-2);--c:8px;font-size:15px;line-height:1.2;font-weight:600}
.sv-b small{display:flex;align-items:center;gap:3px;margin-left:auto;font-size:13px;color:var(--ink-3);font-weight:550}
.pick input:checked+.sv-b{--bd:var(--solid)}
.pick input:disabled:checked+.sv-b{--bg:var(--sunk);--bd:var(--line-2);cursor:default}
.stl{display:grid;gap:6px}
.st-b{display:flex;align-items:center;gap:12px;min-height:62px;padding:8px 12px;cursor:pointer;--bg:var(--card);--bd:var(--line-2);--c:9px}
.st-b .rd{width:22px;height:22px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.75px var(--ink-2);background:var(--card)}
.pick input:checked+.st-b{--bd:var(--solid);--bw:1.5px}
.pick input:checked+.st-b .rd{box-shadow:inset 0 0 0 7px var(--solid)}
.st-t{flex:1;min-width:0}
.st-t b{display:block;font-size:15px;font-weight:650;line-height:1.25}
.st-t span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.35}
.st-b .code{font-size:20px}
.sum{position:sticky;bottom:calc(var(--bn-h) + env(safe-area-inset-bottom,0px));z-index:15;display:flex;align-items:center;gap:12px;margin:24px -16px -32px;padding:14px 16px 16px;background:var(--core);color:var(--on-core)}
.sum::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--core-line)}
.sum-t{flex:1;min-width:0}
.sum-t b{display:block;font:600 17px/1.2 var(--fc)}
.sum-t span{display:block;font-size:13.5px;line-height:1.35;color:var(--on-core-2);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sum .btn{flex:none}
@media (min-width:1024px){
  .sum{bottom:16px;margin:28px 0 0;max-width:760px;--c:16px;background:none;padding:16px 16px 16px 22px}
  .sum::before{inset:0;height:auto;background:var(--sum-bg);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
  .sum>*{position:relative}
}
.ok-big{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:28px 22px;--bg:var(--core);--c:20px;color:var(--on-core);max-width:760px}
.ok-big::after{background:linear-gradient(135deg,#171C24 0 30%,#10141A 30% 64%,#0D1116 64% 100%)}
.ok-big .ds-ic{width:52px;height:52px;background:var(--gold);color:var(--on-gold)}
.ok-big h2{font-weight:800;font-stretch:120%;font-size:30px;line-height:1.05}
.ok-big p{color:var(--on-core-2);font-size:15.5px;max-width:52ch}
.ok-big .code{font-size:22px;color:var(--gold)}

/* =================================================================== AUTA, PNEUHOTEL */
.sets{display:flex;flex-wrap:wrap;gap:6px}
.setc{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;font-size:13px;font-weight:650;background:var(--sunk);color:var(--ink-2);white-space:nowrap}
.setc .code{font-size:14px;color:var(--ink)}
.setc.warn{background:var(--warn-bg);color:var(--warn)}
.setc.bad{background:var(--bad-bg);color:var(--bad)}
.vh{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;padding:18px;--bg:var(--core);--c:18px;color:var(--on-core)}
.vh::after{background:linear-gradient(135deg,#171C24 0 30%,#10141A 30% 64%,#0D1116 64% 100%)}
.vh-t{flex:1;min-width:200px}
.vh-t b{display:block;font-weight:800;font-stretch:115%;font-size:24px;line-height:1.1}
.vh-t span{display:block;color:var(--on-core-2);font-size:14.5px;margin-top:4px}
.vh .btn-line{--bg:transparent;--bd:var(--core-line-2);color:var(--on-core)}
.setk{--bg:var(--card);--bd:var(--line);--c:14px;padding:14px 16px 16px}
.setk-h{display:flex;align-items:center;gap:12px}
.setk-h .h4{flex:1;min-width:0}
.setk-h small{display:block;font-size:13.5px;color:var(--ink-2);font-weight:500}
.setk-pos{text-align:right}
.setk-pos small{display:block;font-size:12.5px;color:var(--ink-3)}
.setk-pos .code{font-size:26px;line-height:1}
.wheels{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.wh{display:flex;flex-direction:column;gap:3px;padding:7px 9px;--bg:var(--sunk);--c:7px}
.wh small{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.wh b{font:600 19px/1 var(--fc)}
.wh b small{font:500 12.5px/1 var(--f);color:var(--ink-2);margin-left:2px}
.wh.warn{--bg:var(--warn-bg)}
.wh.warn b,.wh.warn small{color:var(--warn)}
.wh.bad{--bg:var(--bad-bg)}
.wh.bad b,.wh.bad small{color:var(--bad)}
.setk-f{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:13.5px;color:var(--ink-2)}
.rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px}
.slotc{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:stretch;min-height:76px;--bg:var(--card);--bd:var(--line);--c:12px;text-decoration:none;color:var(--ink)}
.slotc:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
.slotc-p{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-right:1px dashed var(--line-2);padding:8px 4px}
.slotc-p .code{font-size:24px;line-height:1}
.slotc-p .ic{color:var(--ink-2)}
.slotc-m{padding:10px 12px;min-width:0;display:flex;flex-direction:column;gap:5px;justify-content:center}
.slotc-m .row{gap:8px;min-width:0}
.slotc-m b{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slotc-m span{font-size:13.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* =================================================================== PŘEHLED */
.band{--bg:var(--core);--c:20px;color:var(--on-core);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0;padding:20px 26px;margin-bottom:16px}
.band::after{background:linear-gradient(118deg,#141920 0 26%,#10141A 26% 58%,#0C1015 58% 100%)}
.bd-48{padding-right:26px;border-right:1px solid var(--core-line)}
.bd-48 b{display:block;font:600 64px/.9 var(--fc);letter-spacing:-.01em}
.bd-48 span{display:block;margin-top:10px;font-size:14.5px;color:var(--on-core-2)}
.bd-st{padding:0 26px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-width:0}
.bd-grp{display:flex;gap:28px;flex-wrap:wrap}
.bd-g{display:flex;flex-direction:column;gap:4px}
.bd-g b{font:600 28px/1 var(--fc)}
.bd-g span{font-size:13.5px;color:var(--on-core-2);display:flex;align-items:center;gap:6px}
.strip-season{height:46px}
.bd-ax{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--on-core-3)}
.bd-pc{padding-left:26px;border-left:1px solid var(--core-line);display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:160px}
.bd-pc b{display:block;font:600 54px/.95 var(--fc);color:var(--gold)}
.bd-pc span{display:block;font-size:14px;color:var(--on-core-2);margin-top:6px}
.bd-pc p{font-size:14px;line-height:1.45;color:var(--on-core-2)}
.bd-pc p b{display:inline;font:650 14px/1 var(--f);color:var(--on-core)}
@media (max-width:900px){
  .band{grid-template-columns:1fr 1fr;gap:18px;padding:18px}
  .bd-48{border-right:0;padding-right:0}
  .bd-st{grid-column:1/-1;grid-row:2;padding:0}
  .bd-pc{border-left:0;padding-left:0;min-width:0;text-align:right;align-items:flex-end}
  .bd-48 b{font-size:52px}
  .bd-pc b{font-size:44px}
}
.ov-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:16px;align-items:start}
@media (max-width:1180px){.ov-grid{grid-template-columns:1fr}}
.nt{list-style:none;margin:0;padding:0}
.nt li{border-bottom:1px solid var(--line)}
.nt li:last-child{border-bottom:0}
.nt a,.nt .nt-r{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:4px 18px;text-decoration:none}
.nt a:hover{background:var(--card-hi)}
.nt .car{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt .own{font-size:13.5px;color:var(--ink-2);white-space:nowrap}
.fa{list-style:none;margin:0;padding:0}
.fa li{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(0,1fr) auto;align-items:center;gap:14px;min-height:50px;padding:4px 18px;border-bottom:1px solid var(--line)}
.fa-f b{display:block;font-size:14.5px;font-weight:700;line-height:1.25}
.fa-f span{display:flex;align-items:center;gap:5px;font-size:13.5px;color:var(--ink-2);line-height:1.3}
.strip-fa{height:18px;width:auto;max-width:100%;justify-self:start}
.fa-a{font:600 17px/1 var(--fc);text-align:right;white-space:nowrap}
.fa-tot{display:flex;align-items:baseline;justify-content:space-between;padding:12px 18px 10px}
.fa-tot span{font-size:14px;color:var(--ink-2)}
.fa-tot span b{color:var(--ink);font-weight:700}
.fa-tot>b{font:600 24px/1 var(--fc)}
.cmp{list-style:none;margin:0;padding:0}
.cmp li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:12px 18px;border-bottom:1px solid var(--line)}
.cmp li:last-child{border-bottom:0}
.cmp b{font-size:14.5px;font-weight:700}
.cmp .num{font:600 14px/1 var(--fc);color:var(--ink-2)}
.bar{grid-column:1/-1;display:flex;height:8px;gap:2px}
.bar i{display:block;height:100%}
.bar .d{background:var(--solid)}
.bar .b{background:var(--gold)}
.bar .w{background:repeating-linear-gradient(135deg,var(--ink-3) 0 1.5px,transparent 1.5px 5px),var(--sunk)}

/* fakturace */
.bill{--bg:var(--card);--bd:var(--line);--c:14px}
.bill-h{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 20px;padding:16px 18px;border-bottom:1px solid var(--line)}
.bill-h .h3{font-size:19px}
.bill-h small{display:block;font-size:13.5px;color:var(--ink-2);margin-top:3px}
.bill-sum{margin-left:auto;text-align:right}
.bill-sum b{display:block;font:600 26px/1 var(--fc)}
.bill-sum span{font-size:13.5px;color:var(--ink-2)}
.bill-i{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line)}
.bill-i:last-child{border-bottom:0}
.bill-i .chk{min-height:40px}
.bill-it{min-width:0}
.bill-it .row{gap:10px;flex-wrap:wrap}
.bill-it p{font-size:13.5px;color:var(--ink-2);margin-top:4px}
.bill-a{text-align:right}
.bill-a b{font:600 17px/1 var(--fc);white-space:nowrap}
.bill-a small{display:block;font-size:12.5px;color:var(--ink-2);margin-top:4px}
.selbar{position:sticky;bottom:calc(var(--bn-h) + 12px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 12px 12px 18px;margin-top:16px;--bg:var(--core);--c:14px;color:var(--on-core)}
.selbar b{font:600 17px/1 var(--fc)}
.selbar .inp{--bg:var(--core-2);--bd:var(--core-line-2);color:var(--on-core-2);min-height:46px;flex:1 1 180px}
.selbar .inp input{color:var(--on-core)}
@media (min-width:1024px){.selbar{bottom:16px}}

/* kalendář, nastavení */
.camp{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;--bg:var(--card);--bd:var(--line);--c:12px;text-decoration:none;color:var(--ink)}
.camp.on{--bd:var(--solid);--bw:1.5px}
.camp-t{flex:1;min-width:0}
.camp-t b{display:block;font-size:16px;font-weight:700}
.camp-t span{display:block;font-size:13.5px;color:var(--ink-2)}
.dayr{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:8px 10px 8px 14px;--bg:var(--card);--bd:var(--line);--c:10px}
.dayr-d small{display:block;font-size:13px;color:var(--ink-2)}
.dayr-d b{font:600 17px/1 var(--fc)}
.dayr-m{min-width:0;font-size:14px;color:var(--ink-2)}
.dayr-m .bar{margin-top:6px;max-width:320px}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}
.tb{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:58px;padding:8px 10px;border:0;text-align:left;--bg:var(--card);--bd:var(--line-2);--c:8px;color:var(--ink)}
.tb b{font:600 16px/1 var(--fc)}
.tb small{font-size:12.5px;color:var(--ink-2)}
.tb.blk-on{--bg:var(--core-2);--bd:var(--core-2);color:var(--on-core)}
.tb.blk-on::after{background:repeating-linear-gradient(135deg,var(--hatch-d-c) 0 1.5px,transparent 1.5px 7px),var(--core-2)}
.tb.blk-on small{color:var(--on-core-2)}
.tb:disabled{opacity:.6;cursor:not-allowed}
.prices{width:100%;border-collapse:collapse;font-size:14.5px}
.prices th,.prices td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.prices th{font-size:13px;color:var(--ink-2);font-weight:700}
.prices td .inp{min-height:44px;min-width:92px;max-width:130px}
.prices td .inp input{font:600 16px/1 var(--fc);text-align:right}
.mailr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.mailr:last-child{border-bottom:0}
.mailr b{font-size:14.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mailr span{font-size:13.5px;color:var(--ink-2);overflow-wrap:anywhere}
.mailr .err-t{grid-column:1/-1;font-size:13.5px;color:var(--bad)}
.copy{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;--bg:var(--sunk);--c:8px;min-width:0}
.copy code{flex:1;min-width:0;font:500 13.5px/1.4 var(--fc);overflow-wrap:anywhere}


/* =================================================================== DOPLŇKY */
.strip polygon{vector-effect:non-scaling-stroke}
.sh-form{display:flex;flex-direction:column;flex:1;min-height:0}
@media (min-width:1024px){.only-ph{display:none!important}}
@media (max-width:1023.98px){.only-pc{display:none!important}}
.carsk svg{overflow:visible}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.side,.bn,.hd .ab-a,.toasts{display:none!important}.view{padding:0}}

/* Objednat — doplňky */
.ic-xs{width:14px;height:14px}
.li-off{--bg:var(--sunk)}
.li-off:hover{--bg:var(--sunk-hi)}
.li-off .li-t b{color:var(--ink-2)}
.contact{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 8px 10px 12px;--bg:var(--card);--bd:var(--line);--c:10px}
.contact>.ic{color:var(--ink-2)}
.frm{display:grid;gap:12px;padding:14px;--bg:var(--card);--bd:var(--line);--c:12px}
@media (min-width:720px){.frm{grid-template-columns:repeat(3,minmax(0,1fr))}}
.li-t span .ic-xs{vertical-align:-2px;margin-right:2px}
.ob{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.ob>[data-s="rest"]{display:grid;gap:28px}
.ob>[data-s="rest"]:empty{display:none}
.ob .sec+.sec{margin-top:0}
.sum-t span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ob{max-width:760px}
.ob .svgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}

/* Objednávky — seznam */
.obl{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;max-width:860px}
.obl-bar{display:grid;gap:10px}
.obl-bar .tabs{margin:0}
@media (min-width:900px){.obl-bar{grid-template-columns:auto minmax(0,320px);justify-content:space-between;align-items:center}}
.tabs .tab-n{font:600 13px/1 var(--fc);padding:3px 6px;background:var(--sunk);color:var(--ink-2);clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}
.tabs a.on .tab-n{background:var(--core-3);color:var(--on-core)}
.li-tm{flex:none;width:46px;display:flex;flex-direction:column;gap:3px}
.li-tm b{font:600 17px/1.05 var(--fc);letter-spacing:.01em}
.li-tm small{font-size:12.5px;line-height:1.2;color:var(--ink-3);white-space:nowrap}
.li-tm small.ok{color:var(--ok)}
.li-tm small.warn{color:var(--warn);font-weight:650}
.li-tm small.bad{color:var(--bad)}
.li-cta{--bg:var(--sunk);--bd:transparent}
.li-cta:hover{--bg:var(--sunk-hi)}
.li-ic{width:40px;height:40px;display:grid;place-items:center;flex:none;background:var(--card);color:var(--ink-2);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.li-go{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:14px;font-weight:650;color:var(--ink);padding:8px 10px;--c:7px;background:var(--sunk);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.li:hover .li-go{background:var(--solid);color:var(--on-solid)}

/* Objednávka — detail */
.obd{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;max-width:760px}
.obd>.vh .btn-s{margin-left:auto}
.tcard{display:grid;gap:10px;padding:16px 18px 18px;--bg:var(--card);--bd:var(--line);--c:14px}
.tcard-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tcard-d small{display:block;font-size:13.5px;font-weight:650;color:var(--ink-2)}
.tcard-d b{display:block;font-weight:800;font-stretch:115%;font-size:24px;line-height:1.1}
.tcard-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:14.5px;color:var(--ink-2)}
.tcard-t .code{font-size:30px;line-height:1;color:var(--ink)}
.tcard-t span{display:inline-flex;align-items:center;gap:5px}
.tcard-p{display:flex;gap:6px;align-items:flex-start;font-size:14.5px;color:var(--ink-2)}
.tcard-p .ic{margin-top:2px}
.tcard .tnote{margin-top:2px}
.tnote.ok{color:var(--ok)}
.obd-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
@media (max-width:519px){.obd-act .btn{flex:1 1 calc(50% - 5px)}.obd-act .btn-gold{flex-basis:100%}}
.lines{--bg:var(--card);--bd:var(--line);--c:12px;padding:4px 16px}
.ln{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.ln:last-child{border-bottom:0}
.ln .code{font-size:15.5px}
.ln-tot{font-weight:700}
.ln-tot .code{font-size:19px}
.ln-tot small{display:block;font-weight:500;font-size:13px;color:var(--ink-3)}
.setk-h .h4 small:first-child{font-size:12.5px;color:var(--ink-3);margin-bottom:1px}

/* kalendář: řádek sezóny s přepínačem a řádek dne jako tlačítko */
.camp{flex-wrap:wrap}
.camp-sel{display:flex;align-items:center;gap:12px;flex:1 1 230px;min-width:0;min-height:48px;padding:0;border:0;background:none;text-align:left;color:inherit}
.camp .sw-t{position:relative;flex:none;min-height:48px;gap:10px;font-size:14px;font-weight:650;color:var(--ink-2)}
.camp .sw-t input:checked~span{color:var(--ok)}
.camp:not(.on):hover{--bd:var(--ink-3)}
button.dayr{width:100%;border:0;text-align:left;color:inherit}
button.dayr:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
.dayr.past{opacity:.7}
.dayr-h,.dayr-s{display:block}
.dayr-h b{color:var(--ink);font-weight:650}
.dayr-n{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dayr-s{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px}
.bar .f{background:var(--sunk)}
.dow .sg{padding:0}

/* E-maily (#/emaily). Jen oprava řádku .mailr z app.css, nic nového.
   1) `.mailr span` (0,1,1) přebíjí barvu štítků flag() (0,1,0), takže stav by byl šedý
      na barevném pozadí. Barvy štítků tedy vracíme uvnitř řádku.
   2) Řádek s tlačítkem „Zkusit znovu“ je vyšší než text vedle něj, proto svislé vystředění. */
.mailr{align-items:center}
.mailr .flag{font-size:13px;overflow-wrap:normal}
.mailr .flag-bad{color:var(--bad)}
.mailr .flag-warn{color:var(--warn)}
.mailr .flag-ok{color:var(--ok)}
.mailr .flag-mute{color:var(--ink-2)}
.mailr .flag-gold{color:var(--on-gold)}
.mailr .flag-ink{color:var(--on-solid)}

/* Ověření volných míst v plánovači Sibomu */
.sync{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.sync .ic{flex:none;margin-top:1px}
.sync.ok .ic{color:var(--ok)}
.sync.warn{color:var(--warn);font-weight:600}
.sync small{display:block;margin-top:2px;font-weight:400;color:var(--ink-2)}
.sync-hd{margin:0 0 14px}
.sync-box{display:grid;gap:10px;justify-items:start}
.sync-box .sync{margin:0}
.bar .x{background:repeating-linear-gradient(45deg,var(--ink-3) 0 1px,transparent 1px 4px),var(--sunk)}
.ext{display:flex;align-items:center;gap:12px;margin-top:10px;padding:0 14px;min-height:50px;--bg:var(--sunk);--bd:var(--line-2);--c:10px;color:var(--ink-2);font-size:14px}
.ext b{font:600 15.5px/1 var(--fc);color:var(--ink);white-space:nowrap}
.ev-ext{--bg:var(--sunk);--bd:var(--line-2);color:var(--ink-2);justify-content:center;gap:6px;font-size:12.5px;font-weight:600}
.job-sib{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;line-height:1.3;color:var(--ink-2)}
.sib{display:grid;gap:8px;justify-items:start;margin-top:8px;font-size:13.5px;line-height:1.35;color:var(--ink-2)}
.sib p{display:flex;gap:6px;align-items:flex-start;margin:0}
.sib .ic{flex:none;margin-top:1px}
.sib small{display:block;margin-top:2px;font-weight:400;color:var(--ink-2);overflow-wrap:anywhere}
.sib.ok .ic{color:var(--ok)}
.sib.warn,.sib.bad{justify-items:stretch;padding:9px 10px;font-weight:600}
.sib.warn{color:var(--warn);background:var(--warn-bg)}
.sib.bad{color:var(--bad);background:var(--bad-bg)}
.sib-act{display:flex;flex-wrap:wrap;gap:8px}
.sib-act .btn{min-height:44px;font-weight:600}
@media (pointer:fine){.sib-act .btn{min-height:36px}}
.tcard .sib{margin-top:2px}

/* ===== Fakturace (fakturace.js) ===== */
/* Obrazovka #/fakturace. Karta firmy (.bill, .bill-h, .bill-sum, .bill-i) a lišta výběru (.selbar) jsou
   výš v app.css z dřívějška; tady se upravují jen pod .bill-root a přidávají se prvky s předponou bill-.
   Rozložení se řídí šířkou obrazovky (container query), ne okna, takže řádky fungují i vedle postranního panelu. */
.bill-root{display:flex;flex-direction:column;gap:16px;max-width:1040px;container:bill/inline-size}
.bill-stack{display:flex;flex-direction:column;gap:16px}
.bill-stack>.tabs{margin:0}
.bill-list{display:flex;flex-direction:column;gap:16px}

/* filtr */
.bill-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bill-bar .bill-w{grid-column:1/-1}
.bill-bar input[type=date]{min-width:0;text-align:start}
.bill-ferr{margin-top:8px}

/* souhrn nahoře: tmavá deska se zlatou částkou */
.bill-top{--bg:var(--core);--c:14px;display:grid;gap:16px 28px;padding:18px 18px 16px;color:var(--on-core)}
.bill-top-m small{display:block;font-size:13.5px;color:var(--on-core-2)}
.bill-top-m b{display:block;margin:6px 0 4px;font:600 34px/1.05 var(--fc);color:var(--gold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bill-top-m span{font-size:13.5px;color:var(--on-core-2)}
.bill-top-f{list-style:none;margin:0;padding:14px 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;border-top:1px solid var(--core-line)}
.bill-top-f li{display:flex;flex-direction:column;gap:2px;min-width:0}
.bill-top-f b{font:600 22px/1.1 var(--fc);font-variant-numeric:tabular-nums}
.bill-top-f span{font-size:13px;color:var(--on-core-2)}

/* karta firmy */
.bill-root .bill{clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}
.bill-root .bill-h{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"chk who" ". sum";align-items:start;gap:8px 14px;padding:16px 16px 14px}
.bill-ro .bill-h{grid-template-columns:minmax(0,1fr);grid-template-areas:"who" "sum"}
.bill-h .chk{grid-area:chk;min-height:44px;margin:-10px 0 0 -6px;padding:0 6px}
.bill-who{grid-area:who;min-width:0}
.bill-who .h3{overflow-wrap:anywhere}
.bill-who a{text-decoration-color:var(--line-2);text-underline-offset:3px;overflow-wrap:anywhere}
.bill-who .bill-warn{color:var(--warn);font-weight:600}
.bill-root .bill-sum{grid-area:sum;margin:0;text-align:left}
.bill-root .bill-sum b{font-size:24px;font-variant-numeric:tabular-nums}

/* řádek přezutí (telefon: karta o třech patrech) */
.bill-root .bill-i{--px:16px;--py:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"chk id id" "chk pr pr" "chk d t";gap:6px 12px;align-items:center;padding:var(--py) var(--px)}
.bill-ro .bill-i{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id id" "pr pr" "d t"}
.bill-root .bill-i .chk{grid-area:chk;align-self:stretch;align-items:flex-start;min-height:44px;margin:calc(var(--py)*-1) 0 calc(var(--py)*-1) calc(var(--px)*-1);padding:var(--py) 6px var(--py) var(--px)}
.bill-id{grid-area:id;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.bill-car{font-weight:650;font-size:15.5px;min-width:0;overflow-wrap:anywhere}
.bill-id .flag{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.bill-pr{grid-area:pr;list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:14.5px;min-width:0}
.bill-pr li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.bill-pr li>span:first-child{min-width:0;color:var(--ink-2);overflow-wrap:anywhere}
.bill-pr b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.bill-fix{display:inline-flex;align-items:center;min-height:32px;text-decoration:none}
.bill-fix:hover .flag{box-shadow:inset 0 0 0 1.5px var(--warn)}
.bill-d,.bill-t{margin-top:2px;padding-top:8px;border-top:1px solid var(--line)}
.bill-d{grid-area:d;font-size:13.5px;color:var(--ink-2);white-space:nowrap}
.bill-t{grid-area:t;font:600 17px/1.2 var(--fc);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.bill-root .bill-i.on{background:var(--sunk)}
@media (hover:hover){.bill-root .bill-i:hover{background:var(--sunk)}}
.bill-mix .cb{box-shadow:none;background:var(--solid) linear-gradient(var(--on-solid),var(--on-solid)) center/11px 3px no-repeat}

/* lišta vybraných přezutí (celé pouzdro se lepí ke spodku, protože je to poslední potomek obrazovky) */
.bill-slot{position:sticky;bottom:calc(var(--bn-h) + 12px + env(safe-area-inset-bottom,0px));z-index:15}
.bill-slot:empty{display:none}
.bill-slot .selbar{position:static;margin:0}
.bill-st{flex:1 1 150px;min-width:0;font-size:14px;color:var(--on-core-2);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.bill-acts{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 100%}
.bill-acts .btn{flex:1 1 12rem}
@media (min-width:1024px){.bill-slot{bottom:16px}}

/* širší obrazovka: řádek jako řádek tabulky */
@container bill (min-width:640px){
  .bill-bar{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,10.5rem)) minmax(0,1.5fr);align-items:end}
  .bill-bar-p{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,10.5rem))}
  .bill-bar .bill-w{grid-column:auto}
  .bill-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:20px 24px}
  .bill-top-m b{font-size:42px}
  .bill-top-f{padding:0 0 0 28px;border-top:0;border-left:1px solid var(--core-line);grid-auto-columns:auto;gap:24px}
  .bill-root .bill-h{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"chk who sum";gap:8px 16px;padding:18px 22px 16px}
  .bill-ro .bill-h{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who sum"}
  .bill-root .bill-sum{text-align:right}
  .bill-root .bill-sum b{font-size:28px}
  .bill-root .bill-i{--px:22px;grid-template-columns:auto 4.25rem minmax(0,1fr) minmax(0,1.15fr) 7.5rem;grid-template-areas:"chk d id pr t";gap:8px 16px;align-items:start}
  .bill-ro .bill-i{grid-template-columns:4.25rem minmax(0,1fr) minmax(0,1.15fr) 7.5rem;grid-template-areas:"d id pr t"}
  .bill-d,.bill-t{margin-top:0;padding-top:0;border-top:0;line-height:23px}
  .bill-d{font-size:14.5px;color:var(--ink)}
  .bill-acts{flex:none;flex-wrap:nowrap}
  .bill-acts .btn{flex:none}
}

/* ===== Pneuhotel (pneuhotel.js) ===== */
.ph{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:1040px}
.ph>*{min-width:0}
.ph-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px;line-height:1.35;color:var(--ink-2)}
.ph-sum b{font:600 18px/1 var(--fc);color:var(--ink)}
.ph-fl{min-height:44px;padding:0 14px;border:0;font-size:14px;cursor:pointer}
.ph-fl.flag-bad[aria-pressed="true"]{background:var(--bad);color:var(--on-solid)}
.ph-fl.flag-warn[aria-pressed="true"]{background:var(--warn);color:var(--on-solid)}
.ph-mute{color:var(--ink-2);font-size:14px}
.posf-t span.ph-mute{color:var(--ink-2)}
.ph-bar{display:grid;gap:10px}
.ph-bar>*{min-width:0}
.ph-bar .tabs{margin:0}
.ph-tools{display:flex;flex-wrap:wrap;gap:10px}
.ph-tools .srch{flex:1 1 180px}
.ph-tools .sel{flex:0 0 auto}
@media (min-width:900px){.ph-bar{grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center}}
.ph-body{container:ph/inline-size}
.ph-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ph-hd{display:none}

/* řádek: na telefonu karta (pozice a SPZ nahoře, sada a dezén pod čarou) */
.ph-row{--bg:var(--card);--bd:var(--line);--c:11px;--ph-g:12px;
  display:grid;grid-template-columns:fit-content(124px) minmax(0,1fr) auto;
  grid-template-areas:"pos plate edit" "pos car edit" "set set set" "tr tr tr";
  column-gap:var(--ph-g);row-gap:4px;align-items:center;min-height:64px;padding:12px 6px 12px 14px;color:var(--ink)}
.ph-ro .ph-row{padding-right:max(0px,calc(14px - var(--ph-g)))}
.ph-row[data-lv="warn"]{--bd:var(--warn-line)}
.ph-row[data-lv="illegal"]{--bd:var(--bad-line)}
.ph-row:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
.ph-row.ph-new{--bd:var(--gold)}
.ph-row.ph-new::after{animation:ph-flash 2.8s ease-out}
@keyframes ph-flash{from{background:color-mix(in srgb,var(--gold) 45%,var(--bg))}to{background:var(--bg)}}
.ph-row:has(.ph-link:focus-visible){outline:2px solid var(--gold);outline-offset:2px}

.ph-pos{grid-area:pos;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding-right:12px;border-right:1px dashed var(--line-2)}
.ph-pos .code{font-size:32px;line-height:1;color:var(--ink)}
.ph-pos.ph-sm .code{font-size:24px}
.ph-pos.ph-xs .code{font-size:17px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.ph-pos small{display:flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;line-height:1.2;color:var(--ink-2)}
.ph-pos small .ic{color:var(--ink-3)}
.ph-plate{grid-area:plate;min-width:0}
.ph-plate .spz{max-width:100%}
.ph-car{grid-area:car;min-width:0;display:flex;flex-direction:column;gap:1px}
.ph-link{color:var(--ink);text-decoration:none;font-size:15.5px;font-weight:700;line-height:1.3;min-width:0}
.ph-link::after{content:"";position:absolute;inset:0;z-index:0}
.ph-link:focus-visible{outline:0}
.ph-cn{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-car>span{font-size:14px;line-height:1.3;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-set{grid-area:set;display:flex;flex-direction:column;gap:3px;min-width:0;margin-top:6px;padding-top:9px;border-top:1px dashed var(--line-2);font-size:14px;line-height:1.35;color:var(--ink-2);overflow-wrap:anywhere}
.ph-sd{display:block}
.ph-sd b{font:600 17px/1.2 var(--fc);letter-spacing:.02em;color:var(--ink)}
.ph-sd i{font-style:normal;color:var(--ink-3)}
.ph-note{display:flex;align-items:flex-start;gap:5px;font-size:13.5px}
.ph-note .ic{margin-top:2px;color:var(--ink-3)}
.ph-tr{grid-area:tr;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;color:var(--ink)}
.ph-tv{display:inline-flex;align-items:baseline;gap:3px}
.ph-tv .code{font-size:22px;line-height:1}
.ph-tv small{font-size:13px;color:var(--ink-2)}
.ph-tn{font-size:14px;color:var(--ink-3)}
.ph-ts{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:13px;font-weight:650;line-height:1.3;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}
.ph-tr.warn .ph-tv,.ph-tr.warn .ph-tv small{color:var(--warn)}
.ph-tr.bad .ph-tv,.ph-tr.bad .ph-tv small{color:var(--bad)}
.ph-tr.warn .ph-ts{background:var(--warn-bg);color:var(--warn)}
.ph-tr.bad .ph-ts{background:var(--bad-bg);color:var(--bad)}
.ph-when{font-size:13px;color:var(--ink-3)}
.ph-edit{grid-area:edit;z-index:1;align-self:center}

/* střední šířka: tři řádky vlevo, dezén vpravo */
@container ph (min-width:600px){
  .ph-row{grid-template-columns:fit-content(132px) minmax(0,1fr) 172px auto;
    grid-template-areas:"pos plate tr edit" "pos car tr edit" "pos set tr edit";row-gap:3px}
  .ph-set{margin-top:4px;padding-top:0;border-top:0}
  .ph-tr{align-self:center}
}
/* počítač: jeden hustý řádek se záhlavím sloupců */
@container ph (min-width:940px){
  .ph-hd,.ph-row{grid-template-columns:104px 138px minmax(0,1fr) minmax(0,1.3fr) 196px auto;column-gap:14px}
  .ph-row{--ph-g:14px;grid-template-areas:"pos plate car set tr edit";padding:10px 8px 10px 14px}
  .ph-pos{padding-right:10px}
  .ph-set{margin:0}
  .ph-tr{align-self:center}
  .ph-when{flex-basis:100%}
  .ph-hd{display:grid;padding:0 8px 0 14px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
  .ph-ro .ph-hd{padding-right:0}
}

/* dialog změny pozice */
.ph-sb{padding-top:14px}
.ph-sb .posf{margin-top:0}
.ph-free{display:grid;gap:8px}
.ph-free-t{font-size:13.5px;font-weight:650;color:var(--ink-2)}
.ph-chips{display:flex;flex-wrap:wrap;gap:8px}
.ph-chip{min-width:64px;min-height:44px;padding:0 14px;font:600 17px/1 var(--fc);letter-spacing:.02em;--c:8px}

/* ===== Přehled (prehled.js) ===== */
.ov .sync{margin:0}
.ov .band{margin-bottom:0}
.ov .pnl:focus{outline:none}
.ov .pnl:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ov-ok{display:flex;align-items:center;gap:10px;color:var(--ink-2)}
.ov-ok .ic{color:var(--ok)}
/* čísla, která chtějí pozornost */
.ov-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}
.ov-t{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:14px 16px 10px;--bg:var(--card);--bd:var(--line);--c:12px;color:var(--ink);text-align:left;text-decoration:none}
button.ov-t{width:100%;border:0}
a.ov-t:hover,button.ov-t:hover{--bg:var(--card-hi)}
.ov-bad{--bd:var(--bad)}
.ov-n{font:600 34px/1.05 var(--fc);letter-spacing:-.01em}
.ov-warn .ov-n{color:var(--warn)}
.ov-bad .ov-n{color:var(--bad)}
.ov-l{font-size:15px;font-weight:700;line-height:1.3}
.ov-h{display:block;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.ov-go{display:inline-flex;align-items:center;gap:4px;margin-top:auto;padding-top:8px;font-size:14px;font-weight:650}
/* auta bez termínu: řádek vede na auto, vedle je volání řidiči */
.ov-nt{list-style:none;margin:0;padding:0}
.ov-nt>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line)}
.ov-nt>li:last-child{border-bottom:0}
.ov-who{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:56px;padding:8px 8px 8px 18px;color:inherit;text-decoration:none}
a.ov-who:hover{background:var(--card-hi)}
.ov-who>span{min-width:0}
.ov-who b{display:block;font-size:14.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.ov-who small{display:block;font-size:13.5px;line-height:1.35;color:var(--ink-2);overflow-wrap:anywhere}
.ov-tel{margin-right:10px}
/* sady s nízkým dezénem (řádek .nt) */
.ov-tr .ov-tx{display:block;min-width:0}
.ov-tr .car,.ov-tr .own{display:block}
.ov-tr .own{white-space:normal}
/* nejbližší dny (řádek .dayr z kalendáře, tady jako odkaz do rozpisu) */
.ov a.dayr{text-decoration:none;color:inherit}
.ov a.dayr:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
.ov .dayr .chev{color:var(--ink-3)}
.ov-more{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
/* firmy */
.ov-leg{grid-column:1/-1;font-size:13px;color:var(--ink-2)}
.bar .ov-ns{background:var(--bad)}

/* ===== Auta a auto (auta.js, auto.js) ===== */
/* --- seznam aut --- */
.car-bar .sel{flex:1 1 200px;max-width:100%}
.car-bar .sel select{flex:1;min-width:0;text-overflow:ellipsis}
.car-wait{opacity:.55;pointer-events:none;transition:opacity .15s .25s}
.car-tbl{--car-cols:140px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr) 220px}
.car-tbl.car-nocamp{--car-cols:140px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr)}
.car-hd{display:none}
.car-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.car-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"plate car" "who who" "sets sets" "book book";column-gap:12px;align-items:start;padding:14px;--bg:var(--card);--bd:var(--line);--c:12px}
.car-row:hover{--bd:var(--ink-3);--bg:var(--card-hi)}
.car-row.car-off{--bg:var(--sunk)}
.car-row.car-off:hover{--bg:var(--sunk-hi)}
.car-row.car-off .car-nm a{color:var(--ink-2)}
.car-c-plate{grid-area:plate;align-self:start}
.car-c-car{grid-area:car;min-width:0;display:flex;flex-direction:column;gap:2px}
.car-c-who{grid-area:who;margin-top:10px;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px}
.car-c-sets{grid-area:sets;margin-top:10px;min-width:0}
.car-c-book{grid-area:book;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-2);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.car-nm{display:block;font-size:16px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.car-link{color:var(--ink);text-decoration:none}
.car-link::after{content:"";position:absolute;inset:0;z-index:1}
.car-link:focus-visible{outline:0}
.car-link:focus-visible::after{outline:2px solid var(--gold);outline-offset:2px}
.car-sub{display:block;font-size:14px;line-height:1.35;color:var(--ink-2)}
.car-own{display:flex;align-items:center;gap:5px;min-width:0;font-size:13.5px;line-height:1.35;color:var(--ink-2)}
.car-own .ic{flex:none}
.car-own span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.car-who-n{display:block;min-width:0;font-size:14.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.car-who-p{display:inline-flex;align-items:center;gap:5px;font-size:14px;line-height:1.35;color:var(--ink-2);white-space:nowrap}
.car-none{font-size:14px;line-height:1.35;color:var(--ink-3)}
.car-tread{margin:6px 0 0}
.car-when,.car-act{position:relative;z-index:2}
.car-when{display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;font-weight:650;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.car-when:hover{text-decoration-color:var(--ink)}
.car-act{margin-left:auto;min-height:44px}
@media (min-width:760px){
  .car-bar .sel{flex:0 1 auto;max-width:300px}
  .car-row{grid-template-columns:140px minmax(0,1fr) 220px;grid-template-areas:"plate car book" "plate who book" "plate sets book";column-gap:16px;row-gap:6px;align-items:center;padding:12px 14px}
  .car-nocamp .car-row{grid-template-columns:140px minmax(0,1fr);grid-template-areas:"plate car" "plate who" "plate sets"}
  .car-c-plate{align-self:start}
  .car-c-who,.car-c-sets{margin-top:0}
  .car-c-who{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:1px}
  .car-who-n{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .car-c-book{margin-top:0;padding-top:0;border-top:0;justify-content:flex-end;align-self:center}
  .car-act{margin-left:0}
}
@media (min-width:1280px){
  .car-hd{display:grid;grid-template-columns:var(--car-cols);column-gap:16px;padding:0 14px 8px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
  .car-hd span:last-child:not(:first-child){text-align:right}
  .car-nocamp .car-hd span:last-child{text-align:left}
  .car-row,.car-nocamp .car-row{grid-template-columns:var(--car-cols);grid-template-areas:"plate car who sets book";padding:10px 14px}
  .car-c-plate{align-self:center}
}
@media (min-width:760px) and (pointer:fine){
  .car-when{min-height:32px}
}
@media (min-width:1280px) and (pointer:fine){
  .car-act{min-height:36px}
}

/* --- detail a nové auto --- */
.car-page{display:flex;flex-direction:column;gap:16px}
.car-page .btn-s{min-height:44px}
.car-hero-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
.car-hero-act .btn{flex:1 1 auto}
.car-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.car-main,.car-side{min-width:0}
.car-side{display:flex;flex-direction:column;gap:24px}
.car-side .sec+.sec{margin-top:0}
.car-set.car-off{--bg:var(--sunk)}
.car-set.car-off .wh:not(.warn):not(.bad){--bg:var(--sunk-hi)}
.car-set.car-off .ico-sq{opacity:.55}
.car-set-act{display:flex;flex-wrap:wrap;gap:0 8px;margin-top:10px;padding-top:4px;border-top:1px dashed var(--line-2)}
.car-set-act .lnk:first-child{padding-left:0}
.car-notread{margin:12px 0 0;font-size:14px;color:var(--ink-3)}
.car-pre{white-space:pre-line;overflow-wrap:anywhere}
.car-fixed{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:14.5px;line-height:1.4;color:var(--ink-2);background:var(--sunk);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.car-fixed .ic{color:var(--ink-3)}
.car-fixed b{color:var(--ink);font-weight:700}
.car-lnk{display:inline-block;padding:12px 0;margin:-12px 0;color:inherit;font-weight:650;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.car-lnk:hover{text-decoration-color:currentColor}
.dl .car-lnk{color:var(--ink)}
.car-tm{width:64px}
.car-tm b{white-space:nowrap}
.car-more{margin-top:6px;margin-left:-10px}
.car-arch{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:16px;border-top:1px dashed var(--line-2)}
.car-arch .hint{margin:0}
.car-arch .lnk{margin-left:-10px}
.car-arch [data-arch-err]{width:100%}
.car-arch [data-arch-err]:empty{display:none}
.car-arch [data-arch-err] .note{margin-top:8px}
.car-form{padding-bottom:8px}
@media (min-width:760px){
  .car-hero-act{width:auto;margin-left:auto}
  .car-hero-act .btn{flex:none}
}
@media (min-width:1200px){
  .car-cols{grid-template-columns:minmax(0,1fr) 360px}
}
