/* Písma z vlastní adresy, žádné cizí servery. Wanted Sans (Fleetshield) a Instrument Sans (DPP Living), obě OFL. */
@font-face{font-family:"Wanted Sans";src:url("/fonts/WantedSansVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("/fonts/instrument-sans-latin-ext-wght-normal.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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:"Instrument Sans";src:url("/fonts/instrument-sans-latin-wght-normal.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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}
/* Doslovná kopie proměnných z web/acceptance/mockup/Main.dc.html (řádky 14 až 17). Neměnit ručně. */
.app{--surface:#EEF4F6;--raised:#FFFFFF;--sand:#DFE9ED;--inverse:#193241;--inverse-raised:#24445A;--ink:#193241;--muted:#4F6673;--ink-inv:#F5F5F7;--muted-inv:#A9BDC8;--accent:#6496A5;--accent-ink:#3B6C7C;--on-accent:#070D11;--border:#D3DFE4;--border-inv:#2F4D60;--focus:#3B6C7C;--late:#A8321F;--late-bg:#F8E7E2;--ok:#2F6B45;--ok-bg:#E3F0E7;--warn:#7A5200;--warn-bg:#F6ECD2;--s1:#1F83AD;--s2:#C96F2B;--bar:#3B6C7C;--r-card:14px;--r-box:12px;--r-btn:8px;--r-pill:999px;--font:"Wanted Sans",system-ui,-apple-system,sans-serif}
.app.t-dpp{--surface:#EFEDE6;--raised:#FFFFFF;--sand:#E6E3D9;--inverse:#13241E;--inverse-raised:#1B3029;--ink:#13241E;--muted:#55605A;--ink-inv:#EFEDE6;--muted-inv:#A6B1AA;--accent:#B99A5B;--accent-ink:#7E6630;--on-accent:#13241E;--border:#D9D7CE;--border-inv:#2C4239;--focus:#7E6630;--s1:#008A76;--s2:#A9761F;--bar:#7E6630;--r-card:22px;--r-box:18px;--r-btn:999px;--font:"Instrument Sans",system-ui,-apple-system,sans-serif}
@media (prefers-color-scheme:dark){.app{--surface:#070D11;--raised:#111E26;--sand:#0F1B22;--inverse:#0B151B;--inverse-raised:#111E26;--ink:#F5F5F7;--muted:#9DB0BA;--accent-ink:#8FBCCB;--border:#213440;--border-inv:#213440;--focus:#8FBCCB;--late:#F2968A;--late-bg:#3A201C;--ok:#8AD3A6;--ok-bg:#17352A;--warn:#E3BE6B;--warn-bg:#352B12;--s1:#3F9CC4;--s2:#CC7A36;--bar:#8FBCCB;color-scheme:dark}
.app.t-dpp{--surface:#13241E;--raised:#1B3029;--sand:#172B24;--inverse:#0D1A15;--inverse-raised:#1B3029;--ink:#EFEDE6;--muted:#A6B1AA;--accent-ink:#B99A5B;--border:#2C4239;--border-inv:#2C4239;--focus:#B99A5B;--s1:#3FA893;--s2:#B88D3A;--bar:#B99A5B}}
/* Třídy převzaté z mockupu (Main.dc.html), bez ukázkového pruhu a falešného náhledu. */
*{box-sizing:border-box}
body{margin:0}
.app{min-height:100vh;background:var(--surface);color:var(--ink);font:400 16px/1.5 var(--font)}
.vb{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;height:240px}
.vbc{border:0;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0;border-radius:6px}
.vbc.on,.vbc:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.vbi{flex:1;display:flex;gap:2px;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--muted);min-height:0}
.vbi i{display:block;width:min(14px,42%);border-radius:4px 4px 0 0;min-height:1px}
.vbl{font-size:12px;color:var(--muted);text-align:center;white-space:nowrap}
.ag{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:4px;font-variant-numeric:tabular-nums}
.ag i{display:block;height:8px;border-radius:0 4px 4px 0;min-width:2px;flex:none}
.calg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calh{font-size:12px;font-weight:600;color:var(--muted);text-align:center}
.cald{min-height:76px;background:var(--sand);border-radius:8px;padding:6px 8px;font-size:12px;display:flex;flex-direction:column;gap:1px;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.cald b{font-weight:600}
.cald.minus{background:var(--late-bg)}
.cald.today{outline:2px solid var(--accent-ink);outline-offset:-2px}
.wf i{display:block;height:12px;border-radius:3px;margin-top:4px;min-width:2px}
.c-dok{grid-template-columns:minmax(170px,1.4fr) 50px 80px 90px minmax(170px,1.4fr) 76px 110px 140px 116px}
.app:not(.t-dpp) .logo{height:46px;margin:-10px 0}
.card.tree{padding:12px;gap:0}
.card.flist{padding:0;gap:0}
.tis{display:none}
.disk{display:grid;grid-template-columns:270px minmax(0,1fr) 340px;gap:12px;align-items:start}
.tree{padding:12px;gap:2px}
.nd{display:flex;gap:6px;align-items:center;width:100%;min-height:36px;border:0;background:transparent;border-radius:8px;text-align:left;font-size:14px;cursor:pointer;padding-right:8px}
.nd:hover{background:var(--sand)}
.nd.on{background:var(--sand);font-weight:600}
.nd .ch{width:14px;flex:none;color:var(--muted);font:13px system-ui,sans-serif;text-align:center}
.nd .pc{margin-left:auto;font-size:12px;color:var(--muted);font-weight:400}
.flist{padding:0;gap:0;overflow:hidden}
.crumb{padding:16px 20px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--border)}
.frow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;border:0;border-top:1px solid var(--border);background:transparent;text-align:left;padding:12px 20px;cursor:pointer}
.frow:first-of-type{border-top:0}
.frow:hover,.frow.sel{background:var(--sand)}
.frow .fn{font-weight:500;font-size:14px;overflow-wrap:anywhere}
.frow .fk{font-weight:600;font-size:14px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.frow .fm{font-size:13px;color:var(--muted)}
@media (max-width:1120px){.disk{grid-template-columns:240px minmax(0,1fr)}.disk .pv{grid-column:1/-1}}
@media (max-width:760px){.disk{grid-template-columns:minmax(0,1fr)}}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.nav{background:var(--inverse);color:var(--ink-inv);position:sticky;top:0;z-index:5}
.navin{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between}
.logo{height:26px;display:block}
.fresh{font-size:13px;color:var(--muted-inv);display:flex;align-items:center;gap:8px}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.tab{min-height:44px;padding:0 16px;border:0;border-radius:var(--r-btn);background:transparent;color:var(--ink-inv);font-weight:500;font-size:15px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.tab:hover{background:var(--inverse-raised)}
.tab.on{background:var(--accent);color:var(--on-accent);font-weight:600}
.cnt{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--ink-inv);color:var(--inverse);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.main{max-width:1200px;margin:0 auto;padding:32px 24px 72px;display:flex;flex-direction:column;gap:24px}
.head{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:flex-end}
.kicker{font-size:15px;font-weight:600;color:var(--accent-ink);margin:0 0 4px}
h1{margin:0;font-size:40px;line-height:1.08;font-weight:600;letter-spacing:-.03em;max-width:32ch}
h2{margin:0;font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.01em}
h3{margin:0;font-size:15px;font-weight:600}
p{margin:0}
.sub{color:var(--muted);max-width:68ch}
.small{font-size:13px;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--sand);border-radius:var(--r-btn);width:max-content;max-width:100%}
.pill{min-height:36px;padding:0 14px;border:0;border-radius:var(--r-btn);background:transparent;font-size:14px;font-weight:500;cursor:pointer}
.pill.on{background:var(--raised);font-weight:600}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tile{background:var(--raised);border-radius:var(--r-card);padding:20px 24px;display:flex;flex-direction:column;gap:4px;min-width:0}
.tile .v{font-size:32px;line-height:1.1;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile .l{font-size:14px;color:var(--muted)}
.card{background:var(--raised);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.neg{color:var(--late)}
.scroll{overflow-x:auto}
.tb{display:flex;flex-direction:column;min-width:max-content;font-size:14px}
.tr{display:grid;gap:12px;padding:10px 0;border-top:1px solid var(--border);align-items:baseline}
.tr.hd{border-top:0;font-size:13px;font-weight:600;color:var(--muted);padding-top:0}
.tr.tot{font-weight:600}
.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.c-ucty{grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(110px,1fr)) 80px}
.c-cf{grid-template-columns:minmax(170px,1.4fr) repeat(4,minmax(110px,1fr))}
.c-vyd{grid-template-columns:minmax(190px,1.3fr) 100px minmax(210px,1.6fr) 90px 120px 130px}
.c-zis{grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(100px,1fr))}
.c-zdr{grid-template-columns:minmax(180px,1.2fr) minmax(220px,2fr) 110px 90px}
.c-lid{grid-template-columns:minmax(120px,1fr) minmax(220px,1.5fr) 150px minmax(180px,1.5fr)}
.c-his{grid-template-columns:70px 70px minmax(300px,1fr)}
.chip{display:inline-block;padding:1px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:var(--sand);color:var(--ink);white-space:nowrap}
.chip.late{background:var(--late-bg);color:var(--late)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}
.alert{border-radius:var(--r-box);padding:12px 16px;font-size:14px;display:flex;gap:8px;flex-direction:column}
.alert.late{background:var(--late-bg);color:var(--late)}.alert.warn{background:var(--warn-bg);color:var(--warn)}
.alert b{font-weight:600}
.bt{min-height:44px;padding:0 20px;border-radius:var(--r-btn);border:1px solid var(--border);background:transparent;font-size:15px;font-weight:500;cursor:pointer}
.bt:hover{background:var(--sand)}
.bt.main-b{background:var(--inverse);border-color:var(--inverse);color:var(--ink-inv);font-weight:600}
.bt.mini{min-height:32px;padding:0 12px;font-size:13px}
.acts{display:flex;flex-wrap:wrap;gap:8px}
.chartw{position:relative;height:260px;margin-left:56px}
.chartw svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ln{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.zero{stroke:var(--muted);stroke-width:1;vector-effect:non-scaling-stroke}
.gl{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}
.yl{position:absolute;left:-56px;width:50px;text-align:right;font-size:12px;color:var(--muted);transform:translateY(-50%);font-variant-numeric:tabular-nums;white-space:nowrap}
.cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr)}
.colb{border:0;background:transparent;cursor:pointer;padding:0;border-radius:6px}
.colb.on,.colb:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.dot{position:absolute;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--raised);pointer-events:none}
.xl{display:grid;grid-template-columns:repeat(10,1fr);margin-left:56px;font-size:12px;color:var(--muted);text-align:center}
.leg{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;color:var(--muted);align-items:center}
.sw{display:inline-block;width:16px;height:0;border-top:2px solid;vertical-align:middle;margin-right:6px}
.hb{display:flex;flex-direction:column;gap:12px}
.hbt{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.hbb{height:8px;border-radius:0 4px 4px 0;background:var(--bar);min-width:2px;margin-top:4px}
.desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:16px;align-items:start}
.list{display:flex;flex-direction:column;gap:16px;min-width:0}
.ghead{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;padding:0 8px 6px;color:var(--muted)}
.rows{background:var(--raised);border-radius:var(--r-box);overflow:hidden}
.row{display:grid;grid-template-columns:52px minmax(0,1fr);border-top:1px solid var(--border)}
.rows .row:first-child{border-top:0}
.row.sel{background:var(--sand)}
.ck{display:flex;align-items:center;justify-content:center;cursor:pointer}
.ck input{width:20px;height:20px;margin:0;accent-color:var(--accent-ink);cursor:pointer}
.pick{border:0;background:transparent;text-align:left;cursor:pointer;padding:12px 16px 12px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;min-width:0}
.pick .who{font-weight:600;font-size:15px}
.pick .kc{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.pick .meta{font-size:13px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;align-items:center}
.detail{position:sticky;top:96px;background:var(--raised);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.big{font-size:36px;line-height:1.1;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plate{background:#fff;padding:12px;border-radius:12px;width:220px;max-width:100%;margin:0 auto;border:1px solid var(--border)}
.plate svg{display:block;width:100%;height:auto}
.fl{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:14px;padding:4px 0}
.fl .k{color:var(--muted);font-size:13px}.fl .v2{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.davka{background:var(--inverse);color:var(--ink-inv);border-radius:var(--r-box);padding:12px 20px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;font-size:14px}
.davka b{font-weight:600;font-variant-numeric:tabular-nums}
.davka .m{color:var(--muted-inv)}
.search{min-height:44px;flex:1 1 240px;min-width:0;max-width:420px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r-btn);background:var(--raised);color:var(--ink);font:inherit;font-size:15px}
.tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.zr{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;font-size:14px}
.zr .k{color:var(--muted);font-size:13px;display:block}
.slider{width:100%;accent-color:var(--accent-ink);height:32px;margin:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--inverse);color:var(--ink-inv);padding:10px 20px;border-radius:var(--r-btn);font-size:14px;z-index:9;max-width:calc(100% - 32px)}
@media (max-width:860px){.desk{grid-template-columns:minmax(0,1fr)}.detail{position:static;order:-1}}
@media (max-width:560px){.main{padding:20px 16px 56px}.navin{padding:10px 16px}h1{font-size:30px}.tile .v{font-size:26px}.card,.detail{padding:16px;border-radius:var(--r-box)}.chartw{height:210px;margin-left:44px}.xl{margin-left:44px;font-size:10px}.yl{left:-48px;width:44px;font-size:10px}.big{font-size:30px}.vbl{font-size:10px}.vbc:nth-child(even) .vbl{visibility:hidden}.cald{min-height:56px;padding:4px;font-size:11px}.cald .hm{display:none}.tis{display:block}.xl span:nth-child(even){visibility:hidden}.xl span{white-space:nowrap}.tb.mt{min-width:0}.tr.hd.mob{display:none}.tr.mob{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding:12px 0}.tb .tr.mob:nth-child(2){border-top:0}.tr.mob>:first-child{grid-column:1/-1;font-weight:600}.tr.mob>.n{text-align:left;white-space:normal}.tr.mob>[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--muted);font-weight:400}.tr.mob>[data-e]:empty{display:none}}
@media (prefers-reduced-motion:no-preference){.hbb{transition:width .2s}}
/* Doplňky k mockupu, jen to, co mockup neřeší (přihlášení, stavy, náhled, formulář). */
html,body{background:var(--surface,#EEF4F6)}
a{color:inherit}
a:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.tab{text-decoration:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nacitam{padding:48px 24px;text-align:center;color:var(--muted)}
.bt:disabled,.pill:disabled,.tab:disabled{opacity:.55;cursor:not-allowed}
.bt.link{display:inline-flex;align-items:center;text-decoration:none}
.navr{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.navr .bt{color:var(--ink-inv);border-color:var(--border-inv)}
.navr .bt:hover{background:var(--inverse-raised)}
.logo-l{display:block;line-height:0}
.login{max-width:520px;margin:64px auto;padding:0 16px;display:flex;flex-direction:column;gap:16px}
.login .acts .bt{flex:1 1 200px}
.qrchybi{background:var(--sand);border-radius:12px;padding:24px;text-align:center;font-weight:600}
.alert.ok{background:var(--ok-bg);color:var(--ok)}
.pv-frame{width:100%;aspect-ratio:1/1.3;border:1px solid var(--border);border-radius:6px;background:#fff}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.form select,.form input,.num{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-btn);background:var(--raised);color:var(--ink);font:inherit;font-size:15px}
.kv{display:flex;flex-direction:column;gap:12px}
.chip.vadny{background:var(--warn-bg);color:var(--warn)}
.vb .vbi i,.ag i,.hbb,.wf i{max-width:100%}
.gtip{font-variant-numeric:tabular-nums}
.empty{color:var(--muted)}
.slider:disabled{opacity:.5}
.stack{display:flex;flex-direction:column;gap:24px;min-width:0}
a.pill{display:inline-flex;align-items:center;text-decoration:none;color:inherit}
.ml{margin-left:8px}
.davka .davka-b{color:inherit;border-color:var(--border-inv)}
.davka .neg-inv{color:#F2968A}
.pad{padding:16px 20px}
.fresh{flex-wrap:wrap}
*:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.nav *:focus-visible{outline-color:var(--ink-inv)}
.detail > .bt.link{align-self:flex-start}
/* Doklady: dlouhý štítek stavu (např. „Zaplaceno, čeká na banku“) se zalomí ve svém sloupci, nepřeteče na tlačítko. */
.c-dok>span{min-width:0}
.c-dok .chip{white-space:normal;max-width:100%}
