:root{--ink:#25211d;--muted:#7b746c;--paper:#f5f1e9;--card:#fffdf8;--line:#ded7cb;--accent:#d65332;--accent-soft:#f7e2d9;--green:#29725c;--green-soft:#dfeee8;--red:#b83e35;--red-soft:#f5dfdc;--shadow:0 14px 40px rgba(55,43,30,.08)}
.brand-mark,.login-card h1,.period-heading h2,.section-title h2,.flow-card strong,.diagnosis-card h3,.kpi-card strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{border:0;border-radius:10px;background:var(--ink);color:#fff;padding:11px 17px;cursor:pointer;font-weight:700}button:hover{opacity:.88}.hidden{display:none!important}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--accent);color:white;font:700 29px/1 Georgia,serif}.brand-mark.small{width:38px;height:38px;font-size:21px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 20%,#fff9ed 0,transparent 40%),var(--paper)}.login-card{width:min(410px,100%);padding:36px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:24px}.login-card h1{margin:0 0 28px;font:600 32px/1.1 Georgia,serif}.login-card label,.period-panel label{display:grid;gap:7px;margin:0 0 15px;color:var(--muted);font-size:12px;font-weight:700}.login-card input,.period-panel input{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;color:var(--ink)}.login-card button{width:100%}.form-error{min-height:21px;color:var(--red);font-size:13px}.login-hint{margin:18px 0 0;color:var(--muted);font-size:12px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);background:rgba(255,253,248,.9);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.brand,.top-actions{display:flex;align-items:center;gap:12px}.brand div{display:grid}.brand span{font-size:12px;color:var(--muted)}.ghost{padding:9px 13px;border:1px solid var(--line);background:transparent;color:var(--ink)}.mode-pill{border-radius:99px;padding:7px 11px;background:var(--accent-soft);color:#943c27;font-size:12px;font-weight:700}main{max-width:1240px;margin:auto;padding:30px 24px 64px}.period-panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.period-heading,.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.period-heading h2,.section-title h2{margin:0;font:600 26px/1.15 Georgia,serif}.date-grid{display:grid;grid-template-columns:1fr 1fr 1px 1fr 1fr auto;align-items:end;gap:12px;margin-top:21px}.date-grid label{margin:0}.compare-divider{width:1px;height:42px;background:var(--line)}.comparison-note{margin:12px 0 0;color:var(--muted);font-size:13px}.loading{padding:70px;text-align:center;color:var(--muted)}section{margin-top:34px}.section-title{margin-bottom:14px}.section-title>p{margin:0;color:var(--muted);font-size:13px}.card{border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.marketing-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(270px,1fr);gap:16px}.flow-card{overflow:hidden}.flow-row,.flow-split,.flow-total{display:grid}.flow-row{grid-template-columns:1fr 1fr;padding:24px;border-bottom:1px solid var(--line)}.flow-split{grid-template-columns:1fr 1fr;background:#faf7f0}.flow-split>div{padding:22px 24px}.flow-split>div+div{border-left:1px solid var(--line)}.flow-total{grid-template-columns:1.25fr 1fr 1fr;padding:24px;background:var(--ink);color:white}.flow-card span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.flow-total span{color:#bdb7af}.flow-card strong{font:600 31px/1.15 Georgia,serif}.flow-card small{display:block;margin-top:5px;color:var(--muted)}.flow-total small{color:#bdb7af}.conversion{padding-left:24px;border-left:1px solid var(--line)}.flow-total .conversion{border-color:#554f48}.diagnosis-card{padding:24px;background:#fff7ed}.diagnosis-card h3{margin:8px 0;font:600 24px/1.15 Georgia,serif}.diagnosis-card>p:not(.eyebrow){color:var(--muted)}.comparison-box{margin-top:24px;padding:16px;border-radius:12px;background:var(--accent-soft)}.comparison-box span{display:block;color:#90432f;font-size:12px}.comparison-box strong{display:block;margin-top:4px;font-size:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:15px 18px;text-align:right;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}.delta{display:inline-flex;border-radius:99px;padding:4px 8px;font-size:12px;font-weight:700}.delta.up{background:var(--green-soft);color:var(--green)}.delta.down{background:var(--red-soft);color:var(--red)}.delta.flat{background:#ede9e2;color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-card{padding:20px}.kpi-card span{display:block;color:var(--muted);font-size:12px}.kpi-card strong{display:block;margin:8px 0 4px;font:600 28px/1.1 Georgia,serif}.kpi-card small{color:var(--muted)}.monitor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.monitor-grid .kpi-card:first-child{background:var(--green-soft)}.sources-footer{display:flex;justify-content:space-between;align-items:end;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.source-statuses{display:flex;gap:7px;flex-wrap:wrap}.source-chip{border:1px solid var(--line);border-radius:99px;padding:6px 9px;background:var(--card)}.source-chip::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#d19a32}.source-chip.ready::before{background:var(--green)}
@media(max-width:900px){.date-grid{grid-template-columns:1fr 1fr}.compare-divider{display:none}.marketing-grid{grid-template-columns:1fr}.kpi-grid,.monitor-grid{grid-template-columns:1fr 1fr}.date-grid button{grid-column:1/-1}.flow-total{grid-template-columns:1fr 1fr}.flow-total .conversion{grid-column:1/-1;margin-top:20px;padding:18px 0 0;border-left:0;border-top:1px solid #554f48}}
@media(max-width:560px){main{padding:20px 14px 48px}.topbar{padding:0 14px}.brand div span,.mode-pill{display:none}.period-heading,.section-title{align-items:start;flex-direction:column}.date-grid,.flow-row,.flow-split,.flow-total,.kpi-grid,.monitor-grid{grid-template-columns:1fr}.flow-row>div+div,.flow-split>div+div{margin-top:18px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.flow-total>div{padding:10px 0}.conversion{padding-left:0;border-left:0}.sources-footer{align-items:start;flex-direction:column;gap:18px}}
.date-grid{grid-template-columns:1fr 1fr 1px 1fr 1fr auto auto}
@media(max-width:900px){.date-grid{grid-template-columns:1fr 1fr}.date-grid button{grid-column:1/-1}}
@media(max-width:560px){.date-grid{grid-template-columns:1fr}}

/* Единый шрифт интерфейса: правило намеренно стоит последним. */
.brand-mark,.login-card h1,.period-heading h2,.section-title h2,.flow-card strong,.diagnosis-card h3,.kpi-card strong{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:700;
}
.dashboard-tabs{display:flex;gap:8px;margin-bottom:14px}.tab-button{background:transparent;color:var(--muted);border:1px solid var(--line)}.tab-button.active{background:var(--ink);color:#fff}.period-presets{display:flex;gap:8px;flex-wrap:wrap}.active-period{background:var(--green)!important;color:#fff!important}.date-grid{grid-template-columns:1fr 1fr auto auto}.metric-grid{display:grid;gap:14px}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:18px;min-width:0}.metric-card>span{display:block;color:var(--muted);font-size:12px}.metric-card>strong{display:block;margin:7px 0;font-size:25px;line-height:1.15}.metric-card>small{display:block;min-height:34px;color:var(--muted);font-size:12px}.comparison-list{margin-top:13px;padding-top:9px;border-top:1px solid var(--line)}.comparison-row{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:11px}.comparison-row span{color:var(--muted)}.comparison-row strong{font-weight:700;text-align:right}.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--muted)}.metric-card.unavailable{background:#eeeae2;box-shadow:none}.metric-card.unavailable strong{font-size:18px;color:var(--muted)}.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.unavailable-list{padding:24px;border-style:dashed;box-shadow:none}.unavailable-list h3{margin:0 0 7px}.unavailable-list p{margin:0;color:var(--muted)}
@media(max-width:1100px){.metric-grid.five,.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.metric-grid.five,.metric-grid.four,.ranking-grid{grid-template-columns:1fr}.dashboard-tabs{overflow:auto}.period-presets{margin-top:10px}}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(37,33,29,.55);backdrop-filter:blur(4px)}.modal-card{width:min(480px,100%);padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 24px 80px rgba(0,0,0,.25)}.modal-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.modal-heading h2{margin:0;font-size:25px}.modal-close{width:40px;height:40px;padding:0;font-size:24px}.modal-note{margin:18px 0;color:var(--muted);font-size:13px}.modal-card label{display:grid;gap:7px;margin:0 0 15px;color:var(--muted);font-size:12px;font-weight:700}.modal-card input{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;color:var(--ink)}.modal-card>button[type=submit]{width:100%}
.sync-time{align-self:center;max-width:220px;color:var(--muted);font-size:11px;line-height:1.3}.sync-time.sync-error{color:var(--red)}button:disabled{cursor:wait;opacity:.55}
