:root {
  --bg: #f4f1ea;
  --ink: #1c1a17;
  --muted: #6b6558;
  --line: #ddd6c8;
  --accent: #2a6b4f;
  --err: #b3413a;
  --card-bg: #ffffff;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--ink);
}

.topnav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
  border-bottom: 1px solid var(--line);
  background: var(--card-bg);
}

.topnav .brand { font-weight: 600; }
.topnav .links a {
  margin-left: 20px;
  color: var(--ink);
  text-decoration: none;
  font-size: 14px;
}
.topnav .links a:hover { color: var(--accent); }

main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 24px 64px;
}

h1 { font-size: 24px; margin-bottom: 8px; }
h2 { font-size: 16px; margin: 0 0 12px; }

.hint { color: var(--muted); font-size: 14px; line-height: 1.5; }
.hint.small { font-size: 12px; }

.card {
  background: var(--card-bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
  margin-top: 20px;
}

label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin: 16px 0 6px;
}

input[type="text"], input[type="password"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 14px;
  background: #fff;
}

.actions {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

button {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
button:disabled { opacity: 0.6; cursor: default; }
button.secondary {
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
}

#test-result.ok, .flash-ok { color: var(--accent); }
#test-result.err, .flash-err { color: var(--err); }

.flash-wrap { margin-bottom: 16px; }
.flash {
  padding: 10px 14px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: 14px;
}

.header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.stat-card {
  background: var(--card-bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px;
}

.stat-label { font-size: 13px; color: var(--muted); }
.stat-value { font-size: 28px; font-weight: 700; margin-top: 6px; }

/* Главная цифра страницы — должна читаться первой, до всех остальных. */
.stat-card.hero {
  grid-column: span 2;
  border-color: var(--ink);
  border-width: 2px;
}
.stat-card.hero .stat-value { font-size: 40px; letter-spacing: -0.5px; }
@media (max-width: 720px) { .stat-card.hero { grid-column: span 1; } }

.stat-sub { margin-top: 4px; }

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-top: 8px;
}
.data-table th, .data-table td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
}
.data-table th {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
}
/* Суммы не переносим: «−1 083 / 472» на двух строках читается как два
   разных числа и заставляет пересчитывать глазами. Пусть лучше колонка
   с названием станет уже - её перенос безобиден. */
.data-table td.num, .data-table th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.data-table tr:last-child td { border-bottom: none; }

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}
@media (max-width: 720px) {
  .two-col { grid-template-columns: 1fr; }
}
.two-col .card { margin-top: 0; }
/* Иначе одиночный график на всю ширину растягивает viewBox вместе со
   шрифтами, и подписи в нём крупнее, чем в парных карточках. */
.card > svg { max-width: 720px; display: block; }

/* Крупные разделы главной: страница читается как ответ на четыре вопроса,
   и заголовки должны это показывать, а не сливаться с карточками. */
.section-title {
  font-size: 15px;
  margin: 40px 0 4px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--line);
  letter-spacing: 0.2px;
}

.tip { border-left: 4px solid var(--line); }
.tip-critical { border-left-color: #eb6834; }
.tip-warning { border-left-color: #c9a66b; }
.tip-good { border-left-color: #2a78d6; }
.tip-info { border-left-color: var(--line); }
.tip-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.tip-amount { font-size: 20px; font-weight: 700; white-space: nowrap; }
.tip-action {
  font-size: 14px;
  background: var(--bg);
  padding: 10px 14px;
  border-radius: 6px;
  margin: 14px 0 4px;
}
.tip .data-table { margin-top: 10px; }

.money { font-variant-numeric: tabular-nums; }
.neg { color: var(--err); }
.card-good { border-color: var(--accent); }
.card-bad { border-color: var(--err); }
.row-bad td { background: rgba(179, 65, 58, 0.06); }
.name-cell { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cost-input { width: 110px; padding: 6px 8px; text-align: right; border: 1px solid var(--line); border-radius: 4px; }
.toggle { display: flex; align-items: center; gap: 6px; cursor: pointer; }

/* ===== Dashboard 2.0 ===== */
.dashboard-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.eyebrow,.section-kicker { font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--muted); text-transform:uppercase; }
.dashboard-head h1 { margin:4px 0 2px; font-size:30px; letter-spacing:-.5px; }
.period-badge { display:inline-flex; align-items:center; margin-left:10px; padding:5px 9px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font-size:12px; }
.dashboard-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.period-form { display:flex; align-items:center; gap:6px; }
.period-form input { width:135px; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; font:inherit; font-size:13px; }
.sync-main { box-shadow:0 2px 7px rgba(0,0,0,.08); padding:10px 15px; font-weight:700; }
.sync-status { min-width:120px; font-size:12px; color:var(--muted); }
.sync-status.ok { color:var(--accent); }
.sync-status.bad { color:var(--err); }

.hero-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:12px; margin-bottom:14px; }
.kpi-main,.kpi-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; min-height:126px; }
.kpi-main { border:2px solid var(--ink); background:linear-gradient(145deg,#fff,#f8f5ef); }
.kpi-label { font-size:11px; letter-spacing:.1em; color:var(--muted); font-weight:800; }
.kpi-value { margin-top:8px; font-size:36px; font-weight:800; letter-spacing:-.7px; font-variant-numeric:tabular-nums; }
.kpi-value.small-value { font-size:25px; }
.kpi-meta,.kpi-trend { margin-top:8px; font-size:12px; color:var(--muted); line-height:1.4; }
.compare-strip { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:10px; align-items:center; background:#ebe7de; border:1px solid var(--line); border-radius:10px; padding:11px 14px; margin-bottom:26px; font-size:12px; }
.compare-strip > div:first-child { color:var(--muted); }
.compare-item { display:flex; gap:7px; justify-content:flex-end; }
.delta { font-weight:800; }
.trend-up { color:var(--accent); }
.trend-down { color:var(--err); }

.section-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin:30px 0 12px; }
.section-head.mini { margin:0 0 8px; }
.section-head h2 { font-size:20px; margin:3px 0 0; letter-spacing:-.2px; }
.text-link { font-size:13px; color:var(--accent); text-decoration:none; font-weight:700; white-space:nowrap; }
.text-link:hover { text-decoration:underline; }
.decision-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.decision-card { display:flex; gap:12px; align-items:center; padding:15px; background:#fff; border:1px solid var(--line); border-radius:11px; color:var(--ink); text-decoration:none; transition:transform .15s,box-shadow .15s; }
.decision-card:hover { transform:translateY(-2px); box-shadow:0 5px 16px rgba(0,0,0,.07); }
.decision-icon { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; font-weight:900; flex:0 0 auto; background:#f3f1eb; }
.decision-card b,.decision-card strong,.decision-card small { display:block; }
.decision-card b { font-size:22px; line-height:1; }
.decision-card strong { font-size:13px; margin-top:3px; }
.decision-card small { font-size:11px; color:var(--muted); margin-top:2px; }
.decision-danger { border-color:#ddb7b3; }.decision-danger .decision-icon { background:#f7e3e1; color:var(--err); }
.decision-warn { border-color:#dfd1af; }.decision-warn .decision-icon { background:#f5ecd8; }
.decision-opportunity { border-color:#bed2c4; }.decision-opportunity .decision-icon { background:#e2eee6; color:var(--accent); }
.decision-info { border-color:#c5d3df; }.decision-info .decision-icon { background:#e7eef4; }

.panel-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.compact-card { margin-top:0; padding:18px; }
.card-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.pill { display:inline-flex; border-radius:999px; padding:4px 7px; font-size:10px; font-weight:900; letter-spacing:.08em; }
.pill.good { background:#e4eee7; color:var(--accent); }.pill.bad { background:#f8e5e3; color:var(--err); }
.good-border { border-top:3px solid var(--accent); }.bad-border { border-top:3px solid var(--err); }
.tight { margin-top:0; }.tight .card { margin-top:0; }
.compact-table td,.compact-table th { padding:7px 8px; }
.details { margin-top:10px; }
.details summary,.details-section summary { cursor:pointer; color:var(--muted); font-size:12px; font-weight:700; }
.notice { margin-top:10px; padding:9px 11px; border-radius:8px; background:#f6eee1; color:#725e3b; font-size:12px; }
.action-table td { padding-top:10px; padding-bottom:10px; }
.action-chip { display:inline-flex; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:900; letter-spacing:.05em; }
.action-chip.warn { background:#f5ecd8; color:#7a6334; }.action-chip.opportunity { background:#e2eee6; color:var(--accent); }
.positive { color:var(--accent); }
.empty-inline { padding:18px 4px; color:var(--muted); font-size:13px; }
.empty-state { text-align:center; padding:44px 24px; }.empty-icon { width:52px; height:52px; margin:0 auto 12px; border-radius:14px; display:grid; place-items:center; background:#ebe7de; font-size:26px; font-weight:800; }.empty-state h2 { font-size:20px; }
.button-link { display:inline-flex; margin-top:8px; padding:10px 15px; border-radius:7px; background:var(--accent); color:#fff; text-decoration:none; font-weight:700; font-size:13px; }
.details-section { margin-top:24px; }.details-section > details { background:transparent; }.details-section > details > summary { padding:11px 0; }
.operations { margin-top:18px; }.ops-cards { margin-top:12px; }
.footer-note { margin-top:20px; font-size:12px; line-height:1.55; }.footer-note a { color:var(--accent); font-weight:700; text-decoration:none; margin-left:8px; }

@media (max-width: 980px) { .hero-grid { grid-template-columns:1.5fr repeat(2,1fr); } .hero-grid .kpi-main { grid-row:span 2; } .decision-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 760px) { .dashboard-head { align-items:stretch; flex-direction:column; }.dashboard-controls { justify-content:flex-start; }.hero-grid,.panel-grid { grid-template-columns:1fr 1fr; }.hero-grid .kpi-main { grid-column:span 2; grid-row:auto; }.compare-strip { grid-template-columns:1fr; }.compare-item { justify-content:space-between; }.section-head { align-items:flex-start; flex-direction:column; gap:5px; } }
@media (max-width: 560px) { main { padding:20px 14px 48px; }.period-form input { width:calc(50vw - 60px); }.decision-grid,.hero-grid,.panel-grid { grid-template-columns:1fr; }.hero-grid .kpi-main { grid-column:auto; }.kpi-value { font-size:31px; }.dashboard-head h1 { font-size:26px; }.data-table { font-size:13px; }.name-cell { max-width:180px; } }

/* ===== Super Dashboard ===== */
:root{--sd-bg:#f5f6f8;--sd-card:#fff;--sd-ink:#17191d;--sd-muted:#70757d;--sd-line:#e4e7eb;--sd-blue:#2563eb;--sd-green:#15803d;--sd-red:#c2413a;--sd-amber:#a16207}
body{background:var(--sd-bg)}
.topnav{position:sticky;top:0;z-index:20;padding:13px 30px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.topnav .brand{font-weight:800;letter-spacing:-.2px}.topnav .links a{margin-left:17px;font-size:13px;font-weight:600;color:#4b5057}.topnav .links a:first-child{color:var(--sd-blue)}
main{max-width:1440px;padding:28px 28px 70px}
.sd-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:22px}.sd-eyebrow,.sd-section-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#858b93}.sd-title-row{display:flex;align-items:center;gap:12px}.sd-title-row h1{font-size:34px;margin:5px 0 4px;letter-spacing:-1px}.sd-period{font-size:12px;font-weight:700;color:#5d636b;background:#fff;border:1px solid var(--sd-line);padding:6px 9px;border-radius:999px}.sd-sub{font-size:13px;color:var(--sd-muted)}
.sd-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.sd-period-form{display:flex;align-items:center;gap:6px}.sd-period-form input{width:132px;padding:9px 10px;border:1px solid var(--sd-line);border-radius:8px;background:#fff;font:inherit;font-size:12px}.sd-btn{border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800;cursor:pointer;border:1px solid transparent}.sd-btn.primary{background:#17191d;color:#fff}.sd-btn.secondary{background:#fff;color:#30343a;border-color:var(--sd-line)}.sd-btn:disabled{opacity:.55;cursor:wait}.sd-sync-status{font-size:11px;color:var(--sd-muted);min-width:105px}.sd-sync-status.ok{color:var(--sd-green)}.sd-sync-status.bad{color:var(--sd-red)}.sd-sync-status.loading{color:var(--sd-blue)}
.sd-kpis{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:10px;margin-bottom:12px}.sd-kpi{background:var(--sd-card);border:1px solid var(--sd-line);border-radius:13px;padding:18px;min-height:122px}.sd-kpi.hero{border:2px solid #1e2228;background:linear-gradient(145deg,#fff,#f2f4f6)}.sd-kpi-label{font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--sd-muted)}.sd-kpi-value{font-size:27px;font-weight:850;letter-spacing:-.6px;margin-top:9px;font-variant-numeric:tabular-nums}.sd-kpi.hero .sd-kpi-value{font-size:38px}.sd-kpi-foot{margin-top:7px;color:var(--sd-muted);font-size:11px;line-height:1.45}.up{color:var(--sd-green)!important}.down{color:var(--sd-red)!important}
.sd-command{background:#17191d;color:#fff;border-radius:15px;padding:19px;margin:12px 0 18px;display:grid;grid-template-columns:1fr 2.6fr;gap:18px}.sd-command h2{font-size:22px;margin:4px 0 5px}.sd-command .sd-section-kicker{color:#a9afb7}.sd-command .sd-muted{color:#a9afb7}.sd-command-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.sd-action{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);padding:11px;border-radius:11px}.sd-action:hover{background:rgba(255,255,255,.09)}.sd-action-icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;font-weight:900;background:rgba(255,255,255,.1);flex:0 0 auto}.sd-action b,.sd-action strong,.sd-action small{display:block}.sd-action b{font-size:19px;line-height:1}.sd-action strong{font-size:11px;margin-top:3px}.sd-action small{font-size:9px;color:#a9afb7;margin-top:2px}.sd-action.danger .sd-action-icon{background:rgba(194,65,58,.18);color:#ffaaa3}.sd-action.warn .sd-action-icon{background:rgba(161,98,7,.18);color:#ffd681}.sd-action.good .sd-action-icon{background:rgba(21,128,61,.18);color:#8ee2a9}.sd-action.opportunity .sd-action-icon{background:rgba(37,99,235,.18);color:#9bbaff}.sd-action.info .sd-action-icon{background:rgba(148,163,184,.18);color:#cbd5e1}
.sd-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sd-panel{background:var(--sd-card);border:1px solid var(--sd-line);border-radius:13px;padding:18px}.sd-panel-head,.sd-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.sd-panel h2{font-size:19px;margin:4px 0 0;letter-spacing:-.2px}.sd-panel h3{font-size:14px;margin:0}.sd-mini{font-size:10px;color:var(--sd-muted);font-weight:700}.sd-section{margin-top:22px}.sd-section-head{margin-bottom:10px}.sd-section-head h2{font-size:22px;margin:4px 0 0}.sd-section-head a{font-size:12px;color:var(--sd-blue);text-decoration:none;font-weight:800}.sd-muted{color:var(--sd-muted);font-size:12px;line-height:1.5}
.sd-recon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sd-recon-card{min-height:130px}.sd-recon-label{font-size:10px;letter-spacing:.1em;font-weight:900;color:var(--sd-muted)}.sd-recon-value{font-size:28px;font-weight:900;letter-spacing:-.6px;margin-top:12px;font-variant-numeric:tabular-nums}.sd-recon-note{font-size:10px;color:var(--sd-muted);line-height:1.45;margin-top:6px}.sd-recon-card.finance{border-top:3px solid #30343a}.sd-recon-card.finance-total{border-top:3px solid #686f78}.sd-recon-card.orders{border-top:3px solid var(--sd-green)}.sd-recon-card.ads{border-top:3px solid var(--sd-blue)}.sd-recon-card.gap{border-top:3px solid var(--sd-amber)}.sd-recon-diagnosis{margin-top:10px;padding:13px 15px;border-radius:12px;background:#f7f8f9;border:1px solid var(--sd-line);font-size:11px;line-height:1.5}.sd-recon-diagnosis p{margin:6px 0 0;color:var(--sd-muted)}.sd-recon-check{margin-top:8px;padding-top:8px;border-top:1px dashed var(--sd-line);font-size:10px;color:#555b63}.sd-recon-daily{margin-top:11px}.sd-recon-daily-title{font-size:11px;font-weight:800;margin-bottom:4px;color:#454a50}
.sd-bars{margin-top:16px}.sd-bar-row{display:grid;grid-template-columns:1fr 90px;gap:5px 10px;margin:12px 0}.sd-bar-label{display:flex;justify-content:space-between;gap:10px;font-size:11px}.sd-bar-label b{font-variant-numeric:tabular-nums}.sd-bar-track{height:7px;background:#eef0f3;border-radius:999px;overflow:hidden}.sd-bar-track i{display:block;height:100%;background:#30343a;border-radius:999px}.sd-bar-pct{grid-column:2;grid-row:1/3;text-align:right;font-size:10px;color:var(--sd-muted);align-self:center}.sd-alert{margin-top:12px;border-radius:9px;padding:9px 11px;font-size:11px;line-height:1.45}.sd-alert.amber{background:#fff7df;color:#7b5a10;border:1px solid #f1dfad}.sd-alert.red{background:#fff0ee;color:#9c3932;border:1px solid #edc6c1}
.sd-funnel{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:21px 0 15px}.sd-funnel>div{min-width:70px;text-align:center}.sd-funnel b{display:block;font-size:18px;font-variant-numeric:tabular-nums}.sd-funnel span{display:block;font-size:9px;color:var(--sd-muted);margin-top:3px}.sd-funnel i{font-style:normal;color:#b7bcc3;font-weight:900}.sd-ratios{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:10px;color:var(--sd-muted)}.sd-ratios span{background:#f6f7f8;padding:8px;border-radius:8px}.sd-ratios b{color:#24272b;margin-left:3px}.sd-diagnosis{margin-top:10px;padding:10px;border-left:3px solid #30343a;background:#f7f8f9;font-size:11px;line-height:1.45}
.sd-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:11px}.sd-table th,.sd-table td{padding:9px 7px;border-bottom:1px solid var(--sd-line);text-align:left}.sd-table th{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8a9097}.sd-table td:not(:first-child),.sd-table th:not(:first-child){text-align:right;white-space:nowrap}.sd-table td:first-child{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-table tr:last-child td{border-bottom:none}.sd-chip{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}.sd-chip.warn{background:#fff1ce;color:#8a620c}.sd-coverage{margin-top:10px}.sd-cover-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--sd-line);font-size:11px}.sd-cover-row:last-child{border-bottom:none}.sd-cover-row .ok{color:var(--sd-green)}.sd-cover-row .miss{color:#b5bac1}.sd-cover-row small{color:var(--sd-muted);text-align:right}.sd-muted-block{color:var(--sd-muted);font-size:12px;line-height:1.6;padding:20px 0}.sd-note-panel{display:flex;justify-content:space-between;align-items:center;gap:20px}.sd-note-panel h2{margin-bottom:6px}.sd-note-panel p{margin:0;color:var(--sd-muted);font-size:11px}.sd-potential{font-size:31px;font-weight:900;white-space:nowrap;text-align:right}.sd-potential small{display:block;font-size:9px;color:var(--sd-muted);font-weight:700}.sd-footer{margin-top:18px;color:#8a9097;font-size:10px;line-height:1.5}
.sd-empty{text-align:center;background:#fff;border:1px solid var(--sd-line);border-radius:14px;padding:55px 20px}.sd-empty-icon{width:52px;height:52px;margin:auto;border-radius:14px;background:#eef0f3;display:grid;place-items:center;font-size:25px}.sd-empty h2{font-size:21px;margin:13px 0 5px}.sd-empty p{max-width:620px;margin:0 auto 18px;color:var(--sd-muted);font-size:12px;line-height:1.6}
@media(max-width:1100px){.sd-kpis{grid-template-columns:1.5fr repeat(2,1fr)}.sd-command{grid-template-columns:1fr}.sd-command-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){main{padding:20px 14px 50px}.topnav{overflow:auto;white-space:nowrap;padding:11px 14px}.sd-head{flex-direction:column;align-items:stretch}.sd-controls{justify-content:flex-start}.sd-kpis,.sd-grid-two,.sd-recon-grid{grid-template-columns:1fr 1fr}.sd-kpi.hero{grid-column:span 2}.sd-command-cards{grid-template-columns:1fr 1fr}.sd-funnel{overflow:auto}.sd-funnel>div{min-width:64px}.sd-table{min-width:650px}.table-panel{overflow-x:auto}}
@media(max-width:560px){.sd-title-row{align-items:flex-start;flex-direction:column;gap:4px}.sd-title-row h1{font-size:28px}.sd-kpis,.sd-grid-two,.sd-recon-grid{grid-template-columns:1fr}.sd-kpi.hero{grid-column:auto}.sd-command-cards{grid-template-columns:1fr}.sd-period-form{width:100%}.sd-period-form input{width:calc(50% - 10px)}.sd-note-panel{align-items:flex-start;flex-direction:column}.sd-potential{text-align:left}}

/* Super Dashboard v1.2: cofinancing + unified API loader */
.sd-alert.green{background:#edf8f0;color:#176b36;border:1px solid #c8e6d0}.sd-pricing-intro{display:flex;justify-content:space-between;gap:24px;align-items:center}.sd-pricing-intro h2{font-size:20px;margin:4px 0 7px}.sd-pricing-intro p{margin:0;max-width:820px;color:var(--sd-muted);font-size:11px;line-height:1.55}.sd-price-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:360px}.sd-price-stats>div{background:#f6f7f8;border-radius:9px;padding:10px}.sd-price-stats b{display:block;font-size:16px}.sd-price-stats span{display:block;color:var(--sd-muted);font-size:9px;margin-top:3px}.sd-subrow td{font-size:10px!important;color:var(--sd-muted)!important;background:#fffaf0}.sd-subrow td:first-child{max-width:none!important;white-space:normal!important}.sd-subrow .sd-chip{margin-right:7px}
@media(max-width:800px){.sd-pricing-intro{align-items:flex-start;flex-direction:column}.sd-price-stats{min-width:0;width:100%;grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.sd-price-stats{grid-template-columns:1fr}.sd-pricing-intro{gap:12px}}


.global-period {
  margin-left:auto;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}
@media (max-width: 1100px) {
  .global-period { width:100%; margin:2px 0 0; }
}


.sd-period-note { margin:-8px 0 14px; font-size:12px; color:var(--muted); }
.sd-period-label { display:inline-flex; align-items:center; gap:5px; font-size:11px; color:var(--muted); }
.sd-period-label input { margin-left:0; }

.sd-recon-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.sd-recon-summary>div{background:#fff;border:1px solid var(--sd-line);border-radius:12px;padding:12px}.sd-recon-summary span,.sd-recon-summary small{display:block;color:var(--sd-muted);font-size:10px;line-height:1.35}.sd-recon-summary b{display:block;font-size:18px;margin:5px 0;font-variant-numeric:tabular-nums}.sd-special-costs{margin-bottom:10px}@media(max-width:800px){.sd-recon-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sd-recon-summary{grid-template-columns:1fr}}

.sd-subscription-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.sd-subscription-head h2{margin:4px 0 4px}
.sd-subscription-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;min-width:520px}
.sd-subscription-metrics>div{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}
.sd-subscription-metrics b{display:block;font-size:18px}
.sd-subscription-metrics small{display:block;color:#6b7280;margin-top:3px}
@media(max-width:900px){.sd-subscription-head{display:block}.sd-subscription-metrics{grid-template-columns:repeat(2,minmax(120px,1fr));min-width:0;margin-top:14px}}


/* ===== Competitors & Categories v1.8 ===== */
.comp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.comp-head h1{margin:5px 0 4px;font-size:30px;letter-spacing:-.5px}.comp-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.comp-kpis{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:12px;margin-bottom:24px}.comp-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;min-height:105px}.comp-kpi.hero{border:2px solid var(--ink);background:linear-gradient(145deg,#fff,#f8f5ef)}.comp-kpi span,.comp-kpi small{display:block;color:var(--muted);font-size:11px}.comp-kpi b{display:block;font-size:30px;margin:7px 0 2px;font-variant-numeric:tabular-nums}.comp-section{margin-top:28px}.comp-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:11px}.comp-section-head h2{margin:3px 0 0;font-size:21px}.section-kicker{font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--muted)}.comp-note{font-size:10px;color:var(--muted)}.comp-table td,.comp-table th{vertical-align:top}.comp-table td:first-child{max-width:280px}.comp-subrow td{font-size:10px;color:var(--muted);background:#fafafa}.comp-subrow a{color:var(--accent);font-weight:700;text-decoration:none}.row-good td{background:rgba(42,120,214,.055)}.comp-empty{padding:28px;text-align:center;color:var(--muted);line-height:1.55}.comp-rule{display:flex;gap:16px;align-items:flex-start;background:#f7f8f9}.comp-rule b{white-space:nowrap}.comp-rule span{font-size:12px;color:var(--muted);line-height:1.55}.sd-chip.good{background:#edf8f0;color:#176b36}.sd-chip.info{background:#eef2f7;color:#52606f}.sd-chip{background:#eef0f3;color:#606770}
@media(max-width:900px){.comp-head{align-items:flex-start;flex-direction:column}.comp-actions{justify-content:flex-start}.comp-kpis{grid-template-columns:1fr 1fr}.comp-kpi.hero{grid-column:span 2}.comp-table{min-width:980px}.table-panel{overflow-x:auto}.comp-rule{display:block}.comp-rule span{display:block;margin-top:8px}}
@media(max-width:560px){.comp-kpis{grid-template-columns:1fr}.comp-kpi.hero{grid-column:auto}.comp-head h1{font-size:26px}}

/* Пустой период: ноль-как-нет-данных не должен выглядеть как ноль-как-результат. */
.sd-empty-period {
  margin: 12px 0 4px;
  padding: 14px 18px;
  border: 1px solid #e0b44a;
  border-left: 4px solid #e0b44a;
  border-radius: 10px;
  background: #fdf6e6;
  color: #4a3c14;
  font-size: 14px;
  line-height: 1.55;
}
.sd-empty-period a { color: #7a5c10; font-weight: 600; }

/* Результат проверки внешних ключей в настройках. */
.ok-text { color: #146c43; font-weight: 600; }
.err-text { color: #b42318; font-weight: 600; }

/* v1.8.4 — новости, ценовой индекс и сценарии CPO */
.sd-news-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sd-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sd-news-card{display:flex;flex-direction:column;gap:8px;min-height:170px}
.sd-news-card.high{border-left:4px solid #b85c46}
.sd-news-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted,#6d7480)}
.sd-news-card h3{font-size:16px;margin:0;line-height:1.3}
.sd-news-card p{margin:0;line-height:1.45;color:var(--muted,#5f6670)}
.sd-news-action{margin-top:auto;padding-top:6px;font-size:13px;line-height:1.4}
.sd-cpo-mini{margin-top:12px;line-height:1.5}
.sd-cpo-scenarios{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sd-price-command .sd-recon-summary{margin-bottom:0}
@media (max-width:900px){.sd-news-grid{grid-template-columns:1fr}}

/* ===== v1.8.6 · Рекламные эксперименты + график выплат ===== */
.exp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px}.exp-head h1{margin:4px 0 5px;font-size:30px}.section-kicker{font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--muted)}
.exp-form select,.exp-inline-form select,.exp-form input[type="date"],.exp-form input[type="number"]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:#fff}.exp-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.exp-rate-fields{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4px}.exp-sku-fields,.exp-cpc-fields{margin-top:8px}.exp-mini-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.exp-mini-cards .stat-card{min-height:105px}.exp-date{font-size:19px}.exp-periods{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.exp-periods>div{min-width:170px;padding:9px 11px;background:#f7f7f6;border:1px solid var(--line);border-radius:7px}.exp-periods b,.exp-periods span{display:block}.exp-periods b{font-size:11px;color:var(--muted);margin-bottom:4px}.exp-periods span{font-size:13px;font-variant-numeric:tabular-nums}.exp-item-head{align-items:flex-start}.exp-verdict{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#eef0f3;color:#5b626b}.exp-verdict.exp-good{background:#edf8f0;color:#176b36}.exp-verdict.exp-bad{background:#fff0ed;color:#9b352e}.exp-verdict.exp-flat{background:#fff7df;color:#7d6116}.exp-inline-form{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:10px;align-items:end;padding:12px;background:#fff8e5;border:1px solid #e8d7a0;border-radius:8px;margin:12px 0}.exp-inline-form label{margin:0;align-self:center}.exp-actions{flex-wrap:wrap}.exp-actions form{margin:0}.exp-combo-costs{margin-top:12px;padding:10px 12px;border-left:3px solid #536174;background:#f5f7f9;font-size:12px;line-height:1.55}.exp-rules{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exp-rules>div{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:10px;background:#f7f7f6;border-radius:7px}.exp-rules b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}.exp-rules span{font-size:12px;line-height:1.45;color:var(--muted)}
.sd-payout-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.sd-payout-plan{font-size:18px;font-weight:800;margin-bottom:6px}.sd-payout-head p{max-width:620px;margin:0}.sd-payout-metrics{display:grid;grid-template-columns:repeat(3,minmax(125px,1fr));gap:9px;min-width:430px}.sd-payout-metrics>div{padding:10px;background:#fafafa;border:1px solid #e6e7e9;border-radius:9px}.sd-payout-metrics b,.sd-payout-metrics small{display:block}.sd-payout-metrics b{font-size:17px}.sd-payout-metrics small{font-size:9px;color:var(--sd-muted);margin-top:4px;line-height:1.35}
@media(max-width:900px){.exp-form-grid,.exp-rate-fields{grid-template-columns:1fr 1fr}.exp-mini-cards{grid-template-columns:1fr 1fr}.sd-payout-head{display:block}.sd-payout-metrics{min-width:0;margin-top:14px}.exp-head{align-items:flex-start;flex-direction:column}.exp-compare-table{min-width:650px}}
@media(max-width:560px){.exp-form-grid,.exp-rate-fields,.exp-mini-cards,.exp-rules{grid-template-columns:1fr}.exp-inline-form{grid-template-columns:1fr}.sd-payout-metrics{grid-template-columns:1fr}.exp-head h1{font-size:26px}}
.exp-warnings{margin-top:12px;display:grid;gap:6px}.exp-warnings>div{padding:8px 10px;border-radius:7px;background:#fff7df;color:#725813;font-size:12px;line-height:1.45}

/* ===== v1.8.7 · Налоговый контур ===== */
.sd-tax-section .sd-recon-summary{grid-template-columns:repeat(3,minmax(180px,1fr))}
@media(max-width:900px){.sd-tax-section .sd-recon-summary{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sd-tax-section .sd-recon-summary{grid-template-columns:1fr}}

/* ===== v1.8.8 · Бухгалтерия ===== */
.acc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.acc-head h1{margin:5px 0 5px;font-size:32px;letter-spacing:-.6px}
.acc-head .hint{max-width:920px;margin:0;line-height:1.55}
.acc-grid{display:grid;gap:14px}.acc-grid-hero{grid-template-columns:1.05fr 1.55fr}
.acc-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.acc-hero{border:2px solid var(--ink);background:linear-gradient(145deg,#fff,#f8f5ef)}
.acc-card h2{font-size:20px;margin:4px 0 8px}.acc-card h3{font-size:17px;margin:0 0 8px}
.acc-card-head,.acc-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.acc-year-tools{display:flex;gap:8px;align-items:center}.acc-year-tools select{min-width:90px}
.acc-year-tools select,.acc-period-form input,.acc-tax-form select,.acc-tax-form input,.acc-doc-form select,.acc-doc-form input,.acc-async-report input{padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;font-size:13px}
.acc-big-money{font-size:38px;font-weight:850;letter-spacing:-1px;margin:16px 0 5px;font-variant-numeric:tabular-nums}
.acc-subline{font-size:13px;line-height:1.5}.acc-source{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.45}
.acc-empty-inline{padding:20px 0;color:var(--muted);line-height:1.55;font-size:13px}
.acc-period-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:12px 0}.acc-period-form label{font-size:11px;color:var(--muted);margin:0}.acc-period-form label input{display:block;margin-top:4px}
.acc-period-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.acc-period-kpis>div{padding:11px;background:#f8f8f7;border:1px solid #ecebea;border-radius:9px}.acc-period-kpis span,.acc-period-kpis small{display:block}.acc-period-kpis span{font-size:10px;color:var(--muted)}.acc-period-kpis b{display:block;font-size:18px;margin:5px 0;font-variant-numeric:tabular-nums}.acc-period-kpis small{font-size:9px;line-height:1.35;color:var(--muted)}
.acc-section{margin-top:28px}.acc-section-head{margin-bottom:10px}.acc-section-head h2{font-size:21px;margin:3px 0 0}
.acc-table td,.acc-table th{vertical-align:top}.acc-table .num{text-align:right;font-variant-numeric:tabular-nums}
.acc-tax-form{padding-top:16px}.acc-form-grid{display:grid;grid-template-columns:1.4fr .7fr auto;gap:12px;align-items:end}.acc-tax-form label{margin:0 0 5px}.acc-tax-form select,.acc-tax-form input{width:100%;box-sizing:border-box}.acc-form-action{display:flex;align-items:end}.acc-form-action button{white-space:nowrap}
.acc-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.acc-doc-card{display:flex;flex-direction:column;min-height:220px}.acc-doc-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 12px}.acc-doc-card small{display:block;margin-top:10px;color:var(--muted);font-size:10px;line-height:1.45}.acc-doc-card code{font-size:10px}.acc-doc-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto}.acc-doc-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.acc-doc-dates button{grid-column:1/-1}.acc-async-report{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:auto}.acc-async-report span{grid-column:1/-1;min-height:17px;font-size:11px;color:var(--muted);line-height:1.4}.acc-async-report+.acc-async-report{margin-top:10px}.acc-doc-card .button-link{margin-top:auto;align-self:flex-start}
@media(max-width:1050px){.acc-grid-hero{grid-template-columns:1fr}.acc-doc-grid{grid-template-columns:1fr 1fr}.acc-period-kpis{grid-template-columns:1fr 1fr}.acc-form-grid{grid-template-columns:1fr 1fr}.acc-form-action{grid-column:1/-1}}
@media(max-width:650px){.acc-head,.acc-card-head,.acc-section-head{display:block}.acc-year-tools{margin-top:12px}.acc-doc-grid,.acc-period-kpis,.acc-form-grid{grid-template-columns:1fr}.acc-doc-dates{grid-template-columns:1fr}.acc-big-money{font-size:32px}.acc-head h1{font-size:27px}}


/* ===== v1.8.9 · Полноценный налоговый модуль + API-ФНС ===== */
.acc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.tax-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.tax-flow-card{display:flex;flex-direction:column;gap:5px;min-height:116px}
.tax-flow-card>span{font-size:12px;color:var(--muted,#687080);text-transform:uppercase;letter-spacing:.04em}
.tax-flow-card>b{font-size:24px;line-height:1.1}
.tax-flow-card small{color:var(--muted,#687080);line-height:1.35}
.tax-flow-main{border-width:2px}
.warn-num{color:#9a6700}
.tax-danger{border-color:#d64545!important}
.tax-progress{height:10px;background:#e9edf3;border-radius:99px;overflow:hidden;margin:12px 0}
.tax-progress i{display:block;height:100%;background:currentColor;border-radius:99px}
.check-line{display:flex!important;align-items:flex-start;gap:8px;font-weight:500!important;margin:10px 0}
.check-line input{width:auto!important;margin-top:3px}
.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fns-summary,.fns-bo,.fns-limits{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:12px;border-radius:10px;background:rgba(127,127,127,.08)}
.fns-bo,.fns-limits{margin-top:8px}
.tax-rules-table select,.tax-rules-table input{min-width:140px;width:100%;padding:7px 9px}
.tax-rule-save{font-size:12px;margin-left:6px}
.manual-tax-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.manual-tax-form input{min-width:0;width:100%}
.manual-tax-form .check-line,.manual-tax-form button{grid-column:span 1}
.mini-ledger{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.mini-ledger>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid rgba(127,127,127,.16)}
.mini-ledger em{color:var(--muted,#687080);font-style:normal}
.icon-delete{border:0;background:transparent!important;color:#a33!important;font-size:20px;padding:0 4px!important;box-shadow:none!important}
.acc-table.compact td,.acc-table.compact th{padding:8px}
@media(max-width:1100px){.tax-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.acc-grid-2,.tax-flow-grid{grid-template-columns:1fr}.manual-tax-form{grid-template-columns:1fr}.manual-tax-form .check-line,.manual-tax-form button{grid-column:auto}.tax-rules-table{min-width:800px}}

/* ===== OLLO Brand Guard v1.9.8.8 ===== */
.brand-head{align-items:flex-end}.brand-head h1{font-size:30px;margin:5px 0 4px}.brand-kpis .stat-card.hero{border-color:#2f427e}.brand-steps{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.65}.brand-table-wrap{overflow-x:auto}.brand-table{min-width:980px}.brand-badge{display:inline-flex;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:700;white-space:nowrap}.brand-badge.owner{border-color:#2f427e;color:#2f427e}.brand-badge.allowed{border-color:var(--accent);color:var(--accent)}.brand-badge.review{border-color:var(--err);color:var(--err)}.brand-actions-cell{min-width:235px}.brand-actions-cell form{display:inline-block;margin:2px}.brand-actions-cell button{padding:6px 9px;font-size:11px}.brand-thumb{margin-top:7px;width:112px;height:112px;border:1px solid var(--line);border-radius:7px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.brand-thumb img{max-width:100%;max-height:100%;object-fit:contain}.matches-table td{vertical-align:top}.brand-complaint{border-top:1px solid var(--line);padding:12px 0}.brand-complaint:first-of-type{border-top:0}.brand-complaint summary{cursor:pointer;font-weight:700}.brand-complaint p{line-height:1.55}
.brand-auto-grid{align-items:start}.brand-auto-grid h3{margin:0 0 8px}.brand-secondary{padding:0;overflow:hidden}.brand-secondary>summary{cursor:pointer;padding:17px 20px;list-style:none}.brand-secondary>summary::-webkit-details-marker{display:none}.brand-secondary>summary:before{content:'▸';display:inline-block;margin-right:8px;color:var(--muted)}.brand-secondary[open]>summary:before{content:'▾'}.brand-details-body{border-top:1px solid var(--line);padding:16px 20px;overflow-x:auto}.brand-details-body .brand-table{margin-top:10px}
