/* Trading Terminal · design system v4 */
/* ---------- tlačítka + formuláře ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--panel2);color:var(--txt);border:1px solid var(--line2);border-radius:10px;padding:8px 13px;
  cursor:pointer;font:500 13.5px/1.2 var(--f-ui);text-decoration:none;transition:background-color .18s,border-color .18s,transform .12s,box-shadow .18s;-webkit-tap-highlight-color:transparent}
.btn:hover{border-color:rgba(148,163,184,.4);background:#1a2234}
.btn:active{transform:scale(.97)}
.btn.primary{background:linear-gradient(135deg,var(--acc),#5f7dff);border-color:transparent;color:#fff;box-shadow:0 6px 18px -8px rgba(79,140,255,.8)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:none}
.btn.small{padding:6px 11px;font-size:12.5px}
.btn.icon{padding:5px 7px;border-radius:8px}.btn.icon svg{width:15px;height:15px;vertical-align:0}
.btn.danger:hover{border-color:var(--bear);color:var(--bear);background:var(--bear-soft)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
input,select,textarea{background:var(--inset);color:var(--txt);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;font:inherit;width:100%;transition:border-color .18s,box-shadow .18s}
.filters input,.filters select{width:auto}.filters input[type=search]{flex:1;min-width:180px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}
.seg{display:flex;gap:4px;flex-wrap:wrap;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:12px;width:max-content;max-width:100%}
.seg button{background:none;border:0;color:var(--mut);border-radius:9px;padding:6px 12px;cursor:pointer;font:500 13px/1.2 var(--f-ui);transition:background-color .2s,color .2s}
.seg button:hover{color:var(--txt)}.seg button.active{color:#fff;background:var(--acc-soft);box-shadow:0 0 0 1px rgba(79,140,255,.45) inset}

/* ---------- tabulky ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--r-sm)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{color:var(--mut);font-weight:500;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;position:sticky;top:0;background:var(--panel)}
tbody tr{transition:background-color .15s}tbody tr:hover{background:rgba(79,140,255,.05)}
td.setup{white-space:normal;max-width:260px;color:var(--mut)}
.ti{color:var(--mut);display:inline-flex;vertical-align:middle;margin-left:4px}.ti:hover{color:var(--acc)}.ti svg{width:15px;height:15px;vertical-align:0}
.tag{padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.04em}.tag.long{background:var(--bull-soft);color:var(--bull)}.tag.short{background:var(--bear-soft);color:var(--bear)}
.mini-table{width:100%;margin-top:8px;font-size:13px}.mini-table td,.mini-table th{padding:6px}
#denik.is-empty .table-wrap,#denik.is-empty #kpisFiltered,#denik.is-empty .filters{display:none}

/* ---------- prázdné stavy + skeletony ---------- */
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 16px 28px;border:1px dashed var(--line2);border-radius:var(--r);background:rgba(79,140,255,.025)}
.empty-state h3{margin:6px 0 0;font-size:17px}
.empty-state p{margin:0;max-width:440px}
.empty-state .actions{margin-top:10px;justify-content:center}
.es-ic,.empty-state svg.es{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:var(--acc);background:var(--acc-soft);border:1px solid rgba(79,140,255,.25)}
.es-ic svg{width:26px;height:26px}
.empty-state svg.es{padding:13px}
.empty-state.small{height:100%;justify-content:center;padding:18px;gap:6px}
.empty-state.small h3{font-size:15px}
.skel{position:relative;overflow:hidden;background:#151c2b;border-radius:8px}
.skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:shimmer 1.4s infinite}
@keyframes shimmer{to{transform:translateX(100%)}}
.sk-line{height:11px;margin:8px 0;width:100%}.sk-line.tall{height:22px}.sk-line.c{margin-left:auto;margin-right:auto}
.w40{width:40%}.w50{width:50%}.w60{width:60%}.w80{width:80%}
.sk-gauge{width:78%;max-width:200px;aspect-ratio:2/1.15;margin:10px auto;border-radius:200px 200px 12px 12px}
.sk-donut{width:30%;aspect-ratio:1;border-radius:50%}
.sk-row{display:flex;justify-content:space-around;margin:14px 0}
.sk-block{height:70px;margin-top:10px}.sk-bar{height:20px;margin:12px 0;border-radius:6px}
.sk-chart{height:250px;border-radius:12px}
.is-skel{pointer-events:none}
.gauge-card.is-skel{align-items:stretch}

/* ---------- ceny ---------- */
.quotes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:var(--s4)}
.quote{background:var(--glass),var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-height:220px;display:flex;flex-direction:column;transition:border-color .2s}
.quote:hover{border-color:var(--line2)}
.quote .qh{padding:10px 14px 4px;font-size:12px;color:var(--mut);display:flex;justify-content:space-between;gap:8px}
.quote .qh span:first-child{color:var(--txt);font-weight:600;font-family:var(--f-disp);font-size:13.5px}
.quote .qb{flex:1;min-height:190px}

/* ---------- dialogy, toast, footer ---------- */
dialog{background:var(--panel);color:var(--txt);border:1px solid var(--line2);border-radius:20px;padding:22px;width:min(680px,94vw);max-height:92vh;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
dialog[open]{animation:dlgIn .25s var(--ease)}
@keyframes dlgIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
dialog::backdrop{background:rgba(3,5,10,.65);backdrop-filter:blur(4px)}
dialog h2{font-size:18px;margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--mut);font-weight:500}
.form-grid .span2{grid-column:span 4}
.dlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
#csvDlg textarea{margin-top:8px;font-family:ui-monospace,monospace;font-size:12px}
.chk{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:13px}.chk input{width:auto}
#toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(80px);background:rgba(20,26,40,.92);backdrop-filter:blur(10px);border:1px solid var(--line2);padding:11px 18px;border-radius:12px;transition:.3s var(--ease);z-index:50;opacity:0;box-shadow:0 12px 30px -10px rgba(0,0,0,.7)}
#toast.show{transform:translateX(-50%);opacity:1}
footer{text-align:center;padding:24px 16px 32px;color:var(--mut2)}

/* ---------- sentiment: live ---------- */
.live-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--bull);box-shadow:0 0 0 0 rgba(47,210,122,.6);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,210,122,.6)}70%{box-shadow:0 0 0 8px rgba(47,210,122,0)}100%{box-shadow:0 0 0 0 rgba(47,210,122,0)}}
.live-dot.off{background:var(--warn);animation:none}
.live-status{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums}
.duka-box{height:340px}
.duka-box iframe{width:100%;height:100%;border:0;display:block;background:var(--panel)}
/* gauges */
.gauge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0 12px}
.gauge-card{background:var(--inset);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:border-color .2s,transform .2s}
.gauge-card:hover{border-color:var(--line2)}
.gauge-card .qh{width:100%;font-size:12px;color:var(--mut);display:flex;justify-content:space-between}
.gauge-card .qh span:first-child{color:var(--txt);font-weight:600;font-size:14.5px;font-family:var(--f-disp)}
.g-wrap{width:100%;max-width:230px}
.gauge{width:100%;display:block}.gauge .needle{transition:all .8s var(--ease)}
.g-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-top:-2px}
.g-label{font-weight:700;font-size:16px;margin:4px 0;font-family:var(--f-disp)}
.g-nums{display:flex;gap:26px;justify-content:center}.g-nums div{display:flex;flex-direction:column}.g-nums small{color:var(--mut);font-size:11px}.g-nums b{font-size:17px;font-variant-numeric:tabular-nums;font-family:var(--f-disp)}
.g-sub{margin-top:4px}
.g-note{margin-top:8px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.04)}
.g-note.pos{background:var(--bull-soft)}.g-note.neg{background:var(--bear-soft)}
.g-note:empty{display:none}
.gauge-grid.mini .g-wrap{max-width:180px}.gauge-grid.mini .g-label{font-size:14px}
.g-bias{margin-top:8px}.g-bias .bias{font-size:12px;padding:2px 9px;margin-left:4px}
/* bias chips */
.bias{font-weight:700;padding:4px 12px;border-radius:var(--r-pill);font-size:13.5px;white-space:nowrap}
.bias.bull{background:var(--bull-soft);color:var(--bull)}.bias.bear{background:var(--bear-soft);color:#ff7a83}.bias.neu{background:var(--neu-soft);color:var(--txt2)}
.bias-why{margin:8px 0;color:var(--txt2)}
/* COT */
.cot-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin:0 0 var(--s4)}
.cot-card{background:var(--glass),var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;min-width:0;box-shadow:var(--shadow);transition:border-color .2s}
.cot-card:hover{border-color:var(--line2)}
.cot-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cot-h h3{margin:0;font-size:18px;font-weight:600}
.cot-t{width:100%;font-size:13px;font-variant-numeric:tabular-nums}.cot-t td,.cot-t th{padding:5px 6px;text-align:right;white-space:nowrap}.cot-t td:first-child,.cot-t th:first-child{text-align:left}
.cot-chart{width:100%;height:90px;display:block;margin-top:8px;background:var(--inset);border-radius:10px}
.cot-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;color:var(--mut)}
.lg::before{content:"";display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}
.lg.big::before{background:#3b82f6}.lg.ret::before{background:#f59e0b}.lg.com::before{background:#8b96ad}
.d-legend{display:flex;gap:12px;font-size:13px;color:var(--txt2)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.g{background:#7ed492}.dot.r{background:#e0604f}
.cot-tabs{margin:12px 0 2px}
.donut-wrap{max-width:240px;margin:6px auto 4px}.donut{width:100%;display:block}
.d-cap{fill:#8b96ad;font-size:12px}.d-net{font-size:22px;font-weight:700;font-family:var(--f-disp)}.d-net.pos{fill:#7ed492}.d-net.neg{fill:#ff7a6b}.d-chg{fill:#c3cad8;font-size:12px}
.d-pct{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:15px;font-variant-numeric:tabular-nums}.d-pct .muted{font-size:12px;margin-left:auto}
.d-desc{margin:4px 0 8px}
.bias-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:8px}
.cot-more{margin-top:8px}.cot-more summary{cursor:pointer;color:var(--mut)}
details.rule{margin:2px 0 8px}
details.rule summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px;padding:4px 0;font-family:var(--f-disp)}
details.rule summary::-webkit-details-marker{display:none}
details.rule summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg);transition:transform .2s;margin-right:2px}
details.rule[open] summary::before{transform:rotate(45deg)}
details.rule ol{padding-left:20px}details.rule li{margin:6px 0}

/* ---------- sezónnost ---------- */
.seas-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 var(--s4)}
.seas-mini{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:var(--glass),var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;color:var(--txt);font:inherit;text-align:left;cursor:pointer;min-width:0;transition:border-color .2s,transform .15s,box-shadow .2s}
.seas-mini b{font-family:var(--f-disp);font-size:15px}
.seas-mini:hover{border-color:var(--line2)}.seas-mini:active{transform:scale(.98)}
.seas-mini.active{border-color:rgba(79,140,255,.6);box-shadow:0 0 0 1px rgba(79,140,255,.35) inset,0 10px 24px -14px rgba(79,140,255,.6)}
.seas-mini .bias{font-size:12px;padding:2px 9px}
.seas-tabs{margin:0 0 12px}
.seas-bias{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.seas-win{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:var(--inset);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-variant-numeric:tabular-nums}
.seas-chart{background:var(--inset);border:1px solid var(--line);border-radius:var(--r);padding:8px 4px 0}
.seas-svg{width:100%;height:auto;display:block}
.seas-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 2px}
.seas-legend .ln{display:inline-block;width:18px;height:0;border-top:2px solid #3b82f6;vertical-align:middle;margin-right:6px}
.seas-legend .ln.o{border-top:2px dashed #f59e0b}.seas-legend .ln.z{border-top:8px solid rgba(59,130,246,.25)}
.seas-heat{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin:8px 0 10px}
.seas-heat .hc{border-radius:10px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.04);min-width:0}
.seas-heat .hc.now{outline:2px solid #e5e7eb;outline-offset:-1px}
.seas-heat .hm{font-size:11px;color:#c3cad8}.seas-heat b{font-size:13px}.seas-heat .hh{font-size:11px;color:#dfe4ee}.seas-heat .hy{font-size:10px;color:#c3cad8;white-space:nowrap}
.seas-heat .pos,.seas-heat .neg{color:inherit}

/* ---------- celkový bias ---------- */
.comp-lead{margin:-6px 0 var(--s4);color:var(--txt2);max-width:900px}
.comp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);margin-bottom:var(--s4)}
.comp-m{background:var(--glass),var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;min-width:0;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:border-color .2s}
.comp-m:hover{border-color:var(--line2)}
.comp-m::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:#3a4560}
.comp-m::after{content:"";position:absolute;inset:0 0 auto 0;height:120px;pointer-events:none;opacity:.5}
.comp-m.bull::before{background:linear-gradient(90deg,var(--bull),rgba(47,210,122,.2))}.comp-m.bear::before{background:linear-gradient(90deg,var(--bear),rgba(255,93,104,.2))}
.comp-m.bull::after{background:linear-gradient(180deg,rgba(47,210,122,.07),transparent)}.comp-m.bear::after{background:linear-gradient(180deg,rgba(255,93,104,.07),transparent)}
.comp-h{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative}.comp-h h3{margin:0;font-size:18px}
.conf{font-size:11px;padding:3px 10px;border-radius:var(--r-pill);border:1px solid var(--line2);white-space:nowrap;font-weight:600}
.conf.high{color:#7ed492;border-color:rgba(126,212,146,.4)}.conf.mid{color:#f5b942;border-color:rgba(245,185,66,.4)}.conf.low{color:#ff8a8d;border-color:rgba(255,107,112,.4)}
.comp-res{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 4px;gap:8px;position:relative}
.comp-lbl{font-family:var(--f-disp);font-size:23px;font-weight:700;letter-spacing:-.01em}.comp-lbl.bull{color:var(--bull)}.comp-lbl.bear{color:#ff6b74}.comp-lbl.neu{color:var(--txt2)}
.comp-score{font-family:var(--f-disp);font-size:32px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cb-bar{width:100%;height:auto;display:block}
.cb-ends{display:flex;justify-content:space-between;margin:-4px 2px 6px;font-size:10px}
.comp-why{margin:6px 0 12px;color:#dfe4ee;font-size:13px}
.comp-rows{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.cr{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr 44px;gap:4px 10px;align-items:center}
.cr.off{opacity:.5}
.cr-n{display:flex;flex-direction:column;font-size:12.5px;line-height:1.25}.cr-n small{font-size:10.5px}
.cr-bar{position:relative;height:8px;background:#161d2c;border-radius:4px}
.cr-bar::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:#3a4560}
.cr-bar i{position:absolute;top:0;bottom:0;border-radius:4px}.cr-bar i.p{background:var(--bull)}.cr-bar i.n{background:var(--bear)}
.cr-v{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}
.cr-t{grid-column:1/-1;margin-top:-2px;font-size:11px}
.comp-card{border-color:rgba(79,140,255,.22);background:linear-gradient(180deg,rgba(79,140,255,.06),transparent 140px),var(--panel)}
.comp-w td:first-child{white-space:nowrap}.comp-w td{vertical-align:top;text-align:left;white-space:normal}.comp-w td:nth-child(2){font-weight:700;color:#dfe4ee;white-space:nowrap}

/* =========================================================
   Trading Terminal · design system v4
   ========================================================= */
:root{
  --bg:#050608;--bg2:#08090d;
  --panel:#0b0d12;--panel2:#12151d;--inset:#07080b;--hov:#151924;
  --line:rgba(255,255,255,.075);--line2:rgba(255,255,255,.14);
  --txt:#e9ecf2;--txt2:#c2c8d4;--mut:#7f8799;--mut2:#565e70;
  --acc:#2b63f0;--acc2:#5b8cff;--acc-soft:rgba(47,107,255,.16);
  --bull:#22c983;--bull-soft:rgba(34,201,131,.14);
  --bear:#ff5363;--bear-soft:rgba(255,83,99,.14);
  --neu:#a7b0c4;--neu-soft:rgba(167,176,196,.12);
  --warn:#f5b942;--gold:#f5b942;--green:var(--bull);--red:var(--bear);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
  --r-sm:8px;--r:10px;--r-lg:12px;--r-pill:999px;
  --f-ui:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-disp:"Space Grotesk",Inter,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --shadow:none;--glass:none;
  --ease:cubic-bezier(.2,.75,.25,1);
  --tb-h:54px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--tb-h) + env(safe-area-inset-top) + 12px)}
html,body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.5 var(--f-ui);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
body{min-height:100vh;background:radial-gradient(900px 380px at 50% -160px,rgba(47,107,255,.10),transparent 70%),var(--bg);overflow-x:hidden}
h1,h2,h3{letter-spacing:-.01em;margin:0}
a{color:var(--acc2);text-underline-offset:2px}
.muted{color:var(--mut)}.tiny{font-size:12px}
.pos{color:var(--bull)}.neg{color:var(--bear)}
.red{color:#ff6b74}.blue{color:#6ea2ff}
.num,.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
svg.ic,.btn svg,.link svg,.ti svg{width:16px;height:16px;flex:0 0 auto;display:inline-block;vertical-align:-3px}
.ic.flip{transform:scaleX(-1)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--acc);color:#fff;padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
.link{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:500;text-decoration:none;color:var(--acc2)}

/* ---------- top bar ---------- */
.tb{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:18px;height:calc(var(--tb-h) + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
  background:rgba(5,6,8,.86);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--line)}
.tb-logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--txt);flex:0 0 auto}
.tb-logo img{border-radius:7px;display:block}
.tb-logo span{display:flex;flex-direction:column;line-height:1.05}
.tb-logo b{font:700 13.5px var(--f-disp);letter-spacing:.02em;text-transform:uppercase}
.tb-logo i{font:500 9.5px var(--f-mono);font-style:normal;color:var(--mut);letter-spacing:.2em;text-transform:uppercase}
.tb-nav{display:flex;gap:2px}
.tb-nav a{display:flex;align-items:center;gap:7px;padding:7px 11px;border-radius:8px;color:var(--mut);text-decoration:none;font-weight:500;font-size:13px;transition:color .15s,background-color .15s}
.tb-nav a svg{width:15px;height:15px}
.tb-nav a:hover{color:var(--txt);background:var(--panel2)}
.tb-nav a.active{color:var(--txt);background:var(--panel2);box-shadow:0 0 0 1px var(--line) inset}
.tb-search{position:relative;flex:1 1 280px;max-width:420px;margin:0 auto;display:flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 11px;border-radius:9px;background:var(--panel);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.tb-search:focus-within{border-color:rgba(47,107,255,.6);box-shadow:0 0 0 3px var(--acc-soft)}
.tb-search>svg{width:15px;height:15px;color:var(--mut);flex:0 0 auto}
.tb-search input{border:0;background:none;padding:0;height:100%;box-shadow:none!important;font-size:13px;min-width:0}
.tb-search input::-webkit-search-cancel-button{display:none}
.tb-search kbd{font:500 10.5px var(--f-mono);color:var(--mut);border:1px solid var(--line2);border-radius:5px;padding:1px 6px}
.q-list{position:absolute;left:-1px;right:-1px;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#0d1016;border:1px solid var(--line2);border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.6);max-height:min(420px,70vh);overflow:auto;z-index:50}
.q-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--txt2)}
.q-list li small{margin-left:auto;color:var(--mut);font-size:11px}
.q-list li.on,.q-list li:hover{background:var(--acc-soft);color:var(--txt)}
.q-list li .flags{transform:scale(.8)}
.q-list .q-empty{color:var(--mut);cursor:default}
.tb-right{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}
.ib{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--mut);cursor:pointer;padding:0;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s;flex:0 0 auto}
.ib svg{width:14px;height:14px}
.ib:hover{color:var(--txt);border-color:var(--line2);background:var(--panel2)}
#btnSearchM{display:none}
.live-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(34,201,131,.3);background:rgba(34,201,131,.07);font:600 10px var(--f-mono);letter-spacing:.12em;color:var(--bull)}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--bull);box-shadow:0 0 0 0 rgba(34,201,131,.6);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,201,131,.6)}70%{box-shadow:0 0 0 7px rgba(34,201,131,0)}100%{box-shadow:0 0 0 0 rgba(34,201,131,0)}}
.live-dot.off{background:var(--warn);animation:none}
.live-pill:has(.off){color:var(--warn);border-color:rgba(245,185,66,.35);background:rgba(245,185,66,.07)}
.clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;min-width:0}
.clock span{font:600 14px var(--f-mono);font-variant-numeric:tabular-nums}
.clock small{font-size:10.5px;color:var(--mut);white-space:nowrap}

/* ---------- ticker ---------- */
.tk{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:var(--bg2)}
.tk-l{display:flex;align-items:center;gap:7px;padding:0 12px 0 max(16px,env(safe-area-inset-left));font:600 10px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);border-right:1px solid var(--line);flex:0 0 auto}
.tk-l i{width:6px;height:6px;border-radius:50%;background:var(--acc)}
.ticker-wrap{flex:1;min-width:0;height:46px;overflow:hidden}

/* ---------- layout ---------- */
main{max-width:1680px;margin:0 auto;padding:14px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
.view{display:none}
.view.active{display:block;animation:secIn .35s var(--ease) both}
.sub{display:none}.sub.active{display:grid;animation:secIn .3s var(--ease) both}
@keyframes secIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vh{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 2px 14px}
.vh h1{font:700 26px/1.1 var(--f-disp);letter-spacing:-.02em}
.vh-k{margin:0 0 3px;font:600 10.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}
.note{margin:4px 4px 14px}

/* greeting */
.greet{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:2px 2px 14px}
.gr-meta{margin:0 0 4px;font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.greet h1{font:700 clamp(22px,2.4vw,28px)/1.1 var(--f-disp);letter-spacing:-.02em}
.hero-name{font-style:normal;background:linear-gradient(90deg,#7aa5ff,#9b87ff 55%,#4be0a6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gr-q{margin:6px 0 0;color:var(--txt2);font-size:13.5px;font-style:italic;opacity:.9}
.gr-stats{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;max-width:100%}
.gs{background:var(--panel);padding:8px 14px;display:flex;flex-direction:column;gap:1px;min-width:0}
.gs small{font:500 10px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.gs b{font:600 13.5px var(--f-mono);white-space:nowrap}

/* instrument switcher */
.inst-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.ichip{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--txt);cursor:pointer;font:inherit;text-align:left;min-width:0;position:relative;overflow:hidden;transition:border-color .15s,background-color .15s}
.ichip:hover{border-color:var(--line2);background:var(--hov)}
.ichip.active{border-color:rgba(47,107,255,.65);background:linear-gradient(180deg,rgba(47,107,255,.10),rgba(47,107,255,.02)),var(--panel)}
.ichip.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--acc)}
.ichip .ic-t{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.ichip .ic-t b{font-weight:700;font-size:14px}
.ichip .ic-t small{font-size:11px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ichip .ic-s{margin-left:auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.ichip .ic-s b{font:700 15px var(--f-mono)}
.ichip .ic-s small{font-size:10.5px;color:var(--mut);white-space:nowrap}
.ichip svg.spk{width:46px;height:18px;flex:0 0 auto}

/* flags */
.flags{display:inline-flex;align-items:center;flex:0 0 auto}
.flags svg{width:24px;height:24px;border-radius:50%;box-shadow:0 0 0 2px var(--panel);display:block}
.flags svg+svg{margin-left:-7px}
.inst-head .flags svg{width:30px;height:30px}.inst-head .flags svg+svg{margin-left:-9px}

/* instrument header */
.inst-head{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px 12px 0 0;border-bottom:0;flex-wrap:wrap}
.ih-id{display:flex;align-items:center;gap:11px;min-width:0}
.ih-id h2{font:700 21px/1.1 var(--f-ui);letter-spacing:-.01em}
.ih-id small{font-size:11.5px}
.pills{display:flex;gap:2px;padding:3px;background:var(--inset);border:1px solid var(--line);border-radius:999px;margin:0 auto;overflow-x:auto;scrollbar-width:none;max-width:100%}
.pills::-webkit-scrollbar{display:none}
.pills button{border:0;background:none;color:var(--mut);font:500 12.5px var(--f-ui);padding:6px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .15s,background-color .15s}
.pills button:hover{color:var(--txt)}
.pills button.active{background:var(--acc);color:#fff;box-shadow:0 4px 14px -4px rgba(47,107,255,.8)}
.ih-act{display:flex;align-items:center;gap:10px}
.ih-score{font:700 13px var(--f-mono);padding:5px 10px;border-radius:7px;white-space:nowrap}
.ih-score:empty{display:none}
.ih-score.bull{background:var(--bull-soft);color:var(--bull)}.ih-score.bear{background:var(--bear-soft);color:var(--bear)}.ih-score.neu{background:var(--neu-soft);color:var(--txt2)}
.inst-head+.sub{border-radius:0 0 12px 12px}

/* terminal grid + panels */
.term{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}
.pn{background:var(--panel);min-width:0;display:flex;flex-direction:column;grid-column:span 12}
.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
.pn-h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:6px 10px 2px 14px}
.pn-h h3{font:600 13.5px var(--f-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-h .ik{color:var(--mut);font-weight:500;margin-left:4px}
.pn-a{display:flex;align-items:center;gap:6px;min-width:0}
.pn-b{padding:6px 14px 14px;flex:1;min-width:0}
.pn-b.flush{padding:0}
.pn-note{font:500 10.5px var(--f-mono);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tagx{font:600 9.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#9db8ff;border:1px solid rgba(47,107,255,.35);background:rgba(47,107,255,.08);border-radius:999px;padding:3px 8px;white-space:nowrap;cursor:help}
.tf{display:inline-flex;gap:1px;padding:2px;border-radius:999px;background:var(--inset);border:1px solid var(--line)}
.tf button{border:0;background:none;color:var(--mut);font:500 11px var(--f-mono);padding:3px 9px;border-radius:999px;cursor:pointer;white-space:nowrap}
.tf button:hover{color:var(--txt)}
.tf button.active{background:var(--acc);color:#fff}
.tvbox{width:100%;background:transparent;overflow:hidden}
.tvbox .tradingview-widget-container{height:100%}
.chart-box{height:520px}
.widget-box{width:100%;overflow:hidden}

/* summary */
#summary{font-size:13.2px;line-height:1.6;color:var(--txt2);max-height:520px;overflow:auto;scrollbar-width:thin}
.sum-d{font:500 11px var(--f-mono);color:var(--mut);margin:0 0 6px}
#summary p{margin:0 0 10px;color:var(--txt)}
#summary h4{margin:12px 0 4px;font-size:12.5px;color:var(--txt)}
#summary ul{margin:0;padding-left:17px}
#summary li{margin:3px 0}
#summary li::marker{color:var(--mut2)}
.sum-foot{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line2);font-size:11px;color:var(--mut)}

/* score panel · Score Overview */
.so{display:flex;flex-direction:column;gap:2px}
.so-kicker{font:600 10.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}
.so-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.so-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 2px;margin:0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--txt2);font:inherit;text-align:left;cursor:pointer;min-width:0;border-radius:0}
.so-row:hover:not(:disabled){color:var(--txt)}
.so-row:focus-visible{outline:2px solid rgba(47,107,255,.55);outline-offset:2px;border-radius:6px}
.so-row:disabled{cursor:default}
.so-row.off{color:var(--mut)} /* dřív opacity .45 → nedostatečný kontrast (Lighthouse) */
.so-row.off *{color:var(--mut)!important;opacity:1}
.so-lab{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-row:hover:not(:disabled) .so-lab{color:var(--txt2)}
.so-pill{display:inline-block;min-width:42px;text-align:center;padding:4px 10px;border-radius:8px;font:600 12.5px/1 var(--f-mono);background:var(--panel2);color:var(--txt2);border:1px solid var(--line);flex:0 0 auto}
.so-pill.pos{color:var(--bull);border-color:rgba(34,201,131,.35);background:var(--bull-soft)}
.so-pill.neg{color:var(--bear);border-color:rgba(255,83,99,.35);background:var(--bear-soft)}
.so-pill.neu{color:var(--txt2)}
.so-pill.muted{color:var(--mut);opacity:.85}
.so-final{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.so-final-l{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.so-final-lab{font:600 13px/1.2 var(--f-disp);color:var(--txt)}
.so-final-r{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.so-final-pill{min-width:52px;padding:6px 14px;font-size:15px;border-color:rgba(47,107,255,.55);box-shadow:0 0 0 1px rgba(47,107,255,.22),0 0 18px rgba(34,201,131,.12)}
.so-bias{font:700 13.5px/1.2 var(--f-disp)}
.so-bias.bull{color:var(--bull)}.so-bias.bear{color:var(--bear)}.so-bias.neu{color:var(--txt2)}
.so-note{margin:8px 0 4px}
/* legacy helpers (hist still uses .sc-hist) */
.sc-top{display:flex;align-items:center;gap:14px;margin:2px 0 4px}
.sc-num{font:700 46px/1 var(--f-mono);letter-spacing:-.03em}
.sc-lbl{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.sc-lbl b{font:700 17px var(--f-disp)}
.sc-lbl b.bull{color:var(--bull)}.sc-lbl b.bear{color:var(--bear)}.sc-lbl b.neu{color:var(--txt2)}
.sc-rows{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:6px}
.sr{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--txt2);min-width:0}
.sr span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr.off{opacity:.45}
.nc{display:inline-block;min-width:40px;text-align:center;font:600 11.5px var(--f-mono);padding:2px 7px;border-radius:6px;background:var(--panel2);color:var(--txt2);flex:0 0 auto}
.nc.pos{background:var(--bull-soft);color:var(--bull)}.nc.neg{background:var(--bear-soft);color:var(--bear)}
.sc-hist{margin-top:12px}
.sc-hist .hh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.sc-hist .hh span{font-size:12px;color:var(--mut)}
.hist-svg{width:100%;height:84px;display:block;background:var(--inset);border-radius:8px}
.hist-empty{font-size:11.5px;color:var(--mut);background:var(--inset);border:1px dashed var(--line2);border-radius:8px;padding:10px 12px}

/* retail panel */
.rt{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;align-items:center}
.half{width:100%;display:block}
.half text{font-family:var(--f-mono)}
.rt-st{display:flex;flex-direction:column;gap:8px}
.rt-st div{display:flex;flex-direction:column;line-height:1.2}
.rt-st small{font-size:11px;color:var(--mut)}
.rt-st b{font:700 17px var(--f-mono)}
.leg{display:flex;gap:14px;font-size:11.5px;color:var(--txt2);margin-bottom:4px}
.leg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:0}
.leg .g{background:var(--bull)}.leg .r{background:var(--bear)}
.chipnote{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:7px;background:var(--panel2);color:var(--txt2)}
.chipnote.pos{background:var(--bull-soft);color:var(--bull)}.chipnote.neg{background:var(--bear-soft);color:var(--bear)}

/* cot panel */
.cp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center}
.cp .donut-wrap{max-width:180px;margin:0 auto}
.kv{display:flex;flex-direction:column;gap:8px}
.kv div{display:flex;flex-direction:column;line-height:1.2}
.kv small{font-size:11px;color:var(--mut)}
.kv b{font:700 16px var(--f-mono)}
.ixbar{position:relative;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--bear),#2a3142 40%,#2a3142 60%,var(--bull));margin-top:5px}
.ixbar i{position:absolute;top:-3px;width:3px;height:12px;border-radius:2px;background:#fff;transform:translateX(-50%)}
.seg.sm{margin:0 0 8px}.seg.sm button{padding:4px 10px;font-size:12px}

/* seasonality panel */
.ss-wins{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.ssw{background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ssw small{font-size:11px;color:var(--mut)}
.ssw b{font:700 15px var(--f-mono)}
.ssw span{font-size:11.5px;color:var(--txt2)}
.ss-heat{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin-top:8px}
.ss-heat div{border-radius:5px;padding:4px 0;text-align:center;font:600 10px var(--f-mono);color:#e6e9f0;min-width:0;overflow:hidden}
.ss-heat div span{display:block;font:500 9.5px var(--f-ui);color:#c3cad8}
.ss-heat .now{outline:1.5px solid #e5e7eb;outline-offset:-1.5px}

/* matrix */
.mx-wrap{overflow-x:auto}
.mx{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}
.mx th{position:static;background:var(--panel);font:600 10px var(--f-mono);letter-spacing:.08em;color:var(--mut);padding:10px 8px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--line)}
.mx th:first-child{text-align:left;padding-left:14px}
.mx td{padding:6px;text-align:center;border-bottom:1px solid var(--line)}
.mx tr:last-child td{border-bottom:0}
.mx td:first-child{text-align:left;padding-left:14px}
.mx tbody tr{cursor:pointer}
.mx tbody tr:hover{background:rgba(47,107,255,.05)}
.mx .mi{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13.5px;white-space:nowrap}
.mx .mi small{display:block;font-weight:500;font-size:11px;color:var(--mut)}
.mxc{display:block;border-radius:7px;padding:9px 4px;font:600 12.5px var(--f-mono);color:#e9ecf2;min-width:54px}
.mxc.na{color:var(--mut2);background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(255,255,255,.03) 5px 10px)}
.mxs{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:92px}
.mxs b{font:700 18px var(--f-mono)}
.mxs small{font-size:10.5px;font-weight:600}
.mx svg.spk{width:90px;height:28px}
.mx .bull{color:var(--bull)}.mx .bear{color:var(--bear)}.mx .neu{color:var(--txt2)}

/* KPI strip */
.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}
.kpi-strip .kpi{background:var(--panel);padding:11px 14px;min-width:0}
.kpi .l{color:var(--mut);font:500 10px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v{font:700 18px var(--f-mono);font-variant-numeric:tabular-nums;margin-top:3px;white-space:nowrap}
.kpi .v small{font:500 11px var(--f-ui)}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:12px}
.kpis.compact .kpi{padding:8px 11px;background:var(--inset);border:1px solid var(--line);border-radius:8px}.kpis.compact .v{font-size:14px}
.chart{width:100%;height:300px}.chart.small{height:170px}
.chart>svg{width:100%;height:100%;display:block}

/* =================== v4 · detaily =================== */
.inst-head~.sub{border-radius:0 0 12px 12px}
.bnav{display:none}
footer{padding:18px 16px calc(26px + env(safe-area-inset-bottom))}
.btn{border-radius:8px;background:var(--panel2)}
.btn:hover{background:var(--hov);border-color:var(--line2)}
.btn.primary{background:var(--acc);box-shadow:0 6px 18px -8px rgba(47,107,255,.9)}
.seg button.active{background:var(--acc);color:#fff;box-shadow:none}
th{background:var(--panel);font:600 10px var(--f-mono);letter-spacing:.08em}
dialog{border-radius:14px}
#toast{bottom:calc(20px + env(safe-area-inset-bottom))}
.skel{background:#12151d}
.d-cap{fill:var(--mut);font:500 11px var(--f-ui)}.d-net{font:700 22px var(--f-mono)}.d-net.pos{fill:var(--bull)}.d-net.neg{fill:var(--bear)}.d-chg{fill:var(--txt2);font:500 11px var(--f-mono)}
.donut-wrap svg{width:100%;height:auto;display:block}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.g{background:var(--bull)}.dot.r{background:var(--bear)}
.cot-chart{width:100%;height:110px;display:block;background:var(--inset);border-radius:8px}
.cot-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.cot-legend .lg::before{content:"";display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:5px;background:#8b96ad}
.cot-legend .lg.big::before{background:var(--acc);height:3px}.cot-legend .lg.ret::before{background:#f59e0b}
.cot-t{font-size:12.5px}.cot-t td,.cot-t th{padding:7px 8px}
.cot-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cot-top .bias-row{border:0;margin:0;padding:0;gap:10px}
.cot-tri{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:10px 0 14px}
.cot-g{background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.cot-g h4{margin:0 0 4px;font:600 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cot-g .donut-wrap{max-width:200px;margin:0 auto}
.cot-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.rf{max-width:520px}
.rt-all tbody tr{cursor:pointer}.rt-all tr.on td{background:rgba(47,107,255,.08)}.rt-all tr.on td:first-child{box-shadow:inset 2px 0 0 var(--acc);font-weight:700}
.comp-grid{gap:12px;margin-bottom:12px}
.comp-m{border-radius:12px;padding:14px 16px;background:var(--panel)}
.comp-h h3{display:flex;align-items:center;gap:9px;font-size:16px}
.comp-h .flags svg{width:22px;height:22px}
.cm-a{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font-size:12.5px;font-weight:600;text-decoration:none}
.quote{background:var(--panel);border-radius:12px}
.quote .qh span:first-child{display:inline-flex;align-items:center;gap:8px}
.quote .flags svg{width:18px;height:18px}
.seas-chart{background:var(--inset);border-radius:8px}
.seas-chart svg{width:100%;height:auto;display:block}
#pnSeas .seas-chart{padding:4px 2px 0}
.bias-row .bias{font-size:12px;padding:3px 10px}
.spk{display:block}
.ichip .ic-s small.bull{color:var(--bull)}.ichip .ic-s small.bear{color:var(--bear)}
.q-list li>span{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1}
.q-list li>span small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.greet{min-width:0}

/* =================== responzivita =================== */
@media (max-width:1200px){
  .term>.c4{grid-column:span 6}
  #pnChart,#pnSum{grid-column:span 12}
  #summary{max-height:none}
  .tb-nav a span{display:none}.tb-nav a{padding:8px}
  .quotes{grid-template-columns:1fr 1fr}
}
@media (max-width:1000px){
  .comp-grid{grid-template-columns:1fr}
  .seas-heat{grid-template-columns:repeat(6,1fr)}
}
@media (max-width:860px){
  :root{--tb-h:52px}
  .tb{gap:10px}
  .tb-nav,.tb-search kbd,.clock small{display:none}
  .tb-search{display:none}
  #btnSearchM{display:inline-grid}
  .tb.searching .tb-search{display:flex;position:absolute;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:9px;max-width:none;margin:0;z-index:60;background:#0d1016}
  .clock span{font-size:13px}
  .live-pill{padding:0 8px}
  main{padding:10px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}
  .term{grid-template-columns:minmax(0,1fr);border-radius:12px}
  .term>.pn,.term>.c4,.term>.c5,.term>.c6,.term>.c7,.term>.c8,.term>.c12{grid-column:1/-1}
  .inst-bar{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin:0 calc(-1 * max(10px,env(safe-area-inset-left))) 10px;padding:0 max(10px,env(safe-area-inset-left))}
  .inst-bar::-webkit-scrollbar{display:none}
  .ichip{flex:0 0 auto;min-width:172px;scroll-snap-align:start;padding:9px 11px}
  .ichip .ic-t small,.ichip svg.spk{display:none}
  .inst-head{padding:10px;gap:10px}
  .ih-id{flex:1 1 auto}
  .ih-act{margin-left:auto}
  .ih-act .btn span{display:none}.ih-act .btn{padding:6px 9px}
  .pills{order:3;flex:1 1 100%;margin:0;justify-content:flex-start}
  .pills button{flex:1 0 auto;padding:7px 12px}
  .chart-box{height:380px}
  #calMini{height:420px!important}#calInst{height:640px!important}#calFull{height:620px!important}#advChart{height:420px!important}
  .greet{flex-direction:column;align-items:stretch;gap:12px}
  .gr-stats{width:100%}.gs{flex:1 1 0}
  .gs{padding:8px 10px}.gs b{font-size:12px;white-space:normal;line-height:1.25}
  .vh h1{font-size:22px}
  .cot-split{grid-template-columns:1fr}
  .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    background:rgba(8,9,13,.92);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-top:1px solid var(--line)}
  .bnav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:10px;color:var(--mut);text-decoration:none;font-size:10.5px;font-weight:500;-webkit-tap-highlight-color:transparent}
  .bnav a svg{width:20px;height:20px}
  .bnav a.active{color:var(--txt)}.bnav a.active svg{color:var(--acc)}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  #toast,.pwa-bar{bottom:calc(76px + env(safe-area-inset-bottom))}
  .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:1fr 1fr}.form-grid .span2{grid-column:span 2}
}
@media (max-width:560px){
  .quotes{grid-template-columns:1fr}
  .seas-bias{grid-template-columns:1fr}.seas-heat{grid-template-columns:repeat(4,1fr)}
  .sc-rows,.so-grid{grid-template-columns:1fr}
  .ss-heat{grid-template-columns:repeat(6,1fr)}
  .sc-num{font-size:40px}
  .rt{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
  .tb-logo span{display:none}
  .comp-lbl{font-size:20px}.comp-score{font-size:26px}.cr{grid-template-columns:minmax(110px,1.3fr) 1fr 40px}.comp-w{font-size:11px}
  .mxc{min-width:44px;padding:8px 2px;font-size:11.5px}.mx .mi small{display:none}
  .filters input,.filters select{flex:1 1 140px}
  .vh .actions{width:100%}.vh .actions .btn{flex:1 1 auto}
}
@media (max-width:380px){
  .ss-heat{grid-template-columns:repeat(6,1fr)}
  .cot-t{font-size:11px}.cot-t td,.cot-t th{padding:4px 3px}
  .ichip{min-width:156px}
}
.is-standalone body{overscroll-behavior-y:none}

/* ---------- omezení pohybu ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .skel::after{display:none}
}

.pwa-bar{position:fixed;z-index:60;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,24px);opacity:0;pointer-events:none;
  display:flex;align-items:center;gap:12px;width:min(520px,calc(100% - 24px));padding:12px 12px 12px 14px;border-radius:16px;
  background:rgba(17,23,36,.94);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid var(--line2);box-shadow:0 18px 50px rgba(0,0,0,.5);transition:transform .35s var(--ease),opacity .35s var(--ease)}
.pwa-bar.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.pwa-bar .pb-t{flex:1;min-width:0;font-size:13px;line-height:1.4;color:var(--txt2)}.pwa-bar .pb-t b{color:var(--txt)}
.pwa-bar.ios .pb-t b:first-child{display:block;margin-bottom:2px}
.pwa-bar .pb-k{white-space:nowrap}
.pwa-bar .pb-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(79,140,255,.16);color:var(--acc);font-size:17px;font-weight:700;flex:0 0 auto}
.pwa-bar .pb-app{width:40px;height:40px;border-radius:10px;flex:0 0 auto}
.pwa-bar .pb-share{width:16px;height:16px;vertical-align:-3px;color:var(--acc)}
.pwa-bar .pb-x{flex:0 0 auto;width:30px;height:30px;border-radius:9px;border:0;background:transparent;color:var(--mut);font-size:20px;line-height:1;cursor:pointer}
.pwa-bar .pb-x:hover{background:rgba(255,255,255,.06);color:var(--txt)}
.pwa-bar .btn.sm{padding:7px 12px;font-size:13px;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.pwa-bar{transition:none}}

/* =================== v5 · zprávy =================== */
.vh-a{display:flex;align-items:center;gap:8px}
.vh-a{min-width:0;max-width:100%}
#newsUpd{max-width:min(100%,52vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news-side .dt{display:block;overflow-x:auto;max-width:100%}
.tb-nav a{position:relative}
.nav-badge{position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--bear);color:#fff;font:700 9px/15px var(--f-mono);text-align:center}
.news-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.news-filters .seg button{font:600 12px var(--f-mono)}
.nf-hi{margin:0 0 0 auto;color:var(--txt2);font-size:12.5px;cursor:pointer;user-select:none}
.news-term{align-items:start}
.news-side{display:flex;flex-direction:column;gap:1px;background:var(--line);min-width:0;align-self:stretch}
.news-side .pn{flex:0 0 auto}.news-side .pn:last-child{flex:1 1 auto}
.nl{list-style:none;margin:0;padding:0}
.ni{display:grid;grid-template-columns:62px minmax(0,1fr);gap:4px 12px;padding:10px 14px;border-bottom:1px solid var(--line);position:relative}
.ni:last-child{border-bottom:0}
.ni:hover{background:var(--hov)}
.ni::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:transparent}
.ni.i-high::before{background:var(--bear)}.ni.i-med::before{background:var(--warn)}
.ni.fresh{background:linear-gradient(90deg,rgba(47,107,255,.08),transparent 60%)}
.ni-t{display:flex;flex-direction:column;gap:2px;font:600 12.5px var(--f-mono);color:var(--txt);line-height:1.2;padding-top:1px}
.ni-t small{font:500 10px var(--f-mono);color:var(--mut)}
.ni-m{min-width:0;display:flex;flex-direction:column;gap:5px}
.ni-h{color:var(--txt);text-decoration:none;font:500 13.5px/1.4 var(--f-ui);overflow-wrap:anywhere}
.ni-h:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--acc)}
.ni-h .ext{width:11px;height:11px;margin-left:4px;vertical-align:-1px;color:var(--mut2)}
.ni-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.nt{font:600 9.5px/1 var(--f-mono);letter-spacing:.04em;padding:4px 6px;border-radius:5px;background:var(--panel2);color:var(--txt2);white-space:nowrap}
.nt.src{background:none;color:var(--mut);padding-left:0;letter-spacing:0;font-weight:500}
.nt.sched{background:rgba(47,107,255,.14);color:#9db8ff}
.nt.unsched{background:rgba(245,185,66,.12);color:var(--warn)}
.nt.imp-high{background:var(--bear-soft);color:var(--bear)}
.nt.imp-med{background:rgba(245,185,66,.1);color:#e0b55a}
.nt.cat{background:none;border:1px solid var(--line2);color:var(--txt2)}
.nt.mk{background:var(--inset);border:1px solid var(--line);color:var(--txt)}
.nt.beat,.nt.bull{background:var(--bull-soft);color:var(--bull)}
.nt.miss,.nt.bear{background:var(--bear-soft);color:var(--bear)}
.nt.inline,.nt.neu{background:var(--neu-soft);color:var(--txt2)}
.ni-d{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font:500 11.5px var(--f-mono);color:var(--txt2);background:var(--inset);border:1px solid var(--line);border-radius:7px;padding:6px 9px;width:auto;max-width:100%;box-sizing:border-box}
.ni-d span{white-space:nowrap}.ni-d b{color:var(--txt);font-weight:700}
.ni-d .a.bull b{color:var(--bull)}.ni-d .a.bear b{color:var(--bear)}
.n-empty{padding:22px 14px;color:var(--mut);font-size:13px;text-align:center}
.n-more{display:block;padding:10px 14px;text-align:center;font:600 12px var(--f-ui);color:var(--acc2);text-decoration:none;border-top:1px solid var(--line)}
.n-more:hover{background:var(--hov)}
.dt{width:100%;border-collapse:collapse;font-size:12px}
.dt td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.dt tr:last-child td{border-bottom:0}
.dt td:first-child{padding-left:14px;font:500 11px var(--f-mono);color:var(--mut);white-space:nowrap}
.dt td:last-child{padding-right:14px;text-align:right;white-space:nowrap}
.dt .ev{color:var(--txt);line-height:1.35}
.dt .ev small{display:block;font:500 10.5px var(--f-mono);color:var(--mut);margin-top:2px}
.dt .cur{font:700 10px var(--f-mono);color:var(--acc2);margin-right:4px}
.dt a{color:inherit;text-decoration:none}.dt a:hover{text-decoration:underline}
.dt .idot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:var(--warn)}
.dt .idot.high{background:var(--bear)}
.src-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.src-l li{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--txt2);min-width:0}
.src-l li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.src-l i{width:6px;height:6px;border-radius:50%;background:var(--bull);flex:0 0 auto}
.src-l li.bad i{background:var(--bear)}.src-l li.bad{color:var(--mut)}
.src-l small{margin-left:auto;font:500 10px var(--f-mono);color:var(--mut)}
/* Hotovo | Plánované – dva sloupce i na mobilu (~390) dle mockupu */
.news-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:var(--line);align-items:stretch;min-width:0;max-width:100%;overflow:hidden}
.nc-col{background:var(--panel);min-width:0;display:flex;flex-direction:column}
.nc-col + .nc-col{border-left:1px solid var(--line)}
.nc-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 10.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:9px 12px 8px;border-bottom:1px solid var(--line);background:var(--panel2)}
.nc-done .nc-h{color:#7ddea8}
.nc-plan .nc-h{color:var(--acc2)}
.nc-n{font:600 10px var(--f-mono);letter-spacing:0;color:var(--mut);background:var(--inset);border:1px solid var(--line);border-radius:999px;padding:2px 7px}
.nc-empty{padding:16px 10px;font-size:12px}
.ni.plan{background:linear-gradient(90deg,rgba(47,107,255,.05),transparent 55%)}
#newsMini .news-cols .ni-h{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#newsMini .news-cols .ni{padding:9px 10px;grid-template-columns:44px minmax(0,1fr);gap:3px 8px}
#newsMini .news-cols .ni-t{font-size:11px}
#newsMini .news-cols .ni-d{font-size:10.5px;padding:4px 7px}
#newsMini .news-cols .nt{font-size:8.5px;padding:3px 5px}
.news-cols .ni-tags{gap:3px}
.news-cols .ni-d{gap:3px 8px}
.news-cols .nt{max-width:100%;overflow:hidden;text-overflow:ellipsis}
#pnNews,#pnNewsFeed,#newsList,#newsMini{max-width:100%;overflow-x:hidden}
#newsList{max-height:none}
#newsList .news-cols{border-top:0}
/* Úzký displej: sloupce jako u páru – bez dlouhých souhrnů, clamp titulků */
.nb-more{margin:0}
.nb-more-s{list-style:none;cursor:pointer;font:600 10px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc2);padding:2px 0;user-select:none}
.nb-more-s::-webkit-details-marker{display:none}
@media (min-width:600px){
  .news-cols .nb-more-s{display:none}
  .news-cols .nb-more .nb-sum{display:block;margin:0}
}
@media (max-width:599px){
  .news-cols .nb-sum{display:none}
  .news-cols .nb-more[open] .nb-sum{display:block;font-size:11.5px;line-height:1.4;margin:2px 0 0}
  .news-cols .nb-more-s{display:inline-block}
  .news-cols .ni-h{
    font-size:12.5px;line-height:1.35;font-weight:600;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }
  .news-cols .ni{padding:8px 8px;grid-template-columns:40px minmax(0,1fr);gap:2px 6px}
  .news-cols .ni-t{font-size:10.5px}
  .news-cols .ni-t small{font-size:9px}
  .news-cols .ni-d{font-size:10px;padding:4px 6px;gap:2px 6px}
  .news-cols .ni-tags{gap:2px;max-height:2.6em;overflow:hidden}
  .news-cols .nt{font-size:8px;padding:2px 4px;letter-spacing:.02em}
  .news-cols .nt.cat,.news-cols .nt.src{display:none} /* na úzkém jen dopad + typ + trh */
  .news-cols .nt.mk{padding:2px 4px}
  .news-cols .nc-h{padding:7px 8px 6px;font-size:9.5px}
  .news-cols .nc-empty{padding:12px 8px;font-size:11px}
  #newsList .news-cols .ni-m{gap:4px}
}

#pnNewsFeed .pn-h h3 .ik::after{content:""}
@media (max-width:1200px){
  .news-term>.c8,.news-term>.c4{grid-column:span 12}
  .news-side{display:grid;grid-template-columns:1fr 1fr}
  .news-side .pn:last-child{grid-column:1/-1}
}
@media (max-width:860px){
  .bnav{grid-template-columns:repeat(6,1fr)}
  .bnav a{font-size:10px}
  .news-side{display:flex}
  .nf-hi{margin-left:0}
  .news-filters .seg{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .news-filters .seg button{flex:1 0 auto;padding:7px 10px}
  .news-cols{grid-template-columns:1fr 1fr} /* mockup: 2 sloupce i na 390 px */
  .nc-h{padding:8px 8px 7px;font-size:9.5px;letter-spacing:.1em}
  #newsMini .news-cols .ni{padding:8px 8px;grid-template-columns:40px minmax(0,1fr);gap:2px 6px}
  #newsList .news-cols .ni{grid-template-columns:44px minmax(0,1fr);gap:3px 8px;padding:9px 10px}
  .ni{grid-template-columns:48px minmax(0,1fr);gap:4px 10px;padding:10px 12px}
  .src-l{grid-template-columns:1fr}
}
/* v5.2 · spotlight: hero + důvody trhu */
.news-spot{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:0 0 10px;box-shadow:var(--shadow)}
.news-spot[hidden]{display:none!important}
.nh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:14px 16px;background:
  radial-gradient(120% 140% at 0% 0%,rgba(47,107,255,.16),transparent 55%),
  linear-gradient(180deg,rgba(18,21,29,.9),var(--panel));position:relative;min-width:0}
.nh::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc)}
.nh.bull::before{background:var(--bull)}.nh.bear::before{background:var(--bear)}.nh.bot::before{background:#a48bff}
.nh-k{grid-column:1/-1;display:inline-flex;align-items:center;gap:8px;font:700 10.5px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}
.nh.bot .nh-k{color:#c4b5ff}.nh.bull .nh-k{color:var(--bull)}.nh.bear .nh-k{color:var(--bear)}
.nh-pulse{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:nhpulse 1.8s infinite}
@keyframes nhpulse{0%{box-shadow:0 0 0 0 rgba(91,140,255,.45)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.nh-pulse{animation:none}}
.nh-main{min-width:0;display:flex;flex-direction:column;gap:8px}
.nh-h{color:var(--txt);text-decoration:none;font:700 18px/1.3 var(--f-disp);letter-spacing:-.015em;overflow-wrap:anywhere}
.nh-h:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--acc)}
.nh-h .ext{width:13px;height:13px;margin-left:6px;vertical-align:-1px;color:var(--mut2)}
.nh-sum{margin:0;color:var(--txt2);font:400 13.5px/1.5 var(--f-ui);max-width:62ch}
.nh-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:6px;padding-top:2px}
.nh-ago{font:700 11px/1 var(--f-mono);letter-spacing:.04em;color:var(--acc2);background:var(--acc-soft);border:1px solid rgba(47,107,255,.28);border-radius:999px;padding:5px 9px;white-space:nowrap}
.nh-clock{display:flex;flex-direction:column;align-items:flex-end;font:600 13px/1.15 var(--f-mono);color:var(--txt)}
.nh-clock small{font:500 10px var(--f-mono);color:var(--mut);margin-top:2px}
.nm{display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;background:var(--panel2);min-width:0}
.nm-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;font:700 11px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--txt2)}
.nm-row{display:flex;flex-direction:column;gap:7px}
.nm-chip{appearance:none;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:2px;align-items:start;text-align:left;width:100%;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--inset);color:var(--txt);cursor:pointer;transition:border-color .15s,background-color .15s,transform .12s}
.nm-chip:hover{border-color:var(--line2);background:var(--hov);transform:translateY(-1px)}
.nm-chip:active{transform:none}
.nm-chip.bull{box-shadow:inset 3px 0 0 var(--bull)}.nm-chip.bear{box-shadow:inset 3px 0 0 var(--bear)}
.nm-mk{grid-row:1/3;align-self:center;font:800 13px/1 var(--f-mono);letter-spacing:.02em}
.nm-chip.bull .nm-mk,.nm-chip.bull .nm-verb{color:var(--bull)}
.nm-chip.bear .nm-mk,.nm-chip.bear .nm-verb{color:var(--bear)}
.nm-verb{font:700 11.5px/1.2 var(--f-mono);letter-spacing:.02em}
.nm-why{grid-column:2;color:var(--txt2);font:500 12px/1.35 var(--f-ui);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* jemnější feed karty */
.ni{transition:background-color .15s}
.ni .ni-h{font-weight:600}
.ni.i-high .ni-h{letter-spacing:-.005em}
@media (max-width:1100px){
  .news-spot{grid-template-columns:1fr}
  .nh-h{font-size:16.5px}
}
@media (max-width:860px){
  .nh{grid-template-columns:minmax(0,1fr);padding:12px 13px}
  .nh-side{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
  .nh-clock{align-items:flex-start}
  .nm-chip{grid-template-columns:46px minmax(0,1fr)}
}

/* v5.1 · News bot + filtr šumu */
.nf-noise{color:var(--mut);font-size:12.5px;cursor:pointer;user-select:none}
.nb-pn{margin:0 0 1px;border:1px solid rgba(124,92,255,.45);box-shadow:inset 3px 0 0 #7c5cff;background:linear-gradient(90deg,rgba(124,92,255,.10),transparent 55%),var(--panel)}
.nb-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#a48bff;box-shadow:0 0 0 3px rgba(164,139,255,.18);margin-right:7px;vertical-align:1px}
.nb-pn .nl{max-height:none}
.nb-empty{padding:12px 14px;color:var(--mut);font-size:12.5px}
.ni.bot{background:linear-gradient(90deg,rgba(124,92,255,.12),transparent 70%)}
.ni.bot::before{background:#a48bff!important;width:3px}
.ni.noise{opacity:.55}
.ni.noise .ni-h{font-weight:400}
.nt.bot{background:rgba(124,92,255,.2);color:#c4b5ff}
.nt.rel{background:none;border:1px dashed var(--line2);color:var(--mut)}
.nb-sum{margin:0;color:var(--txt2);font:400 13px/1.5 var(--f-ui)}
.nb-dir{display:flex;flex-wrap:wrap;gap:4px}
.nb-dir .nt b{font-weight:800;margin-left:3px}
.sub:not(.active),.view:not(.active){display:none!important}

/* Real macro observations: separate context, never legacy score pills. */
.macro-panel{border-top:1px solid var(--line);min-width:0}
.macro-heading{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.macro-heading h4{font:600 12px/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.07em;margin:0}
.macro-state{display:block;font:10px/1.5 var(--f-mono);color:var(--mut)}
.macro-warn{color:#e5b65a}
.macro-disclaimer{font-size:10px;line-height:1.6;color:var(--mut);margin:8px 0 12px}
.macro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}
.macro-factor{min-width:0;background:var(--panel2);border:1px solid var(--line);border-radius:7px}
.macro-factor summary{cursor:pointer;list-style:none;padding:10px;min-width:0;outline-offset:2px}
.macro-factor summary::-webkit-details-marker{display:none}
.macro-factor-name{display:flex;justify-content:space-between;gap:5px;font:600 11px/1.5 var(--f-mono);color:var(--txt2)}
.macro-peek{display:grid;grid-template-columns:auto 1fr;gap:1px 5px;margin-top:8px;font:10px/1.4 var(--f-mono);min-width:0}
.macro-peek strong{text-align:right;color:var(--txt);font-size:12px}
.macro-peek small{grid-column:1/-1;font:9px/1.6 var(--f-mono);color:var(--mut);overflow-wrap:anywhere}
.macro-factor[open]{grid-column:1/-1}
.macro-factor[open] summary{border-bottom:1px solid var(--line)}
.macro-detail{padding:0 10px 10px;overflow-wrap:anywhere}
.macro-observation{padding-top:12px;font-size:10px;line-height:1.65;color:var(--mut)}
.macro-observation+.macro-observation{border-top:1px solid var(--line);margin-top:12px}
.macro-observation>b{color:var(--txt2);font-size:11px}
.macro-observation p{margin:6px 0}
.macro-actual{font-family:var(--f-mono);color:var(--txt)}
.macro-observation dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 8px;margin:8px 0}
.macro-observation dd{margin:0;color:var(--txt2)}
.macro-observation a{color:#8aafff;text-decoration:underline}
.macro-method{font-size:10px;line-height:1.65;color:var(--mut)}
.macro-method summary{cursor:pointer;color:var(--txt2)}
@media(max-width:380px){.macro-grid{gap:5px}.macro-factor summary{padding:8px}.macro-factor-name{font-size:10px}}
.macro-rule{font:10px/1.65 var(--f-mono);color:var(--mut);margin:8px 0;overflow-wrap:anywhere}

/* Web Push panel (Zprávy) */
.push-panel{margin:0 0 14px}
.push-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px}
.push-help{margin:0;font-size:13px;line-height:1.45;color:var(--txt2)}
.push-help b{color:var(--txt)}
#btnPushToggle{align-self:flex-start}

/* ---------- Reports (noční high-impact) ---------- */
.rp-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 2px 12px}
.rp-sum{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.rp-kpi{display:flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}
.rp-kpi b{font:700 18px var(--f-mono);color:var(--txt)}.rp-kpi span{font-size:11.5px;color:var(--mut)}
.rp-kpi.hot{border-color:rgba(255,83,99,.45);background:linear-gradient(135deg,rgba(255,83,99,.14),var(--panel))}.rp-kpi.hot b{color:var(--bear)}
.rp-mk{display:flex;gap:5px;flex-wrap:wrap;margin-left:auto}
.rp-pn{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:10px}
.rp-l{list-style:none;margin:0;padding:0}
.rp-i{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 14px;padding:14px 16px;border-bottom:1px solid var(--line);border-left:3px solid var(--warn);position:relative}
.rp-i:last-child{border-bottom:0}
.rp-i.crit{border-left-color:var(--bear);background:linear-gradient(90deg,rgba(255,83,99,.06),transparent 40%)}
.rp-i.bot{border-left-color:#7c5cff;background:linear-gradient(90deg,rgba(124,92,255,.08),transparent 40%)}
.rp-t{font:700 15px var(--f-mono);color:var(--txt);padding-top:1px}
.rp-m h4{margin:0 0 6px;font:600 15px/1.35 var(--f-ui)}
.rp-m h4 a{color:var(--txt);text-decoration:none}.rp-m h4 a:hover{color:var(--acc2);text-decoration:underline}
.rp-m p{margin:0 0 8px;color:var(--txt2);font-size:13.5px;line-height:1.45}
.rp-num,.ce-n{display:flex;gap:10px;flex-wrap:wrap;font:500 12px var(--f-mono);color:var(--mut);margin:0 0 7px}
.rp-num b,.ce-n b{color:var(--txt)}
.rp-num .a.bull b,.ce-n .a.bull b{color:var(--bull)}.rp-num .a.bear b,.ce-n .a.bear b{color:var(--bear)}
.rp-tags{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.rp-empty{margin:14px}.rp-empty .es-ic,.ct-empty .es-ic{font-size:26px}

/* ---------- Kalendář: týdenní pás + Dnes ---------- */
.cal-today-pn{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.cal-src{margin:0;padding:0 14px 12px}
.cw{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0 14px}
.cw-d{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px 11px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--txt);cursor:pointer;text-align:left;font:inherit;transition:border-color .18s,background-color .18s,transform .12s}
.cw-d:hover{border-color:var(--line2)}
.cw-d.past{opacity:.55}
.cw-d.sel{border-color:rgba(91,140,255,.6);box-shadow:0 0 0 1px rgba(91,140,255,.35) inset}
.cw-d.today{opacity:1;background:linear-gradient(150deg,rgba(47,107,255,.32),rgba(47,107,255,.08) 60%,var(--panel2));border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset,0 10px 30px -12px rgba(47,107,255,.9)}
.cw-wd{font:600 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cw-d.today .cw-wd{color:#cfe0ff}
.cw-dt{font:700 20px/1.1 var(--f-disp)}
.cw-c{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}
.cw-c em{font-style:normal}
.cw-c i{font:600 10px var(--f-mono);font-style:normal;color:var(--mut);padding:2px 5px;border-radius:5px;background:var(--inset)}
.cw-c i.h{color:var(--bear);background:var(--bear-soft)}.cw-c i.m{color:#e0b55a;background:rgba(245,185,66,.1)}
.cw-badge{position:absolute;top:8px;right:8px;font:800 9.5px var(--f-mono);letter-spacing:.12em;color:#fff;background:var(--acc);padding:3px 6px;border-radius:6px}
.cw-key{position:absolute;bottom:8px;right:10px;color:var(--gold);font-size:13px}
.ct-h{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:4px 2px 12px;border-bottom:1px solid var(--line)}
.ct-h h2{margin:0;font:700 24px/1.15 var(--f-disp);letter-spacing:-.01em}
.ct-h .vh-k{margin:0 0 3px}
.ct-today{display:inline-block;vertical-align:4px;margin-left:6px;font:800 11px var(--f-mono);letter-spacing:.14em;color:#fff;background:var(--acc);padding:4px 8px;border-radius:7px;box-shadow:0 0 18px -2px rgba(47,107,255,.8)}
.ct-sum{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--mut)}
.ct-sum>span{padding:5px 9px;border-radius:8px;background:var(--panel2);border:1px solid var(--line)}
.ct-sum b{color:var(--txt);font-family:var(--f-mono)}.ct-sum .h b{color:var(--bear)}
.ct-sum .ct-next{border-color:rgba(47,107,255,.5);background:var(--acc-soft);color:#cfe0ff}
.ce-l{list-style:none;margin:0;padding:0}
.ce{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:4px 14px;align-items:start;padding:12px 10px 10px 12px;border-bottom:1px solid var(--line);border-left:3px solid transparent}
.ce.i-med{border-left-color:rgba(245,185,66,.55)}
.ce.i-high{border-left-color:var(--bear);background:linear-gradient(90deg,rgba(255,83,99,.07),transparent 45%)}
.ce.key{background:linear-gradient(90deg,rgba(245,185,66,.12),rgba(255,83,99,.05) 50%,transparent)}
.ce.key .ce-h b{font-size:15.5px}
.ce.past:not(.rel){opacity:.6}
.ce.rel .ce-t{color:var(--mut)}
.ce.next{box-shadow:0 0 0 1px rgba(47,107,255,.55) inset;background:linear-gradient(90deg,rgba(47,107,255,.16),transparent 60%)}
.ce-t{font:700 16px var(--f-mono);color:var(--txt);display:flex;flex-direction:column;gap:3px}
.ce-t small{font:800 9px var(--f-mono);letter-spacing:.12em;color:#fff;background:var(--acc);padding:2px 5px;border-radius:5px;width:max-content;animation:nhp 1.6s ease-in-out infinite}
.ce-h{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.ce-h b{font:600 14px/1.3 var(--f-ui)}
.ce-h .cur{font:700 10.5px var(--f-mono);color:var(--acc2);padding:2px 5px;border:1px solid rgba(91,140,255,.35);border-radius:5px}
.ce-f{font-size:15px;line-height:1}
.nt.key{background:rgba(245,185,66,.16);color:var(--gold)}
.nt.imp-low{background:var(--neu-soft);color:var(--mut)}
.ce-s{font:600 11.5px var(--f-mono);white-space:nowrap;padding-top:2px}
.ce-st{color:var(--mut)}.ce-st.done{color:var(--bull)}.ce-st.up{color:#cfe0ff}
.ce-now{position:relative;height:0;border-top:2px solid var(--acc);margin:6px 0;list-style:none}
.ce-now span{position:absolute;left:10px;top:-10px;font:700 10px var(--f-mono);color:#fff;background:var(--acc);padding:2px 7px;border-radius:999px}
@keyframes nhp{0%,100%{opacity:1}50%{opacity:.55}}
@media (max-width:860px){
  .bnav{grid-template-columns:repeat(7,1fr)}
  .bnav a{font-size:9.5px}
  .cw{gap:5px}
  .cw-d{padding:8px 6px 8px 8px;gap:2px}
  .cw-dt{font-size:15px}
  .cw-wd{font-size:10px}
  .cw-c{gap:3px}.cw-c i{padding:2px 4px}.cw-c em{display:none}
  .cw-badge{position:static;order:-1;font-size:8.5px;padding:2px 4px;margin-bottom:2px}
  .cw-key{bottom:6px;right:6px;font-size:11px}
  .rp-bar{flex-direction:column;align-items:stretch}
  .rp-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .rp-kpi{flex-direction:column;align-items:flex-start;gap:0;padding:7px 9px}
  .rp-mk{grid-column:1/-1}
  .ct-h h2{font-size:20px}
  .ce{grid-template-columns:52px minmax(0,1fr);padding:11px 8px 9px 10px}
  .ce-s{grid-column:2}
  .ce-t{font-size:14px}
  .rp-i{grid-template-columns:48px minmax(0,1fr);padding:12px}
  .rp-mk{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.ce-t small{animation:none}}
.rp-more{border-top:1px solid var(--line2)}
.rp-more h5{margin:0;padding:12px 16px 8px;font:600 12.5px var(--f-ui);color:var(--txt2);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.rp-i.more{border-left-color:var(--line2);opacity:.82}
.rp-i.more h4{font-size:14px;font-weight:500}
