/* WB CRM — tmavé rozhraní, krémová a světle hnědá.
   Jeden vizuální svět: žádné přepínání světlé/tmavé, všechno je nabarvené
   natvrdo, aby to působilo jako hotový produkt, ne jako výchozí formulář. */

:root{
  /* podklady */
  --bg:#141009;
  --bg-2:#1a150e;
  --surface:#211a12;
  --surface-2:#2a2118;
  --raised:#31261b;

  /* linky a stíny */
  --line:#352a1e;
  --line-soft:#2a2118;
  --glow:0 1px 0 rgba(255,240,220,.04) inset;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
  --shadow-lg:0 2px 4px rgba(0,0,0,.4), 0 24px 48px -20px rgba(0,0,0,.75);

  /* text */
  --cream:#f4e9d8;
  --ink:#e8dcc9;
  --muted:#9d8d79;
  --faint:#6f6354;

  /* akcenty */
  --tan:#c9a47c;
  --tan-soft:#a9865f;
  --tan-dim:rgba(201,164,124,.14);
  --amber:#e0a35c;
  --moss:#8aa76e;
  --rose:#d9725a;

  --r:14px;
  --r-sm:10px;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --mono:"SF Mono",ui-monospace,Menlo,monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;overflow-x:hidden;
  background:
    radial-gradient(1200px 600px at 12% -8%, rgba(201,164,124,.07), transparent 62%),
    radial-gradient(900px 500px at 92% 0%, rgba(224,163,92,.05), transparent 58%),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--tan);text-decoration:none}
a:hover{color:var(--cream)}
::selection{background:var(--tan);color:#1a140c}
:focus-visible{outline:2px solid var(--tan);outline-offset:2px;border-radius:6px}

.wrap{max-width:1160px;margin:0 auto;padding:0 20px 120px}
@media(min-width:900px){ .wrap{padding-bottom:64px} }

/* ---------- navigace ---------- */
nav{
  position:sticky;top:0;z-index:40;
  background:rgba(20,16,9,.86);
  backdrop-filter:saturate(1.3) blur(14px);
  -webkit-backdrop-filter:saturate(1.3) blur(14px);
  border-bottom:1px solid var(--line);
}
nav .inner{max-width:1160px;margin:0 auto;padding:0 20px;display:flex;align-items:center;
  gap:4px;min-height:60px}
.brand{display:flex;align-items:center;gap:9px;margin-right:18px;flex-shrink:0}
.brand .mark{width:26px;height:26px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(145deg,var(--tan),var(--tan-soft));
  display:grid;place-items:center;color:#1a140c;font-weight:800;font-size:11px;
  letter-spacing:-.03em;box-shadow:var(--shadow)}
.brand span{font-weight:650;color:var(--cream);letter-spacing:-.015em;font-size:15px}
.navlinks{display:flex;gap:2px}
.navlinks a{padding:8px 13px;border-radius:9px;color:var(--muted);font-size:14px;
  font-weight:500;transition:background .15s,color .15s}
.navlinks a:hover{background:var(--surface);color:var(--cream)}
.navlinks a.on{background:var(--tan-dim);color:var(--tan)}
nav .right{margin-left:auto;display:flex;gap:8px;align-items:center}

/* spodní lišta na mobilu */
.tabbar{display:none}
@media(max-width:768px){
  .navlinks{display:none}
  .tabbar{
    display:grid;grid-template-columns:repeat(5,1fr);
    position:fixed;left:0;right:0;bottom:0;z-index:50;
    background:rgba(20,16,9,.95);backdrop-filter:blur(14px);
    border-top:1px solid var(--line);
    padding:6px 6px calc(6px + env(safe-area-inset-bottom));
  }
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;
    padding:8px 4px;border-radius:10px;color:var(--faint);font-size:11px;font-weight:600}
  .tabbar a.on{color:var(--tan);background:var(--tan-dim)}
  .tabbar .ic{font-size:17px;line-height:1}
}

/* ---------- typografie ---------- */
h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,6vw,38px);
  color:var(--cream);letter-spacing:-.02em;line-height:1.1;margin:34px 0 6px}
h2{font-size:13px;font-weight:600;color:var(--tan);margin:34px 0 12px;
  letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono)}
h3{font-size:15px;font-weight:650;color:var(--cream);margin:0 0 10px;letter-spacing:-.01em}
.sub{color:var(--muted);margin:0 0 22px;font-size:14.5px;max-width:64ch;overflow-wrap:anywhere}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint)}

/* ---------- plochy ---------- */
.card{background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);border-radius:var(--r);padding:18px;
  box-shadow:var(--shadow),var(--glow)}
.card.flat{background:var(--surface);box-shadow:none}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}

/* ---------- motivační pás ---------- */
.motiv{display:flex;gap:22px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(201,164,124,.13),rgba(201,164,124,.03));
  border:1px solid rgba(201,164,124,.25);border-radius:var(--r);padding:16px 20px;
  box-shadow:var(--glow)}
.motiv .big{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--cream);
  letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.motiv .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tan-soft);margin-bottom:5px}
.motiv .sep{width:1px;align-self:stretch;background:rgba(201,164,124,.22)}
.motiv .fill{flex:1;min-width:190px}
.track{height:6px;background:rgba(0,0,0,.35);border-radius:99px;overflow:hidden;margin-top:9px}
.track i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--tan-soft),var(--tan));
  box-shadow:0 0 12px rgba(201,164,124,.35)}
.motiv .note{font-size:12.5px;color:var(--muted);margin-top:7px}

/* ---------- řádky (úkoly, zakázky) ---------- */
.item{display:flex;gap:14px;align-items:flex-start;padding:16px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  margin-bottom:10px;transition:border-color .15s,transform .15s,box-shadow .15s}
.item:hover{border-color:var(--tan-soft);box-shadow:var(--shadow)}
.item .main{flex:1;min-width:0}
.item .ttl{font-size:15.5px;overflow-wrap:anywhere;font-weight:600;color:var(--cream);letter-spacing:-.01em;
  line-height:1.35;display:block}
.item .ttl a{color:var(--cream)}
.item .ttl a:hover{color:var(--tan)}
.item .meta{font-size:12.5px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere;
  display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.item .side{display:flex;flex-direction:column;gap:7px;align-items:flex-end;flex-shrink:0}

/* zaškrtávátko */
.check{width:32px;height:32px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--line);
  background:var(--bg-2);color:var(--faint);font-size:14px;cursor:pointer;
  display:grid;place-items:center;transition:all .15s;padding:0}
.check:hover{border-color:var(--moss);color:var(--moss);background:rgba(138,167,110,.12)}

/* rozbalovací detail poptávky */
.brief{margin-top:12px}
.brief summary{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tan-soft);cursor:pointer;padding:6px 0;list-style:none}
.brief summary::-webkit-details-marker{display:none}
.brief summary::before{content:"▸ ";transition:transform .15s}
.brief[open] summary::before{content:"▾ "}
.brief pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;
  font-family:var(--mono);font-size:11.5px;line-height:1.65;color:var(--ink);
  background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--r-sm);
  padding:14px;max-height:320px;overflow:auto}

/* ---------- odznaky ---------- */
.b{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;
  font-size:11px;font-weight:700;font-family:var(--mono);letter-spacing:.04em;
  white-space:nowrap;border:1px solid transparent}
.b.late{background:rgba(217,114,90,.16);color:var(--rose);border-color:rgba(217,114,90,.35)}
.b.now{background:rgba(224,163,92,.16);color:var(--amber);border-color:rgba(224,163,92,.35)}
.b.ok{background:rgba(138,167,110,.14);color:var(--moss);border-color:rgba(138,167,110,.3)}
.b.q{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
.b.in{background:var(--tan-dim);color:var(--tan);border-color:rgba(201,164,124,.3)}
.b.out{background:rgba(201,164,124,.9);color:#1a140c;border-color:transparent}

/* velký odpočet */
.count{text-align:right;line-height:1}
.count .n{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;display:block}
.count .u{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint);margin-top:3px;display:block}
.count.ok .n{color:var(--moss)} .count.now .n{color:var(--amber)}
.count.late .n{color:var(--rose)} .count.q .n{color:var(--faint);font-size:17px}

/* ---------- kanban ---------- */
.board{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 16px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.board::-webkit-scrollbar{height:8px}
.board::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:99px}
.col{flex:0 0 250px;scroll-snap-align:start;background:var(--bg-2);
  border:1px solid var(--line-soft);border-radius:var(--r);padding:12px}
.col h4{margin:0 0 11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tan-soft);display:flex;justify-content:space-between;
  align-items:center;font-weight:500}
.col h4 em{font-style:normal;background:var(--surface-2);color:var(--muted);
  padding:1px 7px;border-radius:99px;font-size:10px}
.lead{display:block;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:12px;margin-bottom:8px;transition:all .15s}
.lead:hover{border-color:var(--tan-soft);transform:translateY(-1px);box-shadow:var(--shadow)}
.lead b{display:block;font-size:14px;color:var(--cream);font-weight:600;
  letter-spacing:-.01em;margin-bottom:7px;line-height:1.3}
.lead .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.col .none{color:var(--faint);font-size:12.5px;padding:10px 2px;text-align:center}

/* ---------- formuláře ---------- */
label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--faint);margin:14px 0 6px;font-weight:500}
label.inline{display:flex;align-items:center;gap:8px;text-transform:none;font-family:var(--sans);
  font-size:13.5px;letter-spacing:0;color:var(--ink);margin:14px 0 0}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--bg);color:var(--cream);
  font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tan-soft);
  box-shadow:0 0 0 3px rgba(201,164,124,.13)}
input::placeholder,textarea::placeholder{color:var(--faint)}
textarea{min-height:90px;resize:vertical;line-height:1.6}
select{appearance:none;background-image:
  linear-gradient(45deg,transparent 50%,var(--tan-soft) 50%),
  linear-gradient(135deg,var(--tan-soft) 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%, calc(100% - 12px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}
input[type=checkbox]{width:19px;height:19px;accent-color:var(--tan);flex-shrink:0}
input[type=date]{min-height:44px}

button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 18px;border-radius:var(--r-sm);border:1px solid transparent;
  background:linear-gradient(180deg,var(--tan),var(--tan-soft));color:#1a140c;
  font-family:inherit;font-size:14px;font-weight:650;cursor:pointer;
  transition:filter .15s,transform .1s;box-shadow:var(--shadow)}
button:hover,.btn:hover{filter:brightness(1.08)}
button:active,.btn:active{transform:translateY(1px)}
button.ghost,.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink);
  box-shadow:none}
button.ghost:hover,.btn.ghost:hover{border-color:var(--tan-soft);color:var(--cream);
  background:var(--surface)}
button.danger{background:transparent;border-color:rgba(217,114,90,.4);color:var(--rose);
  box-shadow:none}
button.danger:hover{background:rgba(217,114,90,.1)}
button.sm{padding:7px 12px;font-size:12.5px}

.fieldrow{display:flex;gap:12px;flex-wrap:wrap}
.fieldrow>*{flex:1 1 180px;min-width:0}
.fieldrow .narrow{flex:0 1 auto}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* ---------- tabulky ---------- */
.scroll{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:460px}
th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tan-soft);font-weight:500;padding:12px 14px;
  border-bottom:1px solid var(--line)}
td{padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
tr:last-child td{border-bottom:none}
td.k{color:var(--faint);white-space:nowrap;font-size:13px;width:34%}

/* ---------- drobnosti ---------- */
.flash{background:linear-gradient(135deg,rgba(201,164,124,.14),transparent);
  border:1px solid rgba(201,164,124,.3);border-left-width:3px;
  padding:13px 17px;border-radius:var(--r-sm);margin:18px 0;font-size:14px;color:var(--cream)}
.none-yet{color:var(--faint);font-size:14px;padding:26px 0;text-align:center}
.muted{color:var(--muted);font-size:13px}
.faint{color:var(--faint);font-size:12.5px}
code{font-family:var(--mono);font-size:12px;color:var(--tan);background:var(--bg);
  padding:2px 6px;border-radius:5px;border:1px solid var(--line-soft);word-break:break-all}
hr{border:none;border-top:1px solid var(--line);margin:26px 0}
.stack>*+*{margin-top:10px}

details.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:0;margin-bottom:10px;overflow:hidden}
details.panel>summary{padding:15px 18px;cursor:pointer;font-weight:600;color:var(--cream);
  font-size:14.5px;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.panel>summary::-webkit-details-marker{display:none}
details.panel>summary::after{content:"+";color:var(--tan-soft);font-size:18px;font-weight:400}
details.panel[open]>summary::after{content:"–"}
details.panel>summary:hover{background:var(--surface-2)}
details.panel .body{padding:0 18px 18px}

@media(max-width:768px){
  h1{margin-top:24px}
  .card{padding:15px}
  .item{padding:14px}
  .item .side{flex-direction:row;align-items:center}
  .count .n{font-size:24px}
  .motiv{gap:14px;padding:15px}
  .motiv .sep{display:none}
  .motiv .big{font-size:25px}
}

/* Tabulky uvnitř karty se musí vejít do karty — globální min-width platí
   jen pro samostatné přehledové tabulky v .scroll. */
.card table{min-width:0}
.card td{overflow-wrap:anywhere}
.card td.k{width:36%}
@media(max-width:768px){
  .card td,.card th{padding:10px 0}
  .card td.k{width:40%;font-size:12.5px}
}


/* ---------- přepínač Leady / Opportunity ---------- */
.seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);
  border-radius:11px;padding:3px;gap:3px;margin-bottom:14px}
.seg a{padding:7px 16px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--muted)}
.seg a.on{background:var(--tan);color:#1a140c}
.seg a em{font-style:normal;opacity:.65;margin-left:6px;font-family:var(--mono);font-size:11px}

/* ---------- filtry ---------- */
.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-end;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:13px 15px;margin-bottom:16px}
.filters label{margin:0 0 5px}
.filters .f{flex:1 1 150px;min-width:0}
.filters .f.sm{flex:0 1 120px}
.filters input,.filters select{padding:8px 11px;font-size:13.5px}
.filters .go{flex:0 0 auto}

/* ---------- týdenní plán ---------- */
.week{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1000px){ .week{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:560px){ .week{grid-template-columns:1fr} }
.day{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--r);
  padding:11px;min-height:110px}
.day.today{border-color:var(--tan-soft);background:linear-gradient(180deg,rgba(201,164,124,.09),transparent)}
.day.wknd{opacity:.72}
.day h5{margin:0 0 9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--tan-soft);font-weight:500;
  display:flex;justify-content:space-between;align-items:center}
.day.today h5{color:var(--tan)}
.act{background:var(--surface);border:1px solid var(--line);border-radius:9px;
  padding:9px;margin-bottom:7px;font-size:12.5px;line-height:1.45}
.act.done{opacity:.45}
.act .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--tan-soft);display:block;margin-bottom:3px}
.act a{color:var(--cream);font-weight:600;display:block}
.act .w{color:var(--faint);font-size:11px;margin-top:3px}
.day .none{color:var(--faint);font-size:11.5px;text-align:center;padding:12px 0}
.weeknav{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.weeknav .range{font-family:var(--mono);font-size:12.5px;color:var(--muted)}

/* ---------- dokumenty ---------- */
.doc{display:flex;gap:11px;align-items:flex-start;padding:11px 0;
  border-bottom:1px solid var(--line-soft)}
.doc:last-child{border-bottom:none}
.doc .m{flex:1;min-width:0}
.doc .t{font-size:13.5px;font-weight:600;color:var(--cream);overflow-wrap:anywhere}
.doc .p{font-family:var(--mono);font-size:11px;color:var(--faint);overflow-wrap:anywhere;margin-top:2px}

/* ---------- řádek statistik na přehledu ---------- */
.nums-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));
  margin-bottom:6px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.stat .l{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tan-soft)}
.stat .v{display:block;font-family:var(--serif);font-size:25px;font-weight:600;color:var(--cream);
  letter-spacing:-.02em;line-height:1.1;margin-top:5px;font-variant-numeric:tabular-nums}
.stat.alarm{border-color:rgba(217,114,90,.4)}
.stat.alarm .v{color:var(--rose)}
.stat.warn{border-color:rgba(224,163,92,.35)}
.stat.warn .v{color:var(--amber)}

/* ═══════════════════════════════════════════════════════════════
   ÚVODNÍ PŘEHLED — grafy
   Všechno je kreslené CSS pruhy a inline SVG. Žádná knihovna:
   systém musí fungovat i bez internetu a bez build kroku.
   ═══════════════════════════════════════════════════════════════ */

.den-hlava{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;margin-bottom:18px}
.den-hlava h1{margin-bottom:2px}
.den-hlava .sub{margin:0}

.novinky{display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line);border-radius:99px;
  padding:9px 18px;font-size:12.5px;color:var(--muted);box-shadow:var(--glow)}
.novinky .tit{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--faint)}
.novinky b{color:var(--cream);font-weight:600}
.novinky b.ok{color:var(--moss)}

/* --- velká čísla dne --- */
.hero{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  margin-bottom:22px}
.hero-box{display:block;padding:18px 20px;border-radius:var(--r);
  background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);box-shadow:var(--glow);color:var(--ink);
  transition:border-color .15s,transform .15s,box-shadow .15s}
a.hero-box:hover{border-color:var(--tan-soft);transform:translateY(-1px);box-shadow:var(--shadow)}
.hero-box .n{display:block;font-family:var(--serif);font-size:38px;line-height:1;
  font-weight:600;color:var(--cream);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hero-box .n.money{font-size:27px;letter-spacing:-.01em}
.hero-box .l{display:block;margin-top:8px;font-size:13px;color:var(--ink)}
.hero-box .pod{display:block;margin-top:5px;font-size:11.5px;color:var(--faint);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-box .pod.alarm{color:var(--rose)}
.hero-box.alarm{border-color:rgba(217,114,90,.42)}
.hero-box.alarm .n{color:var(--rose)}
.hero-box.warn{border-color:rgba(224,163,92,.36)}
.hero-box.warn .n{color:var(--amber)}

/* --- rámeček grafu --- */
.panel-g{background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 16px;
  box-shadow:var(--glow);margin-bottom:16px}
.panel-g>header{display:flex;gap:12px;align-items:baseline;justify-content:space-between;
  flex-wrap:wrap;margin-bottom:16px}
.panel-g h3{margin:0;font-family:var(--serif);font-size:16.5px;font-weight:600;
  color:var(--cream);letter-spacing:-.01em}
.panel-g>header span{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}
.panel-g>header span.ok{color:var(--moss)}
.panel-g>header span.bad{color:var(--rose)}
.grid.dva-tri{grid-template-columns:1.35fr 1fr;align-items:start}

.klic{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;
  font-size:11px;color:var(--faint);font-family:var(--mono);letter-spacing:.04em}
.klic i{display:inline-block;width:9px;height:9px;border-radius:2px;
  margin-right:5px;vertical-align:-1px}
.klic i.ok{background:var(--moss)}
.klic i.tan{background:var(--tan)}
.klic i.visi{border:1px solid rgba(201,164,124,.45);
  background:repeating-linear-gradient(135deg,rgba(201,164,124,.32) 0 2px,
                                       transparent 2px 5px)}

/* --- cíl roku s ukazatelem tempa --- */
.cil-cislo{font-family:var(--serif);font-size:32px;font-weight:600;color:var(--cream);
  letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.cil-cislo small{display:block;font-family:var(--sans);font-size:12.5px;
  font-weight:400;color:var(--faint);letter-spacing:0;margin-top:3px}
.cil-track{position:relative;height:12px;margin:18px 0 10px;
  background:rgba(0,0,0,.35);border-radius:99px;overflow:visible}
.cil-track i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--tan-soft),var(--amber))}
.cil-track b{position:absolute;top:-5px;width:2px;height:22px;border-radius:2px;
  background:var(--cream);box-shadow:0 0 0 3px var(--bg-2)}
.cil-pod{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--faint);
  font-variant-numeric:tabular-nums}

/* --- donut --- */
.donut-blok{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.donut{width:118px;height:118px;flex-shrink:0}
.donut circle{transition:stroke-dasharray .4s}
.donut .d-n{fill:var(--cream);font-family:var(--serif);font-size:7px;font-weight:600;
  text-anchor:middle}
.donut .d-l{fill:var(--faint);font-family:var(--mono);font-size:2.6px;
  letter-spacing:.14em;text-anchor:middle;text-transform:uppercase}
.legenda{list-style:none;margin:0;padding:0;flex:1;min-width:150px}
.legenda li{display:flex;gap:9px;align-items:center;padding:5px 0;font-size:12.5px;
  border-bottom:1px solid var(--line-soft)}
.legenda li:last-child{border-bottom:0}
.legenda i{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.legenda .k{color:var(--muted);flex:1}
.legenda .v{color:var(--cream);font-variant-numeric:tabular-nums;font-weight:600}

/* --- sloupcový graf tržeb --- */
.sloupce{position:relative;display:flex;gap:6px;align-items:flex-end;
  height:170px;padding-top:4px}
.sl{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;
  height:100%;text-align:center}
.sl .hodnota{font-family:var(--mono);font-size:9.5px;color:var(--faint);
  height:14px;letter-spacing:.02em}
.sl .stack{flex:1;display:flex;flex-direction:column;justify-content:flex-end;
  gap:2px;min-height:0}
.sl .stack i{display:block;border-radius:3px 3px 0 0;min-height:2px;
  transition:filter .15s}
.sl .stack i.ok{background:linear-gradient(180deg,var(--moss),rgba(138,167,110,.55))}
/* Šrafa, ne plná výplň: neuhrazené peníze nemají vypadat stejně jako přijaté. */
.sl .stack i.visi{border:1px solid rgba(201,164,124,.45);border-bottom:0;
  border-radius:3px 3px 0 0;
  background:repeating-linear-gradient(135deg,rgba(201,164,124,.32) 0 2px,
                                       transparent 2px 5px)}
.sl .popis{margin-top:7px;font-family:var(--mono);font-size:9.5px;color:var(--faint);
  letter-spacing:.03em;height:12px}
.sl .popis b{display:block;font-size:8px;color:var(--tan-soft);font-weight:400}
.sl.ted .stack i.ok{background:linear-gradient(180deg,var(--amber),rgba(224,163,92,.5))}
.sl.ted .popis{color:var(--amber)}
.sl:hover .stack i{filter:brightness(1.25)}
/* Linka pod sloupci: bez ní vypadá měsíc s nulou jako chyba vykreslení. */
.sloupce::after{content:'';position:absolute;left:0;right:0;bottom:19px;
  border-bottom:1px solid var(--line);pointer-events:none}
/* Plocha pro sloupce je 170px minus popisek dole (19) a hodnota nahoře (18). */
.prumer-linka{position:absolute;left:0;right:0;pointer-events:none;
  bottom:calc(19px + 133px * var(--p) / 100);
  border-top:1px dashed rgba(201,164,124,.35)}
.prumer-linka span{position:absolute;left:0;top:-14px;font-family:var(--mono);
  font-size:9px;color:var(--tan-soft);background:var(--bg-2);padding:0 6px 0 0;
  letter-spacing:.04em}

/* --- kalendář --- */
.kal-dny{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:6px}
.kal-dny span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  color:var(--faint);text-transform:uppercase;text-align:center}
.kal-tyden{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:5px}
.kal-den{min-height:62px;padding:6px 7px;border-radius:9px;background:var(--surface-2);
  border:1px solid transparent;overflow:hidden}
.kal-den.vikend{background:rgba(0,0,0,.18)}
.kal-den.pryc{opacity:.38}
.kal-den.plno{background:var(--raised);border-color:var(--line)}
.kal-den.dnes{border-color:var(--tan);background:var(--tan-dim)}
.kal-den .cis{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);
  margin-bottom:3px;font-variant-numeric:tabular-nums}
.kal-den.dnes .cis{color:var(--cream);font-weight:600}
.kal-den .cis em{font-style:normal;color:var(--tan-soft);margin-left:3px;font-size:9px;
  text-transform:uppercase;letter-spacing:.06em}
.kal-den .ud{display:block;font-size:10px;line-height:1.35;margin-bottom:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kal-den .ud.montaz{color:var(--moss)}
.kal-den .ud.expedice{color:var(--tan)}
.kal-den .ud:hover{color:var(--cream)}
.kal-den .vic{font-family:var(--mono);font-size:9px;color:var(--faint)}
.kal-den .tecky{display:block;color:var(--tan-soft);font-size:15px;line-height:.9;
  letter-spacing:1px}

/* --- funnel --- */
.funnel{display:flex;flex-direction:column;gap:3px}
.fz{display:grid;grid-template-columns:118px 1fr 26px 84px;gap:10px;align-items:center;
  padding:6px 8px;border-radius:8px;color:var(--ink);transition:background .15s}
.fz:hover{background:var(--surface-2);color:var(--ink)}
.fz .lbl{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.fz .bar{height:16px;background:rgba(0,0,0,.28);border-radius:5px;overflow:hidden}
.fz .bar i{display:block;height:100%;border-radius:5px;min-width:2px}
.fz.lead .bar i{background:linear-gradient(90deg,rgba(201,164,124,.45),var(--tan-soft))}
.fz.opp .bar i{background:linear-gradient(90deg,var(--tan-soft),var(--amber))}
.fz .poc{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--cream);
  text-align:right;font-variant-numeric:tabular-nums}
.fz .hod{font-size:11.5px;color:var(--faint);text-align:right;
  font-variant-numeric:tabular-nums}
.fz.nula{opacity:.4}
.fz.nula .poc{color:var(--faint)}

/* --- křivka poptávek --- */
.spark{width:100%;height:64px;display:block}
.spark-pod{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;
  font-size:11.5px;color:var(--faint);margin-top:6px}
.spark-pod b{color:var(--cream)}
.nums-row.male{margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.nums-row.male .stat{padding:9px 11px}
.nums-row.male .stat .v{font-size:19px}

/* --- vytížení týmu --- */
.tym{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.clen{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
  padding:11px 13px;border-radius:10px;background:var(--surface-2);
  border:1px solid transparent;color:var(--ink);transition:border-color .15s}
.clen:hover{border-color:var(--tan-soft);color:var(--ink)}
.clen.ja{background:var(--tan-dim);border-color:rgba(201,164,124,.28)}
.clen .jm{font-size:13.5px;color:var(--cream);font-weight:600;min-width:58px}
.clen .jm em{font-style:normal;font-family:var(--mono);font-size:8.5px;color:var(--tan-soft);
  letter-spacing:.1em;text-transform:uppercase}
.clen .bar{position:relative;height:8px;background:rgba(0,0,0,.3);border-radius:99px}
.clen .bar i{position:absolute;inset:0 auto 0 0;border-radius:99px;
  background:var(--tan-soft);min-width:3px}
.clen .bar u{position:absolute;inset:0 auto 0 0;border-radius:99px;
  background:var(--rose);min-width:3px}
.clen .cis{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--cream);
  font-variant-numeric:tabular-nums}
.clen .det{grid-column:1/-1;font-size:11px;color:var(--faint);margin-top:-3px}
.clen .det b.bad{color:var(--rose);font-weight:500}

@media (max-width:900px){
  .grid.dva-tri{grid-template-columns:1fr}
  .fz{grid-template-columns:96px 1fr 24px}
  .fz .hod{display:none}
}
@media (max-width:640px){
  /* Na telefonu dvě dlaždice vedle sebe — jinak se k obsahu roluje přes půl stránky. */
  .hero{grid-template-columns:1fr 1fr;gap:9px}
  .hero-box{padding:13px 14px}
  .hero-box .n{font-size:27px}
  .hero-box .n.money{font-size:17px}
  .hero-box .l{margin-top:5px;font-size:12px;line-height:1.35}
  .hero-box .pod{font-size:10.5px;white-space:normal}
  .panel-g{padding:15px 15px 13px}
  .sloupce{height:140px}
  .sl .hodnota{display:none}
  .kal-den{min-height:46px;padding:4px 5px}
  .kal-den .ud{font-size:0;line-height:0;height:7px;margin-bottom:3px;border-radius:99px}
  .kal-den .ud.montaz{background:var(--moss)}
  .kal-den .ud.expedice{background:var(--tan)}
  .novinky{width:100%;border-radius:var(--r)}
}

/* Výběr souboru — systémové tlačítko je anglicky a nejde přeložit,
   tak se schová a klikací zůstane vlastní popisek. */
label.soubor{display:block;position:relative;cursor:pointer;margin-bottom:14px}
label.soubor input[type=file]{position:absolute;inset:0;opacity:0;width:100%;
  height:100%;cursor:pointer}
label.soubor span{display:flex;align-items:center;gap:9px;min-height:46px;
  padding:11px 16px;border:1px dashed var(--line);border-radius:var(--r-sm);
  background:var(--surface-2);color:var(--muted);font-size:14px;
  overflow-wrap:anywhere;transition:border-color .15s,color .15s;
  /* bez tohohle zdědí velká písmena a prostrkání po .label a vypadá jako popisek */
  text-transform:none;letter-spacing:normal;font-family:var(--sans)}
label.soubor span::before{content:"↑";font-family:var(--mono);color:var(--tan);
  font-size:15px;flex-shrink:0}
label.soubor:hover span{border-color:var(--tan-soft);color:var(--ink)}
label.soubor input:focus-visible + span{outline:2px solid var(--tan);outline-offset:2px}

/* ═══ Forecast ═══ */
.rok-prep,.mesic-prep{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.mesic-prep{margin-bottom:0}

/* Roční pruh je klikací — každý měsíc je odkaz na svůj detail. */
.sloupce.fc{height:158px}
.sloupce.fc .sl{text-decoration:none;border-radius:8px;padding:0 2px;
  transition:background .15s}
.sloupce.fc .sl:hover{background:rgba(255,255,255,.03)}
/* Zvýraznění vybraného měsíce je jen u popisku. Kdyby barvilo celý sloupec,
   vypadal by prázdný měsíc vyšší než ten s největším forecastem. */
.sloupce.fc .sl.vybrany .popis{color:var(--cream);font-weight:500;
  background:var(--tan-dim);border-radius:5px}
.sloupce.fc .sl.ted .popis{color:var(--amber)}
.sloupce.fc .sl.pryc{opacity:.45}
.sloupce.fc .stack{position:relative;padding-top:0}
.sloupce.fc .hodnota{position:absolute;left:0;right:0;margin-bottom:3px;
  font-family:var(--mono);font-size:9.5px;color:var(--muted);
  text-align:center;font-style:normal;text-decoration:none;line-height:1}
/* Vážený sloupec stojí před hrubým, ne nad ním — jsou to dva pohledy
   na totéž číslo, ne dvě části jednoho součtu. */
.sloupce.fc .stack i{position:absolute;bottom:0;border-radius:3px 3px 0 0}
.sloupce.fc .stack i.hruby{left:0;right:0;background:var(--tan-dim);
  border:1px solid rgba(201,164,124,.4);border-bottom:0}
.sloupce.fc .stack i.vazeny{left:22%;right:22%;
  background:linear-gradient(180deg,var(--moss),rgba(138,167,110,.55))}
.sloupce.fc .sl.ted .stack i.vazeny{background:linear-gradient(180deg,var(--amber),rgba(224,163,92,.5))}

.jistoty{display:flex;flex-direction:column;gap:3px;margin-bottom:18px}
.jr{display:grid;grid-template-columns:104px 1fr 26px 92px;gap:10px;align-items:center;
  padding:6px 8px;border-radius:8px}
.jr .lbl{font-size:12.5px;color:var(--muted)}
.jr .bar{height:15px;background:rgba(0,0,0,.28);border-radius:5px;overflow:hidden}
.jr .bar i{display:block;height:100%;border-radius:5px;min-width:2px}
.jr.nizka   .bar i{background:rgba(201,164,124,.35)}
.jr.stredni .bar i{background:var(--tan-soft)}
.jr.vysoka  .bar i{background:linear-gradient(90deg,var(--tan-soft),var(--moss))}
.jr.jista   .bar i{background:var(--moss)}
.jr .poc{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--cream);
  text-align:right;font-variant-numeric:tabular-nums}
.jr .hod{font-size:11.5px;color:var(--faint);text-align:right;
  font-variant-numeric:tabular-nums}
.jr.nula{opacity:.4}

h3.skup{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--faint);font-weight:500;
  margin:22px 0 9px;display:flex;justify-content:space-between;gap:10px}
h3.skup .faint{font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:12px}

@media (max-width:640px){
  .jr{grid-template-columns:82px 1fr 24px}
  .jr .hod{display:none}
  .sloupce.fc{height:126px}
  /* Tři přepínače roku se musí vejít do jednoho řádku, jinak to skáče. */
  .rok-prep{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:6px}
  .rok-prep .btn{padding:9px 6px;font-size:12.5px;text-align:center;white-space:nowrap}
  .sloupce.fc .sl{padding:0}
  .sloupce.fc .popis{font-size:8.5px;letter-spacing:0}
}
/* Dlaždice statistik, které jsou odkazem. */
a.stat{display:block;color:var(--ink);transition:border-color .15s,transform .15s}
a.stat:hover{border-color:var(--tan-soft);transform:translateY(-1px);color:var(--ink)}
/* Čtyři signály pipeline ať stojí v pravidelné mřížce 2 × 2 — na auto-fit
   se v úzkém sloupci poslední dlaždice odlomí sama na řádek. */
.nums-row.male.fc-staty{grid-template-columns:repeat(2,1fr);margin-top:10px}

/* ═══ Oživovací e-mail ═══ */
.ref-vyber{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.refbox{position:relative;display:block;cursor:pointer;border-radius:9px;
  overflow:hidden;border:2px solid transparent;background:#fffaf4;
  transition:border-color .15s,transform .15s}
.refbox:hover{transform:translateY(-2px)}
.refbox input{position:absolute;opacity:0;pointer-events:none}
.refbox img{display:block;width:100%;height:auto}
.refbox span{display:block;padding:4px 6px 5px;font-size:10.5px;text-align:center;
  background:var(--surface-2);color:var(--muted);
  font-family:var(--mono);letter-spacing:.03em}
.refbox:has(input:checked){border-color:var(--tan)}
.refbox:has(input:checked) span{background:var(--tan);color:#1a140c}
.refbox input:focus-visible ~ img{outline:2px solid var(--tan);outline-offset:-2px}

.mail-ramecek{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.mail-lista{display:flex;align-items:center;gap:10px;padding:10px 14px;
  border-bottom:1px solid var(--line);background:var(--surface-2)}
.mail-lista .tecky{width:9px;height:9px;border-radius:50%;background:var(--tan-soft);
  box-shadow:14px 0 0 var(--line),28px 0 0 var(--line);flex-shrink:0;margin-right:26px}
.mail-lista .predmet{font-size:13px;color:var(--cream);font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-nahled{display:block;width:100%;height:1180px;border:0;background:#f3ece2}

@media (max-width:900px){
  .mail-nahled{height:900px}
}
@media (max-width:640px){
  .ref-vyber{grid-template-columns:repeat(2,1fr)}
}
.flash.nabidka{display:flex;gap:14px;align-items:center;justify-content:space-between;
  flex-wrap:wrap}
.flash.nabidka .btn{flex-shrink:0}
/* Formulář vedle náhledu, na užší obrazovce pod sebou.
   minmax(0,…) je tu schválně — bez něj by náhled roztáhl mřížku nad šířku okna. */
.oziv-grid{display:grid;gap:18px;align-items:start;
  grid-template-columns:minmax(0,380px) minmax(0,1fr)}
@media (max-width:980px){
  .oziv-grid{grid-template-columns:minmax(0,1fr)}
}

/* Digitální stopa — kdo a kdy. Drobné, ale vždy vidět bez rozklikávání:
   stopa, kterou nikdo nevidí, se nekontroluje. */
.stopa{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.02em;color:var(--faint);white-space:nowrap}
.stopa.hotovo{color:var(--moss)}
.stopa-radek{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
@media (max-width:640px){
  .stopa{white-space:normal}
  .stopa-radek{gap:4px 12px}
}

/* ═══ Osa výroby ═══
   Šest fází. Vodorovně na širokém displeji, svisle na telefonu — šest popisků
   vedle sebe by na 375 px bylo nečitelných. */
.osa-obal{margin-top:18px;overflow-x:auto;padding-bottom:4px}
.osa{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;
  min-width:540px;padding-top:4px}
/* Čára musí být vidět i tam, kde ještě nic hotového není — je to kostra osy. */
.osa-cara{position:absolute;top:19px;left:8%;right:8%;height:3px;
  background:rgba(201,164,124,.2);border-radius:99px;overflow:hidden}
.osa-cara i{display:block;height:100%;width:var(--hotovo,0%);border-radius:99px;
  background:linear-gradient(90deg,var(--moss),var(--tan));
  transition:width .4s cubic-bezier(.4,0,.2,1)}

.osa-bod{margin:0;position:relative;z-index:1}
.osa-bod button{display:flex;flex-direction:column;align-items:center;gap:9px;
  width:100%;padding:0 3px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);color:var(--faint);transition:color .15s}
.osa-bod .tecka{display:grid;place-items:center;width:38px;height:38px;
  border-radius:50%;background:var(--surface);border:2px solid var(--line);
  transition:transform .2s cubic-bezier(.34,1.3,.64,1),border-color .2s,
             background .2s,box-shadow .2s}
.osa-bod .ik{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.osa-bod .popis{font-size:11.5px;line-height:1.3;text-align:center;
  max-width:13ch;overflow-wrap:anywhere}
.osa-bod .kdy{font-family:var(--mono);font-size:9px;letter-spacing:.06em;
  color:var(--faint);opacity:.75;min-height:11px}

.osa-bod.hotovo .tecka{background:rgba(138,167,110,.16);border-color:var(--moss);
  color:var(--moss)}
.osa-bod.hotovo button{color:var(--muted)}
.osa-bod.ted .tecka{background:var(--tan);border-color:var(--tan);color:#1a140c;
  transform:scale(1.14);box-shadow:0 0 0 6px var(--tan-dim)}
.osa-bod.ted button{color:var(--cream)}
.osa-bod.ted .popis{font-weight:600}
.osa-bod.ted .kdy{color:var(--tan)}
.osa-bod.blok button{cursor:not-allowed;opacity:.42}
.osa-bod.blok .tecka{border-style:dashed}
.osa-bod button:not(:disabled):hover .tecka{transform:scale(1.1);border-color:var(--tan-soft)}
.osa-bod.ted button:hover .tecka{transform:scale(1.2)}
.osa-bod button:not(:disabled):hover{color:var(--cream)}
.osa-bod button:focus-visible .tecka{outline:2px solid var(--tan);outline-offset:3px}
.osa-pod{margin-top:15px;font-size:12.5px}
.osa-pod b{color:var(--cream)}

/* Vysvětlení, proč to dál nejde. Ne hláška, která zmizí — stojí tam,
   dokud se to nedoplní. */
.zamek{margin-top:16px;background:var(--surface-2);border:1px solid rgba(224,163,92,.3);
  border-left:3px solid var(--amber);border-radius:12px;padding:15px 18px}
.zamek-hlava{display:flex;align-items:center;gap:9px;color:var(--amber);
  margin-bottom:7px}
.zamek-hlava .ik{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.zamek-hlava b{font-size:14.5px}
.zamek p{margin:0;font-size:13px;color:var(--muted)}
.zamek ul{margin:10px 0 0;padding-left:19px;font-size:13.5px;color:var(--ink)}
.zamek li{margin-bottom:4px}
.zamek .kde{margin-top:11px;font-size:12px}
.zamek .kde b{color:var(--cream)}

/* Od 1. 10. 2026 je fází osm místo šesti, takže se vedle sebe nevejdou dřív —
   hranice svislého režimu se proto posunula ze 700 na 900 px. */
@media (max-width:900px){
  .osa-obal{overflow:visible}
  .osa{grid-auto-flow:row;grid-auto-columns:auto;min-width:0;padding-left:4px}
  .osa-cara{top:10px;bottom:26px;left:23px;right:auto;width:3px;height:auto}
  .osa-cara i{width:100%;height:var(--hotovo,0%)}
  .osa-bod button{flex-direction:row;gap:14px;justify-content:flex-start;
    padding:8px 0;width:auto;align-items:center}
  .osa-bod .popis{max-width:none;text-align:left;font-size:14px;flex:1}
  .osa-bod .kdy{min-height:0}
  .osa-bod.ted .tecka,.osa-bod button:hover .tecka,
  .osa-bod.ted button:hover .tecka{transform:scale(1.06)}
}

/* Přehození vlastníka — rozbalovací seznam, který vypadá jako štítek */
.kdo-form{display:inline-flex;margin:0}
.kdo-select{appearance:none;-webkit-appearance:none;
  width:auto;flex:0 0 auto;max-width:150px;
  padding:3px 20px 3px 9px;border-radius:99px;font-size:11.5px;font-weight:600;
  font-family:var(--sans);cursor:pointer;border:1px solid var(--line);
  background:var(--surface-2) no-repeat right 7px center;color:var(--muted);
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),
                   linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-size:4px 4px,4px 4px;
  background-position:calc(100% - 11px) 12px,calc(100% - 7px) 12px;
  transition:border-color .15s,color .15s}
.kdo-select:hover{border-color:var(--tan-soft);color:var(--cream)}
.kdo-select.ja{background-color:var(--tan-dim);color:var(--tan);
  border-color:rgba(201,164,124,.3)}
.kdo-select.petr{background-color:rgba(201,164,124,.9);color:#1a140c;border-color:transparent}

/* Příznak dodání — co se s tím stane a dokdy. Jeden vzhled napříč systémem. */
.dod{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;
  border-radius:99px;font-size:12px;border:1px solid var(--line);
  background:var(--surface-2);white-space:nowrap;vertical-align:middle}
.dod b{font-size:9px;line-height:1;font-weight:400}
.dod .co{font-weight:600;color:var(--ink)}
.dod .kdy{color:var(--cream);font-variant-numeric:tabular-nums}
.dod .kde{color:var(--muted)}
.dod .kde::before,.dod .dnu::before{content:"·";margin-right:6px;color:var(--faint)}
.dod .dnu{color:var(--muted);font-size:11.5px}
.dod.montaz{border-color:rgba(138,167,110,.4);background:rgba(138,167,110,.1)}
.dod.montaz b{color:var(--moss)}
.dod.expedice{border-color:rgba(201,164,124,.35);background:var(--tan-dim)}
.dod.expedice b{color:var(--tan)}
.dod.now{border-color:rgba(224,163,92,.45)}
.dod.now .dnu{color:var(--amber)}
.dod.late{border-color:rgba(217,114,90,.5);background:rgba(217,114,90,.1)}
.dod.late .dnu{color:var(--rose);font-weight:600}
/* U obchodu je to zatím jen přání klienta, ne potvrzený termín. */
.dod.chce{border-style:dashed}
.dod.chce .kdy{color:var(--ink)}
.dod.maly{font-size:11px;padding:3px 9px 3px 7px;gap:5px}
.dod.maly .dnu,.dod.maly .kde{display:none}
@media (max-width:640px){
  .dod{white-space:normal}
  .dod .kde{display:none}
}

/* Plán aktivit: den = jedna karta přes celou šířku, měsíc = kalendářní mřížka,
   dny z okolních měsíců se ztlumí, ať je vidět, kde měsíc začíná a končí. */
.week.jeden-den{grid-template-columns:1fr}
.week .day.mimo{opacity:.45}

/* Rychlé filtry podle fáze nad seznamem zakázek */
.faze-filtr{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 14px}
.faze-chip{display:flex;align-items:baseline;gap:7px;padding:7px 13px;border-radius:99px;
  border:1px solid var(--line);background:var(--bg-card);text-decoration:none;
  color:var(--muted);transition:border-color .14s ease,color .14s ease,background .14s ease}
.faze-chip .n{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--cream);
  font-variant-numeric:tabular-nums}
.faze-chip .l{font-size:12.5px}
.faze-chip:hover{border-color:var(--tan-soft);color:var(--cream)}
.faze-chip.on{background:var(--tan);border-color:var(--tan);color:#1a140c}
.faze-chip.on .n{color:#1a140c}
.faze-chip.prazdna{opacity:.45}
@media(max-width:560px){ .faze-chip{padding:6px 10px} .faze-chip .l{font-size:11.5px} }

/* Zadání pro výrobu — čte to Petr v dílně, proto monospace a velké řádkování */
.spec-text{margin:12px 0 0;padding:14px 16px;border-radius:12px;white-space:pre-wrap;
  background:rgba(255,255,255,.03);border:1px solid var(--line-soft);
  font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--cream)}
.spec-edit{margin-top:12px}
.spec-edit summary{cursor:pointer;font-size:13px;color:var(--tan);list-style:none}
.spec-edit summary::-webkit-details-marker{display:none}
.spec-edit summary::before{content:"✎ "}
.spec-edit textarea{width:100%;margin-top:10px;font-family:var(--mono);font-size:13px;
  line-height:1.7;resize:vertical}


/* ---- Lupa (zvětšení) ---- */
.lupa{position:fixed;inset:0;z-index:95;display:flex;align-items:center;
  justify-content:center;gap:10px;padding:18px;
  background:rgba(10,8,6,.72);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.lupa[hidden]{display:none}
.lupa-ram{margin:0;max-width:min(100%,1180px);border-radius:22px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 90px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.2)}
.lupa-ram img{display:block;max-width:100%;max-height:78vh;object-fit:contain;background:#14100c}
.lupa-ram figcaption{padding:11px 16px;font-size:13px;color:var(--cream);
  background:rgba(255,255,255,.07)}
.lupa-x,.lupa-sip{border:1px solid rgba(255,255,255,.18);border-radius:50%;
  background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#fff;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}
.lupa-x{position:absolute;top:16px;right:18px;width:42px;height:42px;font-size:26px;line-height:1}
.lupa-sip{width:46px;height:46px;font-size:30px;line-height:1}
.lupa-x:hover,.lupa-sip:hover{background:rgba(255,255,255,.2)}
@media(max-width:560px){
  .lupa{padding:10px;gap:4px}
  .lupa-sip{width:38px;height:38px;font-size:24px}
  .lupa-ram img{max-height:68vh}
}


/* ===================== DETAIL ZAKÁZKY (2. 10. 2026) =====================
   Pořadí odpovídá otázkám výroby: co mám udělat teď → co se vyrábí →
   podle čeho → do kdy → kde jsme v celku. Jedno místo pravdy = fáze. */
.zk{max-width:1120px;margin:0 auto}
.zk-hlava{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;justify-content:space-between;margin:8px 0 16px}
.zk-hlava h1{margin:4px 0 8px;font-size:clamp(24px,4.5vw,34px)}
.zk-meta{display:flex;flex-wrap:wrap;gap:6px}
.termin{display:inline-flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:12px;
  background:rgba(201,164,124,.12);border:1px solid rgba(201,164,124,.35)}
.termin b{font-family:var(--serif);font-size:22px;color:var(--tan);line-height:1}
.termin small{color:var(--muted);font-size:12px}
.termin.pozde{background:rgba(217,114,90,.12);border-color:rgba(217,114,90,.45)}
.termin.pozde b,.termin.pozde small:last-child{color:var(--rose)}
.termin.prazdny{opacity:.7}
/* fáze — tenký pruh */
.faze{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:0 0 6px}
.faze i{display:block;height:6px;border-radius:99px;background:var(--line)}
.faze i.ok{background:var(--moss)}
.faze i.ted{background:var(--tan);box-shadow:0 0 0 3px rgba(201,164,124,.18)}
.faze-popis{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:0 0 18px;
  font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);line-height:1.3}
.faze-popis span{overflow:hidden;text-overflow:ellipsis}
.faze-popis .ok{color:var(--muted)} .faze-popis .ted{color:var(--tan);font-weight:700}
@media(max-width:600px){ .faze-popis{display:none} }
/* mřížka a karty */
.zk-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start}
.zk-sloupec{display:grid;gap:16px;min-width:0}
@media(max-width:860px){.zk-grid{grid-template-columns:1fr}}
.karta{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);min-width:0}
.karta h2{font-size:11.5px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
/* teď na řadě */
.ted-karta{border-color:rgba(201,164,124,.45);background:linear-gradient(160deg,rgba(201,164,124,.10),var(--surface) 60%)}
.ted-krok{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--cream);line-height:1.2;margin:0 0 6px}
.ted-popis{color:var(--muted);font-size:13.5px;margin:0 0 14px;line-height:1.45}
.btn-hotovo{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:12px;border:none;
  background:var(--moss);color:#101409;font-weight:700;font-size:15px;cursor:pointer;max-width:100%;text-align:left}
.btn-hotovo{flex-wrap:wrap}
.btn-hotovo .hot{white-space:nowrap}
.btn-hotovo .dal{font-weight:500;opacity:.8;font-size:13px;text-align:left}
.btn-hotovo:hover{filter:brightness(1.08)}
.dalsi-form{display:grid;gap:8px;justify-items:start}
.dalsi-label{font-size:12px;color:var(--muted);margin-bottom:-4px}
.dalsi-form input[type=date]{max-width:220px}
.zaloha-form{margin:0 0 12px}
.prepinac{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:99px;
  border:1px solid var(--line);background:var(--raised);color:var(--muted);font-size:13px;cursor:pointer}
.prepinac .kolecko{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);display:block}
.prepinac.on{border-color:var(--moss);color:var(--cream)}
.prepinac.on .kolecko{background:var(--moss);border-color:var(--moss)}
.blok{padding:10px 12px;border-radius:10px;background:rgba(217,114,90,.1);border:1px solid rgba(217,114,90,.35);font-size:13px;color:var(--cream);margin:0 0 12px}
.blok b{color:var(--rose)} .blok ul{margin:6px 0 0 18px;padding:0}
/* co se vyrábí */
.dlazdice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.dl{display:block;text-decoration:none;color:var(--muted);font-size:11px;text-align:center;line-height:1.3}
.dl img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.14);display:block;margin-bottom:6px;
  background:var(--raised);transition:transform .15s;cursor:zoom-in}
.dl:hover img{transform:translateY(-2px)}
.dl .zdroj{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--moss);margin-top:2px}
.spec{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;line-height:1.5;margin:0}
.spec dt{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px;white-space:nowrap}
.spec dd{margin:0;color:var(--cream)}
.spec dd.pozor{color:var(--amber)}
@media(max-width:480px){ .spec{grid-template-columns:1fr;gap:2px 0} .spec dd{margin-bottom:6px} }
/* postup */
.postup{list-style:none;margin:0;padding:0}
.postup li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.postup li:last-child{border:none}
.postup .o{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);flex:0 0 24px;display:grid;place-items:center;font-size:12px;color:var(--muted)}
.postup li.ok .o{border-color:var(--moss);background:rgba(138,167,110,.16);color:var(--moss)}
.postup li.ok .t{color:var(--faint)}
.postup li.ted .o{border-color:var(--tan);color:var(--tan);box-shadow:0 0 0 3px rgba(201,164,124,.18)}
.postup li.ted .t{color:var(--cream);font-weight:650}
.postup .t{flex:1;min-width:0}
.postup .k{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-align:right;white-space:nowrap}
.postup li.mez{padding:10px 12px;margin:6px 0;border-radius:10px;background:rgba(201,164,124,.08);border:1px solid var(--line-soft)}
.postup li.mez.pozde{background:rgba(217,114,90,.08);border-color:rgba(217,114,90,.35)}
.postup li.mez.pozde .k{color:var(--rose)}
/* úkoly + soubory */
.pridat-ukol,.hotove-ukoly{margin-top:10px}
.pridat-ukol summary,.hotove-ukoly summary{cursor:pointer;font-size:13px;color:var(--tan)}
.pridat-ukol form{margin-top:10px}
.sb{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sb a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;border:1px solid var(--line-soft);
  text-decoration:none;color:var(--cream);font-size:13px;min-width:0}
.sb a:hover{border-color:var(--tan)}
.sb .typ{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.07);color:var(--tan);min-width:40px;text-align:center;flex:0 0 auto}
.sb .jm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb .druh{font-family:var(--mono);font-size:10px;color:var(--faint);flex:0 0 auto}
@media(max-width:480px){ .sb .druh{display:none} .sb .jm{white-space:normal} }

/* ===================== LIQUID GLASS (2. 10. 2026) =====================
   Sklo = průsvitná plocha s rozostřeným pozadím, světelná hrana nahoře a
   měkký stín dole. Pozadí stránky má barevné skvrny, aby bylo co rozmazat.
   Rozostření jen na vrchních kartách, hlavičce a liště — vnořené plochy
   (stat, sloupec) jsou jen průsvitné, jinak by telefon trhal. */
:root{
  --glass:rgba(46,36,25,.46);
  --glass-2:rgba(255,240,220,.045);
  --glass-line:rgba(255,236,214,.10);
  --glass-hi:rgba(255,240,220,.11);
  --blur:blur(22px) saturate(1.45);
  --ease:cubic-bezier(.2,.7,.2,1);
}
body{
  background:
    radial-gradient(900px 540px at 6% -8%, rgba(201,164,124,.16), transparent 60%),
    radial-gradient(760px 500px at 102% 2%, rgba(138,167,110,.10), transparent 58%),
    radial-gradient(1100px 760px at 48% 112%, rgba(224,163,92,.09), transparent 62%),
    var(--bg);
}
.card,.karta,.hero-box,.motiv,.flash,.col,.ted-karta,.dlazdice .dl,.sb a{
  background:linear-gradient(160deg,rgba(255,240,220,.06),rgba(255,240,220,.012) 58%),var(--glass);
  border:1px solid var(--glass-line);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 1px 2px rgba(0,0,0,.35),0 18px 42px -24px rgba(0,0,0,.85);
}
.card,.karta,.hero-box,.motiv{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.card.flat{box-shadow:inset 0 1px 0 var(--glass-hi)}
.stat{background:var(--glass-2);border:1px solid var(--glass-line);
  box-shadow:inset 0 1px 0 rgba(255,240,220,.07)}
.col{background:rgba(255,240,220,.03)}
.col .lead{background:var(--glass-2);border:1px solid var(--glass-line);
  box-shadow:inset 0 1px 0 rgba(255,240,220,.06)}
.ted-karta{background:linear-gradient(160deg,rgba(201,164,124,.16),rgba(201,164,124,.04) 60%),var(--glass);
  border-color:rgba(201,164,124,.28)}
nav{background:linear-gradient(180deg,rgba(255,240,220,.035),transparent),rgba(20,16,9,.68);
  border-bottom:1px solid var(--glass-line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
input,select,textarea{background:rgba(0,0,0,.26);border-color:var(--glass-line);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
input:focus,select:focus,textarea:focus{border-color:var(--tan-soft);box-shadow:inset 0 1px 2px rgba(0,0,0,.35),0 0 0 3px rgba(201,164,124,.18)}

/* pohyb: lehký, jednou, a nikdy proti nastavení systému */
button,.btn{transition:transform .12s var(--ease),filter .15s,box-shadow .2s}
button:active,.btn:active,.stisk{transform:scale(.97)}
.hero-box,.card,.karta{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .2s}
a.hero-box:hover,a.card:hover{transform:translateY(-2px);border-color:rgba(201,164,124,.35);
  box-shadow:inset 0 1px 0 var(--glass-hi),0 2px 4px rgba(0,0,0,.35),0 26px 48px -24px rgba(0,0,0,.9)}
@media (prefers-reduced-motion:no-preference){
  @keyframes vznik{from{opacity:0;transform:translateY(10px)}}
  .wrap>*{animation:vznik .5s var(--ease) both}
  .wrap>*:nth-child(2){animation-delay:.04s}.wrap>*:nth-child(3){animation-delay:.08s}
  .wrap>*:nth-child(4){animation-delay:.12s}.wrap>*:nth-child(5){animation-delay:.16s}
  .wrap>*:nth-child(n+6){animation-delay:.2s}
}

/* ---- hlavička na telefonu: jedna lišta 54 px ---- */
.avatar .ini{display:none}
.plus .ic{font-size:16px;line-height:1;margin-top:-1px}
@media(max-width:768px){
  nav .inner{min-height:54px;gap:8px;padding:0 14px}
  .brand{margin-right:auto}
  nav .right{gap:8px}
  nav .right .jen-desk{display:none}
  nav .right .t{display:none}
  nav .right .plus{width:38px;height:38px;padding:0;border-radius:12px}
  nav .right .plus .ic{font-size:22px;margin:0}
  nav .right .avatar{width:38px;height:38px;padding:0;border-radius:50%;font-weight:700;font-size:14px;
    background:var(--glass-2);border-color:var(--glass-line)}
  .avatar .ini{display:inline}
  h1{margin-top:22px}
  .wrap{padding-left:16px;padding-right:16px}
}

/* ---- spodní lišta + panel „Více" ---- */
@media(max-width:768px){
  .tabbar{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr;
    background:linear-gradient(180deg,rgba(255,240,220,.04),transparent),rgba(20,16,9,.70);
    border-top:1px solid var(--glass-line);
    -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
  .tabbar button{background:transparent;border:0;box-shadow:none;display:flex;flex-direction:column;
    align-items:center;gap:3px;padding:8px 4px;border-radius:10px;color:var(--faint);
    font-size:11px;font-weight:600;font-family:inherit;line-height:1.3}
  .tabbar button.on,.tabbar button[aria-expanded="true"]{color:var(--tan);background:var(--tan-dim)}
}
.sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;
  background:rgba(8,6,4,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sheet[hidden]{display:none}
.sheet-telo{width:100%;max-height:80vh;overflow:auto;
  background:linear-gradient(180deg,rgba(255,240,220,.075),rgba(255,240,220,.02) 40%),rgba(30,24,16,.9);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border-radius:24px 24px 0 0;border-top:1px solid rgba(255,236,214,.16);
  box-shadow:0 -20px 60px rgba(0,0,0,.5);
  padding:10px 16px calc(84px + env(safe-area-inset-bottom));
  animation:vyjet .32s var(--ease)}
@keyframes vyjet{from{transform:translateY(28px);opacity:0}}
@media (prefers-reduced-motion:reduce){ .sheet-telo{animation:none} }
.sheet .grip{width:38px;height:4px;border-radius:99px;background:rgba(255,240,220,.2);margin:4px auto 16px}
.sheet-mrizka{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sheet-mrizka form{display:contents}
.sheet-mrizka a,.sheet-mrizka button{display:flex;flex-direction:column;align-items:center;gap:7px;
  width:100%;padding:15px 6px 13px;border-radius:16px;background:rgba(255,240,220,.05);
  border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 rgba(255,240,220,.07);
  color:var(--ink);font-size:12.5px;font-weight:600;font-family:inherit;line-height:1.2;text-align:center}
.sheet-mrizka .ic{font-size:22px;line-height:1;color:var(--tan)}
.sheet-pata{display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:16px;color:var(--muted);font-size:13px}
body.sheet-open{overflow:hidden}

/* ---- filtry: na telefonu sbalené pod tlačítkem s počtem ---- */
.filtr-btn{display:none}
@media(max-width:768px){
  .filtr-btn{display:inline-flex;gap:7px;margin:0 0 12px;padding:9px 14px}
  .filtr-btn .ic{color:var(--tan);font-size:15px;line-height:1}
  .filtr-btn em{font-style:normal;background:var(--tan);color:#1a140c;border-radius:99px;
    padding:0 7px;font-size:11.5px;font-weight:700;line-height:18px}
  form.filters.sbal{display:none}
  form.filters.sbal.open{display:flex;animation:vznik .3s var(--ease)}
}

/* ---- pipeline na telefonu: sloupce pod sebou, prázdné jen jako řádek ---- */
@media(max-width:768px){
  .board{flex-direction:column;overflow:visible;gap:10px;padding:0 0 8px}
  .col{flex:none;width:100%}
  .col:has(> .none){padding:10px 14px;opacity:.6}
  .col:has(> .none) h4{margin:0}
  .col:has(> .none) .none{display:none}
}

/* ===================== ÚVODNÍ STRÁNKA VE VRSTVÁCH (2. 10. 2026) =====================
   Dnes → Peníze → Obchod → Výroba. Přepínač sekcí se lepí pod hlavičku. */
.sekce-nav{position:sticky;top:60px;z-index:30;display:flex;gap:6px;margin:0 -4px 6px;padding:8px 4px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sekce-nav::-webkit-scrollbar{display:none}
.sekce-nav a{flex:0 0 auto;padding:8px 15px;border-radius:99px;font-size:13px;font-weight:600;
  color:var(--muted);background:rgba(20,16,9,.55);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:color .15s,background .15s}
.sekce-nav a.on{color:#1a140c;background:linear-gradient(145deg,var(--tan),var(--tan-soft));border-color:transparent}
@media(max-width:768px){ .sekce-nav{top:54px;margin-left:-16px;margin-right:-16px;padding:8px 16px} }
.vrstva{scroll-margin-top:118px;margin-bottom:30px}
.vrstva-h{margin-top:26px}
.vrstva-grid{margin-top:20px}
.grid.tri{grid-template-columns:repeat(3,1fr);align-items:start}
@media(max-width:1000px){ .grid.tri{grid-template-columns:1fr 1fr} }
@media(max-width:640px){ .grid.tri{grid-template-columns:1fr} }
.panel-g+.grid,.grid+.panel-g,.grid+.grid,.panel-g+.panel-g{margin-top:16px}

/* firma v číslech */
.kpi-rada{display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){ .kpi-rada{grid-template-columns:repeat(2,1fr)} }
.kpi{display:flex;flex-direction:column;gap:3px;padding:14px 15px;border-radius:12px;
  background:var(--glass-2);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 rgba(255,240,220,.07);min-width:0}
.kpi .l{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--cream);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}
.kpi .pod{font-size:12px;color:var(--faint);line-height:1.4}
.kpi .pod b.ok{color:var(--moss)}.kpi .pod b.bad{color:var(--rose)}

/* co má přijít */
.cash-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:rgba(0,0,0,.3);gap:2px}
.cash-bar i{display:block;height:100%;min-width:3px}
.cash-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.cash-list li{display:flex;align-items:center;gap:10px;font-size:13.5px}
.cash-list i{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.cash-list .k{flex:1;color:var(--ink)}.cash-list .k small{color:var(--faint);margin-left:4px}
.cash-list .v{font-variant-numeric:tabular-nums;color:var(--cream);font-weight:600}

/* největší klienti, zdroje, ztráty — vodorovné pruhy s hodnotou vpravo */
.top-k,.zdroje{display:grid;gap:8px}
.top-k a,.zdroje .z{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(60px,1fr) auto auto;gap:10px;
  align-items:center;font-size:13.5px;color:var(--ink);padding:4px 0}
.top-k a:hover .jm{color:var(--cream)}
.top-k .jm,.zdroje .jm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-k .bar,.zdroje .bar{height:8px;border-radius:99px;background:rgba(0,0,0,.3);overflow:hidden}
.top-k .bar i,.zdroje .bar i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--tan-soft),var(--tan))}
.top-k .v,.zdroje .v{font-variant-numeric:tabular-nums;font-weight:600;color:var(--cream);white-space:nowrap}
.top-k .p,.zdroje .p{font-size:11.5px;color:var(--faint);white-space:nowrap;min-width:0}
@media(max-width:480px){ .top-k a,.zdroje .z{grid-template-columns:minmax(0,1fr) 70px auto} .top-k .p,.zdroje .p{display:none} }

/* tabulka konverze */
table.konverze{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px;font-variant-numeric:tabular-nums}
table.konverze th{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint);font-weight:500;text-align:right;padding:4px 6px;border-bottom:1px solid var(--glass-line)}
table.konverze td{text-align:right;padding:6px;border-bottom:1px solid rgba(255,240,220,.04)}
table.konverze td.k,table.konverze th:first-child{text-align:left;color:var(--muted)}
table.konverze td.ok{color:var(--moss)}table.konverze td.bad{color:var(--rose)}

/* sbalitelný panel (kalendář) — na telefonu ho skript zavře */
details.mob-sbal>summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:baseline;
  justify-content:space-between;flex-wrap:wrap}
details.mob-sbal>summary::-webkit-details-marker{display:none}
details.mob-sbal>summary::after{content:"⌄";color:var(--tan);font-size:18px;line-height:1;margin-left:auto;transition:transform .2s}
details.mob-sbal[open]>summary::after{transform:rotate(180deg)}
.kal-panel>summary h3{margin:0}
.kal-panel>summary span{font-size:12px;color:var(--faint)}
.kal-panel[open]>summary{margin-bottom:14px}
details.panel.mob-sbal>summary::after{content:none}
/* dlaždice statistik nesmí roztáhnout sloupec: popisek se láme, číslo se zalomí */
.nums-row>.stat{min-width:0}
.nums-row .stat .l{white-space:normal;line-height:1.3}
.nums-row .stat .v{overflow-wrap:anywhere}
.kpi .v{font-size:clamp(19px,5.6vw,24px)}
/* Položka gridu má výchozí min-width:auto, takže jediný dlouhý řádek roztáhne
   celý sloupec přes okraj telefonu. Tohle to zakazuje všem mřížkám. */
.grid>*,.kpi-rada>*,.nums-row>*,.hero>*,.grid.tri>*{min-width:0}
.nums-row.male.fc-staty{grid-template-columns:repeat(2,minmax(0,1fr))}
.nums-row{grid-template-columns:repeat(auto-fit,minmax(min(142px,100%),1fr))}
.nums-row.male{grid-template-columns:repeat(auto-fit,minmax(min(96px,100%),1fr))}
table.konverze{table-layout:fixed}
table.konverze th{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
@media(max-width:480px){ table.konverze th,table.konverze td{padding:6px 3px;font-size:12px} table.konverze th{font-size:9px;letter-spacing:.04em} }
table.konverze{min-width:0;width:100%}
/* partneři */
.partner-obchody{display:grid;gap:4px;margin-top:8px}
.partner-obchody a{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:13px;color:var(--ink);
  padding:7px 10px;border-radius:9px;background:rgba(255,240,220,.035);border:1px solid var(--glass-line)}
.partner-obchody a em{font-style:normal;color:var(--tan)}
.partner-panel{margin-bottom:18px}
/* doklady v detailu zakázky */
.doklady .sb li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.doklady .sb li>a,.doklady .sb li>.radek{flex:1 1 260px;display:flex;gap:10px;align-items:center;min-width:0}
.doklady .sb .jm small{display:block;font-size:11.5px}
.doklady .inline-form{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.doklady .inline-form input[type=date]{width:150px;min-height:36px;padding:6px 8px;font-size:12.5px}
.dalsi-doklad{margin-top:14px;padding-top:14px;border-top:1px solid var(--glass-line)}
.dalsi-doklad textarea{font-family:var(--mono);font-size:13px;min-height:72px}
/* sekce Platby: všechny doklady na jedno kliknutí (16. 10. 2026) */
.sb li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sb .radek{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;
  border:1px solid var(--line-soft);font-size:13px;min-width:0;flex:1}
.splatnost-pruh{margin:0 0 12px;padding:9px 12px;border-radius:10px;font-size:13px;
  border:1px solid var(--glass-line);background:var(--glass-2)}
.splatnost-pruh.late{border-color:rgba(214,48,38,.45);color:var(--rose)}
.splatnost-pruh.now{border-color:rgba(232,161,60,.45)}
.doklad-volba{margin-top:12px;padding:12px;border-radius:12px;
  border:1px solid var(--glass-line);background:var(--glass-2)}
.doklad-volba.doporuceno{border-color:rgba(201,164,124,.55);background:rgba(255,240,220,.07)}
.doklad-volba.nelze{opacity:.55}
.doklad-hlava{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.doklad-hlava small{flex:1 0 100%}
.doklad-varovani{margin:0 0 8px;font-size:12.5px;color:var(--amber)}
.doklad-volba textarea{font-family:var(--mono);font-size:13px;min-height:52px}
/* přehled poptávek */
.faze-chipy{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px}
.pop-seznam{display:grid;gap:10px}
.item.pop{display:flex;color:var(--ink)}
.item.pop:hover{border-color:rgba(201,164,124,.35)}
.pop-hlava{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;margin-bottom:4px}
.pop-co{font-size:13.5px;color:var(--muted);margin-top:2px}
.pop-kroky{display:flex;gap:6px 22px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;color:var(--ink)}
.pop-kroky i{font-style:normal;color:var(--faint);margin-right:4px}
.pop-kroky b.bad{color:var(--rose)}
.odpoved-form{display:flex;gap:8px;align-items:center;margin:0 0 14px}
.odpoved-form input{flex:1;padding:9px 12px;font-size:13.5px}
.odpoved-form button{flex:0 0 auto;white-space:nowrap}
.stat small{display:block;font-size:11px;color:var(--faint);margin-top:3px}
/* Platby — pás tří dokladů u každé zakázky */
.doklady-pas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
@media(max-width:640px){ .doklady-pas{grid-template-columns:1fr} }
.doklady-pas .dk{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;
  background:rgba(255,240,220,.035);border:1px solid var(--glass-line);min-width:0}
.doklady-pas .dk.je{background:rgba(138,167,110,.08);border-color:rgba(138,167,110,.3)}
.doklady-pas .l{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.doklady-pas small{font-size:11.5px;color:var(--faint);line-height:1.5;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.doklady-pas form{margin:0}
.doklady-pas .btn,.doklady-pas button{align-self:flex-start}
.doklady-pas .inline-form button{padding:3px 8px;font-size:11px}

/* přehled zakázek: na co se čeká a do kdy (16. 10. 2026) */
.splatnost-radek{margin-top:7px;font-size:12.5px;color:var(--faint)}
.splatnost-radek.now{color:var(--amber)}
.splatnost-radek.late{color:var(--rose)}
.penize-pruh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;
  padding:11px 14px;border-radius:12px;text-decoration:none;color:var(--cream);
  border:1px solid var(--glass-line);background:var(--glass-2)}
.penize-pruh:hover{border-color:var(--tan)}
.penize-pruh.late{border-color:rgba(214,48,38,.45)}
.penize-pruh.late b{color:var(--rose)}
.penize-pruh .sip{margin-left:auto;font-size:12.5px;color:var(--tan)}

/* kontakty: popisek pod názvem na vlastním řádku, ať se datum nelepí na text */
.kontakt-karty .sb .jm small{display:block;font-size:11.5px;margin-top:2px}

/* nachystané e-maily k dokladům (18. 10. 2026) */
/* pozor: .mail-nahled už patří iframu v oživovacím mailu a má pevnou výšku —
   doklady proto mají vlastní třídu */
.doklad-mail{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.65;
  background:var(--glass-2);border:1px solid var(--glass-line);border-radius:12px;
  padding:14px;margin:0;color:var(--cream);overflow-x:auto}
.akce{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.alert.late{padding:11px 14px;border-radius:10px;border:1px solid rgba(214,48,38,.45);
  background:rgba(214,48,38,.08);color:var(--rose);font-size:13.5px}
