:root { --ink:#1b1b20; --muted:#696976; --bg:#f6f6f8; --surface:#fff; --line:#e3e3e9; --accent:#e40046; --accent-soft:#fff0f4; --warning:#a45200; --warning-bg:#fff4e6; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,Arial,sans-serif; }
.shell { width:min(1440px,calc(100% - 48px)); margin:0 auto; padding:40px 0 64px; }
header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:28px; }
h1,h2,p { margin:0; } h1 { font-size:34px; letter-spacing:-.045em; margin-top:6px; } h2 { font-size:22px; letter-spacing:-.025em; }
.eyebrow { color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.intro { color:var(--muted); font-size:16px; margin-top:10px; }.source-note { border-left:3px solid var(--accent); color:var(--muted); font-size:13px; line-height:1.55; padding:8px 0 8px 13px; white-space:nowrap; }.source-note strong { color:var(--ink); }
.filters,.panel,.metric { background:var(--surface); border:1px solid var(--line); border-radius:14px; }.filters { align-items:end; display:flex; gap:20px; padding:16px 18px; margin-bottom:18px; }.filters label { color:var(--muted); display:grid; font-size:12px; font-weight:700; gap:5px; }.filters select { background:#fff; border:1px solid var(--line); border-radius:8px; color:var(--ink); font:inherit; padding:8px 32px 8px 10px; }.filters p { color:var(--muted); font-size:13px; line-height:1.35; margin-left:auto; max-width:650px; }
.metrics { display:grid; gap:14px; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; }.metric { min-height:148px; padding:18px; display:flex; flex-direction:column; }.metric strong { color:var(--accent); font-size:34px; letter-spacing:-.045em; line-height:1; }.metric span { font-size:15px; font-weight:750; margin-top:auto; }.metric small { color:var(--muted); font-size:12px; margin-top:5px; }
.panel { padding:22px; }.coverage-panel { align-items:center; display:flex; justify-content:space-between; gap:30px; margin-bottom:18px; }.coverage { display:flex; gap:12px; }.coverage div { background:#fafafc; border:1px solid var(--line); border-radius:10px; min-width:145px; padding:12px 14px; }.coverage strong { display:block; font-size:24px; }.coverage span { color:var(--muted); font-size:13px; }.section-head { align-items:end; display:flex; justify-content:space-between; margin-bottom:18px; }.rows-total { color:var(--muted); font-size:14px; }.table-wrap { overflow:auto; } table { border-collapse:collapse; min-width:1120px; width:100%; } th { color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.03em; padding:0 12px 11px; text-align:left; text-transform:uppercase; } td { border-top:1px solid var(--line); font-size:14px; padding:14px 12px; vertical-align:top; } td strong { display:block; font-size:15px; } td small { color:var(--muted); display:block; font-size:12px; line-height:1.35; margin-top:4px; max-width:260px; }.numeric { font-size:17px; font-weight:800; white-space:nowrap; }.numeric small { font-size:12px; font-weight:400; white-space:normal; }.tag,.status-tag { border-radius:99px; display:inline-block; font-size:12px; font-weight:750; padding:5px 8px; }.tag { background:#f0f0f5; }.status-tag--ready { background:var(--accent-soft); color:#a90032; }.status-tag--gap { background:var(--warning-bg); color:var(--warning); }
@media (max-width:1050px) { .metrics { grid-template-columns:repeat(3,1fr); } }.coverage-panel { align-items:flex-start; flex-direction:column; } @media (max-width:680px) { .shell { width:min(100% - 28px,1440px); padding-top:26px; } header,.filters { align-items:flex-start; flex-direction:column; } h1 { font-size:29px; }.filters p { margin-left:0; }.metrics { grid-template-columns:1fr 1fr; }.metric { min-height:128px; }.coverage { width:100%; }.coverage div { flex:1; min-width:0; } }
.column-filter { align-items:center; }.column-controls { display:flex; flex-wrap:wrap; gap:7px 10px; margin-top:7px; }.column-controls .column-toggle { align-items:center; background:#fafafc; border:1px solid var(--line); border-radius:7px; color:var(--ink); display:flex; font-size:11px; font-weight:650; gap:5px; line-height:1.2; padding:5px 7px; }.column-toggle input { accent-color:var(--accent); margin:0; }.sheet-cell { line-height:1.4; min-width:125px; }.sheet-cell:first-child { font-weight:750; min-width:240px; }.missing-counter { background:#f4cccc; color:#7b1515; }.action-binding { color:#7b1515; font-weight:750; }.missing-counter:empty::after { content:'Не проставлен'; color:#8a2a2a; font-size:12px; font-style:italic; }.metrika-cell,.clickhouse-cell { font-variant-numeric:tabular-nums; font-weight:750; white-space:nowrap; }.metrika-cell small,.clickhouse-cell small { color:var(--muted); font-weight:400; white-space:normal; }.metrika-cell--pending,.clickhouse-cell--pending { background:#fff4e6; color:#8a4d00; font-weight:400; }.agreed-cell { background:#d9ead3; color:#255c2b; }.agreed-cell small { color:#3d6b42; }.filtered-cell { background:#d9eaf7; color:#1d4f72; }.filtered-cell small { color:#376a8c; }.column-is-hidden { display:none; }

.period-filter input { background:#fff; border:1px solid var(--line); border-radius:8px; color:var(--ink); font:inherit; padding:8px 10px; }.period-filter button { background:var(--accent); border:0; border-radius:8px; color:#fff; cursor:pointer; font:inherit; font-weight:750; padding:10px 16px; }.period-filter button:disabled { cursor:wait; opacity:.6; }.clean-dashboard header { margin-bottom:18px; }.clean-dashboard h1 { margin:0; }.clean-dashboard .table-panel { padding:20px; }.clean-dashboard table { min-width:950px; }.clean-dashboard td { background:transparent; color:var(--ink); }.clean-dashboard .numeric { color:var(--ink); font-size:15px; }.service-link { margin-top:18px; text-align:center; }.service-link a { color:var(--accent); font-weight:750; text-decoration:none; }.service-link a:hover { text-decoration:underline; }

