/* Вэлью — v3 по дизайн-эталону. Onest, голубой градиент, стекло, лайм. */

:root {
  --bg: linear-gradient(135deg,#e9eef7 0%,#d3dded 48%,#c2d2e8 100%);
  --text: #16181d;
  --muted: #5e6a7e;
  --pale: #8a96a8;
  --lime: #C8FF00;
  --lime-deep: #B6E600;
  --slate: #9DB1C9;
  --warn: #E0741C;
  --warn-light: #F2872E;
  --dark: #16181d;
  --glass-bg: rgba(255,255,255,0.52);
  --glass-blur: 26px;
  --glass-border: rgba(255,255,255,0.7);
  --glass-shadow: 0 24px 56px -24px rgba(70,92,130,0.4);
  --glass-inset: inset 0 1px 0 rgba(255,255,255,0.8);
  --r-section: 32px;
  --r-card: 28px;
  --r-medium: 22px;
  --r-small: 14px;
  --r-pill: 999px;
  --gap: 22px;
  --max-w: 1480px;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100vh;color:var(--text);font-family:'Onest',system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-0.005em}
body{background:var(--bg);background-attachment:fixed}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--lime-deep);outline-offset:2px;border-radius:8px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ====== Layout ====== */
.app{min-height:100vh;padding:34px 40px 72px}
.app-inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;gap:30px}

/* ====== Nav ====== */
.topnav{position:relative;display:flex;align-items:center;gap:18px;background:var(--dark);border-radius:var(--r-pill);padding:11px 13px 11px 26px;box-shadow:0 22px 44px -22px rgba(16,20,30,0.55)}
.nav-burger{display:none;width:42px;height:42px;border-radius:var(--r-pill);align-items:center;justify-content:center;color:#fff;cursor:pointer;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.07)}
.nav-burger:hover{background:rgba(255,255,255,0.14)}
.brand{display:flex;align-items:center;gap:11px;padding-right:8px}
.brand-icon{width:26px;height:26px;border-radius:8px;background:var(--lime);display:flex;align-items:center;justify-content:center}
.brand-icon i{width:9px;height:9px;border-radius:3px;background:var(--dark);display:block}
.brand-text{color:#fff;font-weight:700;font-size:16px;letter-spacing:-0.01em;white-space:nowrap}
.nav-items{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav-items::-webkit-scrollbar{display:none}
.nav-item{color:rgba(255,255,255,0.62);font-weight:500;font-size:14.5px;padding:10px 15px;border-radius:var(--r-pill);white-space:nowrap;transition:background .12s,color .12s}
.nav-item:hover{color:rgba(255,255,255,0.85);background:rgba(255,255,255,0.06)}
.nav-item.is-active{color:var(--dark);background:var(--lime);font-weight:600;box-shadow:0 6px 16px rgba(200,255,0,0.35)}
.nav-item.is-active:hover{background:var(--lime);color:var(--dark)}
.nav-actions{display:flex;align-items:center;gap:9px}
.nav-btn{width:42px;height:42px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.07);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}
.nav-btn:hover{background:rgba(255,255,255,0.14)}
.nav-btn svg{width:18px;height:18px}

/* ====== Sub line ====== */
.sub{display:flex;align-items:center;gap:10px;margin-top:-12px;padding-left:6px;font-size:14.5px;color:var(--muted);font-weight:500}

/* ====== Section headers ====== */
.section-head{padding-left:6px}
.section-head h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-0.01em}
.section-head p{margin:6px 0 0;color:var(--muted);font-size:14.5px;font-weight:500}

/* ====== Glass card ====== */
.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--r-card);padding:28px 30px;box-shadow:var(--glass-shadow),var(--glass-inset)}
.glass-lite{background:rgba(255,255,255,0.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.65);border-radius:var(--r-medium);padding:22px 24px;box-shadow:0 18px 40px -24px rgba(70,92,130,0.34)}

/* ====== Dark card ====== */
.card-dark{background:var(--dark);border-radius:var(--r-card);padding:28px 30px;box-shadow:0 26px 50px -26px rgba(16,20,30,0.5);color:#fff}

/* ====== Warn card (риск) ====== */
.card-warn{background:rgba(224,116,28,0.12);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(224,116,28,0.3);border-radius:26px;padding:28px 30px;box-shadow:0 24px 50px -26px rgba(180,90,20,0.3)}
.card-warn .ccard-label{color:#a85a1c}
.card-warn .ccard-value{color:#c0610f}
.card-warn .ccard-sub{color:#a85a1c}

/* ====== Slate / Lime cards ====== */
.card-slate{background:rgba(157,177,201,0.32);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.6);border-radius:26px;padding:28px 30px;box-shadow:0 24px 50px -26px rgba(70,92,130,0.36)}
.card-lime{background:rgba(200,255,0,0.16);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(160,210,0,0.4);border-radius:26px;padding:28px 30px;box-shadow:0 24px 50px -26px rgba(120,150,40,0.3)}

/* ====== Bridge (Сейчас) ====== */
.bridge{background:var(--dark);border-radius:var(--r-section);padding:34px 38px 30px;box-shadow:0 34px 70px -30px rgba(16,20,30,0.55)}
.bridge-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}
.bridge-head h2{margin:0;color:#fff;font-size:27px;font-weight:700;letter-spacing:-0.01em}
.bridge-head p{margin:7px 0 0;color:rgba(255,255,255,0.5);font-size:14.5px;font-weight:500}
.bridge-live{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.42);font-size:13px;font-weight:500}
.bridge-live-dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--lime);box-shadow:0 0 12px 1px rgba(200,255,0,0.7)}

.bridge-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.bridge-cell{padding:0 32px}
.bridge-cell:first-child{padding-left:0}
.bridge-cell:last-child{padding-right:0}
.bridge-cell:not(:last-child){border-right:1px solid rgba(255,255,255,0.09)}
.bridge-label{color:rgba(255,255,255,0.5);font-size:14px;font-weight:500;margin-bottom:14px}
.bridge-value{font-size:46px;font-weight:700;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;line-height:1;color:#fff}
.bridge-value.lime{color:var(--lime)}
.bridge-sub{color:rgba(255,255,255,0.38);font-size:13px;font-weight:500;margin-top:22px}

.chip-up{display:inline-flex;align-items:center;gap:5px;margin-top:18px;background:var(--lime);color:var(--dark);font-weight:700;font-size:13.5px;padding:7px 14px;border-radius:var(--r-pill)}
.chip-up-soft{display:inline-flex;align-items:center;gap:5px;margin-top:18px;background:rgba(200,255,0,0.13);color:var(--lime);font-weight:600;font-size:13.5px;padding:7px 14px;border-radius:var(--r-pill)}
.chip-down{display:inline-flex;align-items:center;gap:5px;margin-top:18px;background:rgba(224,116,28,0.16);color:var(--warn-light);font-weight:600;font-size:13.5px;padding:7px 14px;border-radius:var(--r-pill)}
.chip-inline{display:flex;align-items:center;gap:10px;margin-top:18px}
.chip-inline .chip-note{color:rgba(255,255,255,0.38);font-size:13px;font-weight:500}

.bridge-strip{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.09);color:rgba(255,255,255,0.46);font-size:13.5px;font-weight:500;display:flex;gap:38px;flex-wrap:wrap}
.bridge-strip b{color:rgba(255,255,255,0.32);font-weight:500}
.bridge-strip .warn{color:var(--warn-light)}

/* прогноз на сегодня (полоса) */
.bridge-forecast{margin-top:24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:14px 18px}
.bf-label{color:rgba(255,255,255,0.6);font-size:13px;font-weight:600;display:inline-flex;align-items:center}
.bf-val{color:var(--lime);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.bf-range{color:rgba(255,255,255,0.45);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.bf-flag{margin-left:auto;background:rgba(224,116,28,0.18);color:var(--warn-light);font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:var(--r-pill)}

/* новые сегодня — раскрытие списком */
.nt-details{margin-top:14px}
.nt-details summary{cursor:pointer;color:rgba(255,255,255,0.62);font-size:13.5px;font-weight:600;list-style:none;padding:6px 0}
.nt-details summary::-webkit-details-marker{display:none}
.nt-details summary::before{content:"▸ ";color:rgba(255,255,255,0.4)}
.nt-details[open] summary::before{content:"▾ "}
.nt-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:6px}
.nt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.07);color:#fff;font-size:14px}
.nt-name{font-weight:600;font-variant-numeric:tabular-nums}
.nt-sum{color:rgba(255,255,255,0.85);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}

/* экспорт CSV */
.export-btn{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted);border:1px solid rgba(22,24,29,0.14);border-radius:var(--r-pill);padding:6px 14px;background:var(--glass-bg);white-space:nowrap}
.export-btn:hover{background:var(--lime);color:var(--dark);border-color:transparent}

/* мини-легенда под заголовком графика */
.chart-legend-mini{margin:0 0 14px;color:var(--muted);font-size:12.5px;font-weight:500}

/* LTV-когорты (таблица) */
.ltv-details{margin-top:18px}
.ltv-details summary{cursor:pointer;color:var(--muted);font-size:13.5px;font-weight:600;list-style:none;padding:6px 0}
.ltv-details summary::-webkit-details-marker{display:none}
.ltv-details summary::before{content:"▸ ";color:var(--pale)}
.ltv-details[open] summary::before{content:"▾ "}
.ltv-wrap{overflow-x:auto;margin-top:14px}
table.ltv{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
table.ltv th{text-align:right;color:var(--pale);font-size:12px;font-weight:600;padding:8px 12px;border-bottom:1px solid rgba(22,24,29,0.1)}
table.ltv th:first-child,table.ltv td.ltv-coh{text-align:left}
table.ltv td{text-align:right;padding:9px 12px;border-bottom:1px solid rgba(22,24,29,0.06);font-size:14px;font-weight:600}
.ltv-coh{font-weight:700}
.ltv-n{color:var(--muted);font-weight:500}
.ltv-cell{color:var(--text)}
.ltv-dash{color:var(--pale);font-weight:400}

/* выигрывающие — раскрытие списком (тёмный блок) */
.export-btn-dark{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.14);color:rgba(255,255,255,0.8)}
.export-btn-dark:hover{background:var(--lime);color:var(--dark);border-color:transparent}
.win-details{margin-top:8px}
.win-details summary{cursor:pointer;color:rgba(255,255,255,0.62);font-size:13.5px;font-weight:600;list-style:none;padding:6px 0}
.win-details summary::-webkit-details-marker{display:none}
.win-details summary::before{content:"▸ ";color:rgba(255,255,255,0.4)}
.win-details[open] summary::before{content:"▾ "}
.win-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:6px}
.win-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.07);color:#fff;font-size:14px}
.win-id{font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.win-sum{color:var(--warn-light);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ====== Hero ====== */
.hero{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--r-card);padding:36px 40px;box-shadow:var(--glass-shadow),var(--glass-inset)}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hero-label{color:var(--muted);font-size:15px;font-weight:600;margin-bottom:14px}
.hero-value{font-size:62px;font-weight:800;letter-spacing:-0.035em;font-variant-numeric:tabular-nums;line-height:0.95}
.hero-plan{font-size:19px;color:var(--pale);font-weight:500;font-variant-numeric:tabular-nums;margin-left:16px}
.badge-ok{display:inline-flex;align-items:center;gap:6px;background:rgba(200,255,0,0.14);color:#3f5a12;border:1px solid rgba(160,210,0,0.35);font-weight:600;font-size:14px;padding:9px 17px;border-radius:var(--r-pill);white-space:nowrap}
.badge-warn{display:inline-flex;align-items:center;gap:6px;background:rgba(242,135,46,0.13);color:var(--warn);border:1px solid rgba(242,135,46,0.28);font-weight:600;font-size:14px;padding:9px 17px;border-radius:var(--r-pill);white-space:nowrap}

.progress{margin-top:28px;height:15px;border-radius:var(--r-pill);background:rgba(22,24,29,0.07);overflow:hidden}
.progress-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--lime-deep),var(--lime));box-shadow:0 0 16px rgba(200,255,0,0.55);transition:width .4s}
.progress-foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px}
.progress-foot .pct{font-size:15px;font-weight:700}
.progress-foot .days{font-size:14px;color:var(--muted);font-weight:500}
.hero-behind{margin-top:16px;color:var(--warn);font-size:14.5px;font-weight:600}
.hero-behind.ok{color:#1f7d3c}

.goal-row{margin-top:22px;padding-top:20px;border-top:1px solid rgba(22,24,29,0.08);display:flex;align-items:center;gap:16px}
.goal-row .goal-label{font-size:13px;color:var(--muted);font-weight:500;white-space:nowrap}
.goal-row .goal-track{flex:1;height:7px;border-radius:var(--r-pill);background:rgba(22,24,29,0.07);overflow:hidden}
.goal-row .goal-fill{height:100%;border-radius:var(--r-pill);background:var(--slate)}
.goal-row .goal-fill.ok{background:var(--lime)}
.goal-row .goal-txt{font-size:13px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ====== 3-card row ====== */
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.ccard-label{font-size:14px;font-weight:500}
.ccard-value{font-size:42px;font-weight:700;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;margin-top:14px;line-height:1}
.ccard-unit{font-size:24px;font-weight:600}
.ccard-sub{font-size:13px;font-weight:500;margin-top:14px}
.card-dark .ccard-label{color:rgba(255,255,255,0.5)}
.card-dark .ccard-value{color:#fff}
.card-dark .ccard-sub{color:rgba(255,255,255,0.4)}
.card-slate .ccard-label{color:#52617a}
.card-slate .ccard-value{color:#22303f}
.card-slate .ccard-unit{color:#52617a}
.card-slate .ccard-sub{color:#52617a}
.card-lime .ccard-label{color:#5a6a2e}
.card-lime .ccard-value{color:#3f5a12}
.card-lime .ccard-sub{color:#5a6a2e}

/* ====== SVG chart ====== */
.chart-svg-wrap{padding:30px 34px 22px}
.chart-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.chart-head h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-0.01em}
.chart-head p{margin:5px 0 0;color:var(--muted);font-size:13.5px;font-weight:500}
.legend{display:flex;align-items:center;gap:18px}
.legend-item{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--muted)}
.legend-item.fact{color:#3f5a12;font-weight:600}
.legend-bar{width:18px;height:3px;border-radius:2px}
.legend-bar.plan{background:#9aa6b8;height:3px}
.legend-bar.fact{background:#7CB518;height:4px}
.legend-dash{width:18px;height:0;border-top:2px dashed var(--warn-light)}
.chart-svg{width:100%;height:300px;display:block}
.chart-canvas{height:300px;position:relative}
.bar-canvas{height:150px;position:relative}
.dow-canvas{height:140px;position:relative}
.chart-x-axis{display:flex;justify-content:space-between;padding:8px 4px 0 44px;color:var(--pale);font-size:12.5px;font-weight:600}

/* ====== 4 metrics ====== */
.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.metric-label{color:var(--muted);font-size:13.5px;font-weight:500}
.metric-value{font-size:32px;font-weight:700;letter-spacing:-0.025em;font-variant-numeric:tabular-nums;margin-top:10px}

/* ====== CSS bar charts ====== */
.bar-chart{display:flex;align-items:flex-end;gap:4px;height:150px}
.bar-chart .bar{flex:1;min-width:0;border-radius:5px 5px 3px 3px;background:var(--slate);transition:height .3s}
.bar-chart .bar.peak{background:var(--lime);box-shadow:0 0 14px rgba(200,255,0,0.55)}
.bar-chart-axis{display:flex;justify-content:space-between;padding-top:10px;color:var(--pale);font-size:12px;font-weight:600}
.bar-chart-sub{margin:0 0 22px;color:var(--muted);font-size:13px;font-weight:500}
.bar-chart-sub span{color:#3f5a12;font-weight:600}

/* ====== Weekday bars ====== */
.dow-chart{display:flex;align-items:flex-end;gap:12px;height:112px}
.dow-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.dow-col .bar{width:100%;border-radius:7px 7px 4px 4px;background:var(--slate)}
.dow-col .bar.peak{background:var(--lime);box-shadow:0 0 14px rgba(200,255,0,0.5)}
.dow-label{color:var(--pale);font-size:12px;font-weight:600}

/* ====== Peak hours chip ====== */
.peak-chip{display:inline-flex;align-items:center;gap:6px;background:var(--lime);color:var(--dark);font-weight:700;font-size:12.5px;padding:6px 13px;border-radius:var(--r-pill)}

/* ====== Buckets (dark) ====== */
.bucket-list{display:flex;flex-direction:column;gap:18px}
.bucket-row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.bucket-label{color:rgba(255,255,255,0.82);font-size:14px;font-weight:600}
.bucket-sum{color:rgba(255,255,255,0.5);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.bucket-bar-wrap{display:flex;align-items:center;gap:12px}
.bucket-track{flex:1;height:10px;border-radius:var(--r-pill);background:rgba(255,255,255,0.08);overflow:hidden}
.bucket-fill{height:100%;border-radius:var(--r-pill);background:var(--slate)}
.bucket-fill.hot{background:var(--lime);box-shadow:0 0 14px rgba(200,255,0,0.5)}
.bucket-pct{min-width:38px;text-align:right;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:rgba(255,255,255,0.82)}
.bucket-pct.hot{color:var(--lime)}

/* ====== New / returning ====== */
.split-big{display:flex;height:54px;border-radius:16px;overflow:hidden;gap:3px}
.split-ret{background:linear-gradient(120deg,var(--lime-deep),var(--lime));display:flex;flex-direction:column;justify-content:center;padding-left:20px}
.split-ret .split-pct{font-size:22px;font-weight:800;color:#2c3a08;line-height:1;font-variant-numeric:tabular-nums}
.split-ret .split-label{font-size:12px;font-weight:600;color:#3f5a12;margin-top:3px}
.split-new{background:var(--slate);display:flex;flex-direction:column;justify-content:center;padding-left:14px}
.split-new .split-pct{font-size:22px;font-weight:800;color:#22303f;line-height:1;font-variant-numeric:tabular-nums}
.split-new .split-label{font-size:12px;font-weight:600;color:#3a4a5e;margin-top:3px}
.split-foot{display:flex;justify-content:space-between;margin-top:16px;color:var(--muted);font-size:13px;font-weight:500}

/* ====== Calendar ====== */
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
.cal-arrow{width:32px;height:32px;border-radius:var(--r-pill);background:rgba(22,24,29,0.06);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--muted);transition:background .12s}
.cal-arrow:hover{background:var(--lime);color:var(--dark)}
.cal-legend{display:flex;align-items:center;gap:9px;color:var(--pale);font-size:12.5px;font-weight:600}
.cal-legend-dots{display:flex;gap:3px}
.cal-legend-dot{width:14px;height:14px;border-radius:4px}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.cal-weekday{text-align:center;color:var(--pale);font-size:12px;font-weight:600}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-cell{min-height:96px;display:flex;flex-direction:column;border-radius:var(--r-small);padding:10px 11px;text-decoration:none;transition:transform .08s,box-shadow .08s}
.cal-cell:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(20,40,80,0.12)}
.cal-cell-head{display:flex;align-items:center;justify-content:space-between}
.cal-d{font-size:13px;font-weight:700;color:var(--dark);font-variant-numeric:tabular-nums}
.cal-delta{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:7px;font-variant-numeric:tabular-nums}
.cal-delta.up{background:rgba(47,168,79,0.16);color:#1f7d3c}
.cal-delta.down{background:rgba(224,116,28,0.16);color:#c0610f}
.cal-body{margin-top:auto}
.cal-vol{font-size:17px;font-weight:700;color:var(--dark);letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.cal-meta{font-size:10.5px;font-weight:500;color:#52617a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:14px}
.cal-empty{min-height:96px;visibility:hidden}
.cal-today{outline:2px solid var(--lime);outline-offset:1px}

.cal-l0{background:rgba(255,255,255,0.5);border:1px solid rgba(22,24,29,0.06)}
.cal-l0 .cal-d{color:var(--pale)}
.cal-l1{background:rgba(200,255,0,0.15);border:1px solid rgba(22,24,29,0.06)}
.cal-l2{background:rgba(200,255,0,0.40);border:1px solid rgba(22,24,29,0.06)}
.cal-l3{background:rgba(200,255,0,0.70);border:1px solid rgba(160,210,0,0.6)}
.cal-l4{background:rgba(200,255,0,0.94);border:1px solid rgba(160,210,0,0.6)}

/* ====== Top-10 ====== */
.top10-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.top10-head h3{margin:0;color:#fff;font-size:18px;font-weight:700;letter-spacing:-0.01em}
.top10-share{display:inline-flex;align-items:center;gap:8px;background:rgba(200,255,0,0.12);color:var(--lime);font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:var(--r-pill)}
.top10-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 34px}
.top10-row{display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,0.07)}
.top10-rank{width:26px;height:26px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.6)}
.top10-rank.first{background:var(--lime);color:var(--dark)}
.top10-id{color:#fff;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;min-width:64px}
.top10-bar{flex:1;height:6px;border-radius:var(--r-pill);background:rgba(255,255,255,0.06);overflow:hidden}
.top10-fill{height:100%;border-radius:var(--r-pill);background:var(--slate)}
.top10-fill.first{background:var(--lime)}
.top10-sum{color:rgba(255,255,255,0.92);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;min-width:120px;text-align:right;display:flex;flex-direction:column;gap:2px}
.top10-subsum{color:rgba(255,255,255,0.4);font-size:12px;font-weight:500}
.retention-line{margin-top:16px;padding-top:16px;border-top:1px solid rgba(22,24,29,0.08);display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:500}
.ret-pct{font-size:24px;font-weight:800;color:#3f5a12;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;flex:none}

/* ====== Section group ====== */
.section-group{display:flex;flex-direction:column;gap:var(--gap)}

/* ====== Grids ====== */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.grid-peak{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--gap)}

/* ====== Day page ====== */
.day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.back-link{color:var(--muted);font-size:14px;display:inline-flex;align-items:center;gap:6px}
.back-link:hover{color:var(--text)}
.day-nav{display:flex;gap:12px}
.day-nav a{color:var(--text);font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border)}
.day-nav a:hover{background:var(--lime);color:var(--dark)}
.day-title{font-size:32px;font-weight:800;letter-spacing:-0.025em;margin:0}
.day-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.chip-delta{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:6px 11px;border-radius:var(--r-pill);margin-top:10px}
.chip-delta.up{background:var(--lime);color:var(--dark)}
.chip-delta.down{background:rgba(224,116,28,0.16);color:var(--warn)}

/* ====== Login ====== */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--bg);background-attachment:fixed}
.login-card{background:rgba(255,255,255,0.68);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--r-card);padding:36px;width:340px;box-shadow:var(--glass-shadow);display:flex;flex-direction:column}
.login-brand{text-align:center;padding-bottom:22px;font-size:22px;font-weight:700}
.login-brand span{color:var(--muted);font-weight:400;margin-left:4px}
.login-label{font-size:14px;color:var(--muted);margin-bottom:8px;font-weight:500}
.login-input{height:46px;border:1px solid rgba(40,55,80,0.10);border-radius:var(--r-small);padding:0 14px;font-size:15px;background:rgba(255,255,255,0.7);color:var(--text);font-family:inherit}
.login-input:focus{outline:2px solid var(--lime);outline-offset:1px;border-color:transparent}
.login-error{color:var(--warn);font-size:14px;margin:12px 0 0}
.login-btn{margin-top:20px;height:46px;border:none;border-radius:var(--r-small);background:var(--lime);color:var(--dark);font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}
.login-btn:hover{background:var(--lime-deep)}

/* ====== Empty / placeholder ====== */
.empty{text-align:center;padding:72px 28px;border:1px dashed var(--glass-border);border-radius:var(--r-card);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow)}
.empty h2{font-size:26px;font-weight:700;margin:16px 0 10px}
.empty p{max-width:520px;margin:0 auto 20px;color:var(--muted)}
.chip{display:inline-block;background:var(--lime);color:var(--dark);font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--r-pill)}
.empty .chip{margin-bottom:18px}

/* ====== Discipline mini-bar ====== */
.dot-track{height:6px;border-radius:var(--r-pill);background:rgba(22,24,29,0.07);overflow:hidden}
.dot-fill{height:100%;border-radius:var(--r-pill);background:var(--slate)}

/* ====== Депозит vs выручка ====== */
.dvr-head,.dvr-row{display:grid;grid-template-columns:1fr 130px 130px 78px;align-items:center;gap:14px}
.dvr-head{padding:0 26px 10px 4px;color:var(--pale);font-size:12px;font-weight:600;border-bottom:1px solid rgba(22,24,29,0.07)}
.dvr-row{padding:13px 4px;border-bottom:1px solid rgba(22,24,29,0.06);border-radius:10px}
.dvr-row:last-child{border-bottom:none}
.dvr-id{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dvr-num{text-align:right;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.dvr-conv{text-align:right;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}
.dvr-leak{background:rgba(224,116,28,0.06)}
.rev-neg{color:var(--warn)}
.dvr-head .dvr-num,.dvr-head .dvr-conv{font-size:12px;font-weight:600}

/* ====== Волатильность (полоска под графиком) ====== */
.vol-strip{display:flex;flex-wrap:wrap;gap:14px 32px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(22,24,29,0.08)}
.vol-strip>div{display:flex;flex-direction:column;gap:4px}
.vol-k{color:var(--pale);font-size:12px;font-weight:600}
.vol-v{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.vol-pm{color:var(--muted);font-size:14px;font-weight:600}

/* ====== Киты (тёмный риск-блок) ====== */
.whale-head,.whale-row{display:grid;grid-template-columns:1fr 130px 160px;gap:14px;align-items:center}
.whale-head{padding:0 26px 10px 4px;color:rgba(255,255,255,0.4);font-size:12px;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08)}
.whale-row{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,0.07);border-radius:10px}
.whale-row:last-child{border-bottom:none}
.whale-id{color:#fff;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whale-rev{text-align:right;color:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.whale-quiet{text-align:right;color:var(--warn-light);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}

/* ====== Back button + detail pages ====== */
.back-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);font-size:14px;font-weight:600;box-shadow:0 10px 24px -16px rgba(70,92,130,0.4);transition:background .12s,color .12s}
.back-btn:hover{background:var(--lime);color:var(--dark);border-color:transparent}
.pmetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.lrow{display:flex;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid rgba(22,24,29,0.07);border-radius:10px}
.lrow:last-child{border-bottom:none}
.lrank{width:26px;height:26px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;background:rgba(22,24,29,0.05);color:var(--muted)}
.lrank.first{background:var(--lime);color:var(--dark)}
.lid{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;min-width:90px}
.lbar{flex:1;height:6px;border-radius:var(--r-pill);background:rgba(22,24,29,0.06);overflow:hidden}
.lfill{height:100%;border-radius:var(--r-pill);background:var(--slate)}
.lfill.first{background:var(--lime)}
.lmeta{color:var(--muted);font-size:13px;font-weight:500;min-width:74px;text-align:right;font-variant-numeric:tabular-nums}
.lsum{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;min-width:120px;text-align:right}
/* покерный id рядом с ником */
.pid-sub{margin-left:8px;font-size:13px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.clickable--dark .pid-sub{color:rgba(255,255,255,0.45)}

/* ====== Clickable ====== */
.clickable{position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.clickable::after{content:"↗";position:absolute;top:14px;right:16px;font-size:15px;font-weight:700;line-height:1;color:var(--pale);transition:color .15s ease;pointer-events:none}
.clickable--dark::after{color:rgba(255,255,255,0.5)}
/* светлые блоки (стекло): мягкая лаймовая рамка + усиленная тень */
.clickable:hover{transform:translateY(-3px);box-shadow:0 0 0 1.5px rgba(200,255,0,0.5),0 22px 46px -22px rgba(70,92,130,0.5)}
.clickable:active{transform:translateY(-1px);box-shadow:0 0 0 1.5px rgba(200,255,0,0.4),0 12px 26px -18px rgba(70,92,130,0.4)}
.clickable:hover::after{color:var(--lime-deep)}
/* тёмные блоки: ещё деликатнее — тонкая полупрозрачная рамка + лёгкое внутреннее свечение */
.clickable--dark:hover{box-shadow:0 0 0 1px rgba(200,255,0,0.4),inset 0 0 24px rgba(200,255,0,0.07),0 24px 50px -24px rgba(16,20,30,0.6)}
.clickable--dark:active{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(200,255,0,0.32),inset 0 0 16px rgba(200,255,0,0.05),0 12px 26px -18px rgba(16,20,30,0.5)}
.clickable--dark:hover::after{color:var(--lime)}
.clickable--row::after{top:50%;right:8px;transform:translateY(-50%)}
.clickable--row{padding-right:26px!important}
/* mini — для столбцов графиков: только курсор + подсветка, без стрелки/подъёма */
.clickable--mini{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}
.bar.clickable--mini:hover{background:var(--lime);box-shadow:0 0 14px rgba(200,255,0,0.55)}
/* стрелка в углу непустой ячейки календаря — снизу справа, чтобы не пересекать дельту */
.cal-cell.clickable::after{content:"↗";top:auto;bottom:9px;right:10px;font-size:13px}
.cal-cell.clickable:hover{box-shadow:0 0 0 1.5px rgba(200,255,0,0.5),0 10px 22px -8px rgba(20,40,80,0.2)}

/* ====== Воронка ====== */
.funnel-filters{display:flex;flex-direction:column;gap:14px}
.ff-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}
.ff-field{display:flex;flex-direction:column;gap:6px}
.ff-label{font-size:12px;font-weight:600;color:var(--muted)}
.ff-input{height:42px;border:1px solid rgba(22,24,29,0.12);border-radius:var(--r-small);padding:0 12px;font-size:14px;font-family:inherit;background:rgba(255,255,255,0.7);color:var(--text)}
.ff-input:focus{outline:2px solid var(--lime);outline-offset:1px;border-color:transparent}
select.ff-input{cursor:pointer}
#utmSelect{height:auto;padding:6px}
.ff-submit{height:42px;padding:0 24px;border:none;border-radius:var(--r-small);background:var(--lime);color:var(--dark);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;margin-left:auto}
.ff-submit:hover{background:var(--lime-deep)}

.fn-warn{background:rgba(224,116,28,0.12);border:1px solid rgba(224,116,28,0.3);color:#c0610f;font-size:13.5px;font-weight:600;padding:12px 18px;border-radius:14px}
.fn-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-left:6px}
.fn-presets-label{color:var(--muted);font-size:13px;font-weight:600;margin-right:4px}
.fn-preset{padding:8px 16px;border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);font-size:13.5px;font-weight:600;transition:background .12s}
.fn-preset:hover{background:rgba(200,255,0,0.18)}
.fn-preset.is-active{background:var(--lime);color:var(--dark);border-color:transparent;box-shadow:0 6px 16px rgba(200,255,0,0.35)}
.fn-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--gap)}
.fn-kpi{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--r-medium);padding:22px 26px;box-shadow:0 18px 40px -24px rgba(70,92,130,0.34)}
.fn-kpi-main{background:var(--dark);border-color:transparent}
.fn-kpi-main .fn-kpi-label{color:rgba(255,255,255,0.55)}
.fn-kpi-main .fn-kpi-val{color:var(--lime)}
.fn-kpi-main .fn-kpi-sub{color:rgba(255,255,255,0.4)}
.fn-kpi-drop{background:rgba(224,116,28,0.1);border-color:rgba(224,116,28,0.25)}
.fn-kpi-drop .fn-kpi-val{color:#c0610f}
.fn-kpi-label{font-size:13.5px;font-weight:600;color:var(--muted);display:flex;align-items:center}
.fn-kpi-val{font-size:38px;font-weight:800;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;margin-top:8px;line-height:1.05}
.fn-kpi-sub{font-size:13px;font-weight:500;color:var(--muted);margin-top:8px}
.fn-immature{background:rgba(157,177,201,0.18);border:1px solid rgba(157,177,201,0.4);color:#3a4a5e;font-size:13.5px;font-weight:500;padding:12px 18px;border-radius:14px}
.fn-money-row{display:flex;gap:48px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid rgba(22,24,29,0.08)}
.fn-money-row>div{display:flex;flex-direction:column;gap:4px}
.fn-money-k{color:var(--muted);font-size:13px;font-weight:600}
.fn-money-v{font-size:30px;font-weight:800;letter-spacing:-0.025em;font-variant-numeric:tabular-nums}
.fn-money-v.lime{color:#3f5a12}
/* дневной график лидов (кликабельные столбцы) */
.fnd-bars{display:flex;align-items:flex-end;gap:2px;height:140px;min-height:140px;width:100%;overflow-x:auto;padding-top:8px}
.fnd-col{flex:1 1 0;min-width:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;text-decoration:none}
.fnd-bar{width:100%;min-height:4px;flex:none;border-radius:4px 4px 0 0;background:var(--slate);transition:background .12s,box-shadow .12s}
.fnd-col:hover .fnd-bar{background:var(--lime);box-shadow:0 0 14px rgba(200,255,0,0.5)}
.fnd-x{font-size:9px;color:var(--pale);margin-top:4px;font-weight:600;font-variant-numeric:tabular-nums}
/* время до депозита */
.td-bars{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.td-row{display:flex;align-items:center;gap:14px}
.td-k{min-width:150px;font-size:14px;font-weight:600}
.td-track{flex:1;height:14px;border-radius:var(--r-pill);background:rgba(22,24,29,0.07);overflow:hidden}
.td-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--lime-deep),var(--lime))}
.td-fill.slate{background:var(--slate)}
.td-v{min-width:48px;text-align:right;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
/* зависшие лиды (тёмный список) */
.lb-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}
.stuck-head,.stuck-row{display:grid;grid-template-columns:1fr 120px 110px 90px;gap:14px;align-items:center}
.stuck-head{padding:0 26px 10px 4px;color:rgba(255,255,255,0.4);font-size:12px;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08)}
.stuck-row{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,0.07);border-radius:10px}
.stuck-row:last-child{border-bottom:none}
.stuck-id{color:#fff;font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stuck-grp{color:rgba(255,255,255,0.65);font-size:13px;font-weight:500}
.stuck-date{text-align:right;color:rgba(255,255,255,0.6);font-size:13px;font-variant-numeric:tabular-nums}
.stuck-days{text-align:right;color:var(--warn-light);font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums}

/* UTM-лидерборд */
.lb-wrap{overflow-x:auto}
table.lb{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
table.lb th{text-align:right;color:var(--pale);font-size:12px;font-weight:600;padding:8px 12px;border-bottom:1px solid rgba(22,24,29,0.1)}
table.lb th:first-child,table.lb td.lb-grp{text-align:left}
table.lb td{text-align:right;padding:11px 12px;border-bottom:1px solid rgba(22,24,29,0.06);font-size:14px;font-weight:600}
.lb-grp{font-weight:700}
.lb-val{font-weight:800}
.lb-best{background:rgba(200,255,0,0.12)}
.lb-best .lb-val{color:#3f5a12}
.lb-worst{background:rgba(224,116,28,0.08)}
.lb-worst .lb-val{color:var(--warn)}

.funnel-list{display:flex;flex-direction:column;margin-top:18px}
.fn-step{display:flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid rgba(22,24,29,0.06)}
.fn-step:last-child{border-bottom:none}
.fn-head{width:190px;flex:none}
.fn-name{font-size:16px;font-weight:700;letter-spacing:-0.01em}
.fn-desc{color:var(--muted);font-size:12.5px;font-weight:500;margin-top:2px}
.fn-bar-wrap{flex:1;min-width:0}
.fn-bar{height:30px;border-radius:9px;background:linear-gradient(90deg,var(--lime-deep),var(--lime));box-shadow:0 0 14px rgba(200,255,0,0.4);transition:width .4s}
.fn-bar.hot{background:linear-gradient(90deg,#E0741C,#F2872E);box-shadow:0 0 14px rgba(224,116,28,0.35)}
.fn-conv{margin-top:6px;color:var(--muted);font-size:12px;font-weight:500}
.fn-drop .fn-conv{color:var(--warn);font-weight:600}
.fn-nums{width:150px;flex:none;text-align:right}
.fn-count{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.fn-pct{color:var(--muted);font-size:12.5px;font-weight:500;margin-top:1px}
.fn-nums .chip-delta{display:inline-flex}
.fn-money{width:160px;flex:none;text-align:right}
.fn-mline{font-size:13px;font-variant-numeric:tabular-nums}
.fn-mlabel{color:var(--pale);font-size:12px;font-weight:500;margin-right:6px}
.fn-mval{font-weight:700}
@media(max-width:900px){
  .fn-step{flex-wrap:wrap;gap:10px}
  .fn-head{width:auto;flex:1}
  .fn-bar-wrap{order:5;flex-basis:100%}
  .fn-money{width:auto}
}

/* ====== Сравнение месяц-к-месяцу ====== */
.cmp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:16px}
.cmp-cell{padding:0 22px 0 0}
.cmp-cell:not(:last-child){border-right:1px solid rgba(22,24,29,0.08)}
@media(max-width:768px){.cmp-grid{grid-template-columns:1fr 1fr;gap:18px}.cmp-cell{padding-right:0;border-right:none!important}}

/* ====== Пояснения к блокам ====== */
.block-note{color:var(--muted);font-size:13px;font-weight:500;line-height:1.45;margin:0 0 2px}
.screen-note{color:var(--muted);font-size:14px;font-weight:500;line-height:1.5;padding-left:6px;max-width:1000px}
.card-dark .block-note,.bridge .block-note{color:rgba(255,255,255,0.45)}
.info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--slate);color:var(--muted);font-size:11px;font-weight:700;line-height:1;cursor:help;position:relative;vertical-align:middle;margin-left:7px;flex:none;user-select:none;-webkit-tap-highlight-color:transparent}
.info:hover,.info.is-open{border-color:var(--muted);color:var(--text)}
.card-dark .info,.bridge .info{border-color:rgba(255,255,255,0.35);color:rgba(255,255,255,0.6)}
.info-pop{display:none;position:absolute;bottom:calc(100% + 9px);left:0;width:248px;max-width:72vw;background:#16181d;color:#fff;font-size:12.5px;font-weight:500;line-height:1.5;letter-spacing:0;padding:11px 13px;border-radius:12px;box-shadow:0 18px 40px -16px rgba(16,20,30,0.6);z-index:60;text-align:left;white-space:normal;pointer-events:none}
.info-pop::after{content:"";position:absolute;top:100%;left:14px;border:6px solid transparent;border-top-color:#16181d}
.info:hover .info-pop,.info.is-open .info-pop{display:block}
@media(max-width:768px){
  .info-pop{left:auto;right:0;width:220px}
  .info-pop::after{left:auto;right:14px}
  /* на телефоне убираем плотные пояснения-подписи — детали остаются в «?» по тапу */
  .block-note{display:none}
  .screen-note{font-size:12.5px;line-height:1.45;color:var(--pale)}
  .section-head p{font-size:13px}
}

/* ====== Utility ====== */
.muted{color:var(--muted)}
.small{font-size:13px}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px}
.error-card{border-color:var(--warn)}
.error-title{font-weight:700;margin:0 0 8px;color:var(--warn)}

/* ====== Responsive ====== */
@media(max-width:1100px){
  .bridge-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .bridge-cell{padding:0!important;border-right:none!important}
  .ccards{grid-template-columns:1fr}
  .metrics-row{grid-template-columns:repeat(2,1fr)}
  .top10-grid{grid-template-columns:1fr}
  .grid-peak{grid-template-columns:1fr}
  .pmetrics{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .app{padding:16px 14px 48px}
  .topnav{padding:8px 10px 8px 18px;gap:10px}
  .brand-text{display:none}
  /* меню → гамбургер: пункты в выпадающий список */
  .nav-burger{display:flex}
  .nav-items{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;flex:none;
    flex-direction:column;gap:4px;background:var(--dark);border-radius:20px;padding:10px;
    overflow:visible;box-shadow:0 22px 44px -22px rgba(16,20,30,0.7);z-index:80}
  #navToggle:checked ~ .nav-items{display:flex}
  .nav-item{padding:12px 14px;font-size:14.5px}
  .bridge{padding:24px 22px 22px;border-radius:24px}
  .bridge-grid{grid-template-columns:1fr}
  .bridge-value{font-size:36px}
  .hero-value{font-size:36px}
  .ccard-value{font-size:30px}
  .grid2{grid-template-columns:1fr}
  .day-cards{grid-template-columns:repeat(2,1fr)}
  .cal-meta,.cal-delta{display:none}
  .cal-cell.clickable::after{display:none}
  .cal-cell{min-height:58px;padding:5px 4px;overflow:hidden}
  .cal-empty{min-height:58px}
  .cal-grid{gap:4px}
  .cal-vol{font-size:10.5px;white-space:nowrap;letter-spacing:-0.03em}
  .metrics-row{grid-template-columns:1fr}
  .pmetrics{grid-template-columns:1fr}
  .lbar{display:none}
  .dvr-head,.dvr-row{grid-template-columns:1fr 96px 62px}
  .dvr-head span:nth-child(2),.dvr-row .dvr-num:first-of-type{display:none}
  .whale-head,.whale-row{grid-template-columns:1fr 96px 96px}

  /* безопасный отступ под статусбар + дыхание для тёмных блоков */
  .app{padding-top:calc(16px + env(safe-area-inset-top))}
  .card-dark{padding:24px 18px!important}

  /* топ-10 и подобные строки: убрать обрезку справа */
  .clickable--row{padding-right:10px!important}
  .clickable--row::after{display:none}
  .top10-grid{gap:6px}
  .top10-row{gap:10px}
  .top10-bar{display:none}
  .top10-id,.top10-sum{min-width:0}
  .top10-subsum{white-space:normal}

  /* узкий сегмент «новые» — прячем подпись внутри полосы, чтобы не срезалась */
  .split-new .split-pct,.split-new .split-label{display:none}

  .nt-list{grid-template-columns:1fr}
  .bf-flag{margin-left:0}
  .win-list{grid-template-columns:1fr}
  .fn-kpis{grid-template-columns:1fr}
  .stuck-head,.stuck-row{grid-template-columns:1fr 70px 70px}
  .stuck-head span:nth-child(2),.stuck-grp{display:none}
}
