/* Dent AI · единая тема детальных страниц отчёта (май 2026)
   Центрированный контейнер, читаемые таблицы без горизонтального скролла. */
:root{
  --bg:#f5f2ea; --panel:#fff; --panel-soft:#fbfaf6; --border:#ded5c5; --border-s:#c9bca8;
  --fg:#171410; --head:#201a13; --muted:#756b5d; --accent:#0f5b4d; --accent-soft:#e6f2ee;
  --accent-mid:rgba(15,91,77,.18); --warn:#8b4d0b; --warn-soft:#fff2db; --bad:#a3320f; --bad-soft:#ffeee9;
  --shadow:0 2px 12px rgba(40,30,15,.07); --shadow-lg:0 16px 56px rgba(40,30,15,.11);
  --sans:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',monospace; --serif:'Source Serif 4',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;scroll-behavior:smooth}
body{
  font-family:var(--sans);color:var(--fg);line-height:1.55;font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;min-height:100vh;
  background:radial-gradient(ellipse 80% 40% at 10% -10%,rgba(15,91,77,.09) 0%,transparent 55%),
             linear-gradient(180deg,#fffdf8 0%,var(--bg) 38%,#ece5d8 100%);
}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* TOPBAR */
.topbar{position:sticky;top:0;z-index:300;background:rgba(253,250,244,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.topbar-in{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:14px;min-height:56px}
.tb-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--accent);font:600 13px var(--sans);
  padding:7px 12px;border-radius:8px;border:1px solid var(--border-s);background:#fff;white-space:nowrap;transition:background .12s}
.tb-back:hover{background:var(--accent-soft);border-color:var(--accent-mid)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--head);margin-left:2px}
.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--accent);color:#fff;font:700 11px/1 var(--mono);display:grid;place-items:center}
.brand-name{font:600 14px/1.2 var(--sans)}
.brand-name small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:1px}
.tb-crumb{margin-left:auto;font:500 11px var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}

/* SHELL — центрированный контейнер (фикс «прилипло влево») */
.shell{max-width:1180px;margin:0 auto;padding:26px 24px 48px}

/* HERO */
.hero{border:1px solid var(--border);border-radius:18px;background:linear-gradient(140deg,#fffaf2 0%,#edf7f2 100%);
  box-shadow:var(--shadow-lg);margin-bottom:22px;padding:28px 30px}
.eyebrow{font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:11px}
.hero h1{font:600 clamp(24px,3vw,34px)/1.1 var(--serif);letter-spacing:-.02em;color:var(--head);margin-bottom:13px;max-width:880px}
.hero p{font-size:14px;color:var(--muted);max-width:840px}

/* CARDS / NOTES */
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:20px 22px;margin:16px 0}
.card h2{font:600 clamp(18px,2vw,23px)/1.15 var(--serif);letter-spacing:-.02em;color:var(--head);margin-bottom:6px}
.card > p.lead{font-size:13.5px;color:var(--muted);margin:6px 0 4px;max-width:90ch}
.note{background:var(--accent-soft);border:1px solid var(--accent-mid);border-radius:10px;padding:12px 15px;font-size:13px;color:var(--head);margin:14px 0}
.note.warn{background:var(--warn-soft);border-color:rgba(139,77,11,.22)}
.note b,.note strong{color:var(--head)}

/* SUMMARY KPI */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}
.kpi{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}
.kpi .l{color:var(--muted);font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.kpi .v{color:var(--head);font:600 clamp(20px,2.2vw,26px)/1 var(--serif);margin-top:5px}

/* TABLES — без горизонтального скролла */
.tbl{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden;margin:14px 0}
table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;line-height:1.25}
thead th{position:relative;background:#f5f1e8;color:var(--muted);font:700 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;
  text-align:left;padding:8px 9px;border-bottom:1px solid var(--border);vertical-align:bottom;
  white-space:normal;overflow-wrap:break-word;word-break:break-word;hyphens:auto}
td{padding:7px 9px;border-bottom:1px solid #f0ece4;vertical-align:top;color:var(--fg);
  word-break:break-word;overflow-wrap:anywhere;hyphens:auto}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:#faf7f0}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
thead th.num{white-space:normal}  /* заголовки числовых колонок переносятся, сами числа — нет */
.pos{color:var(--accent);font-weight:600}
.neg{color:var(--bad);font-weight:600}
.muted{color:var(--muted)}
tr.summary-row td{background:#f5f1e8;font-weight:600;color:var(--muted);font-style:italic}
/* компактные шрифты по числу колонок */
table.c-9,table.c-10,table.c-11{font-size:11px}
table.c-12,table.c-13,table.c-14{font-size:10px}
table.c-9 th,table.c-9 td,table.c-10 th,table.c-10 td,table.c-11 th,table.c-11 td{padding:6px 7px}
table.c-12 th,table.c-12 td,table.c-13 th,table.c-13 td,table.c-14 th,table.c-14 td{padding:5px 6px}

/* NAV между разделами */
.pagenav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 8px}
.pagenav a{text-decoration:none;color:var(--accent);font:600 13px var(--sans);padding:9px 14px;border:1px solid var(--border-s);
  border-radius:8px;background:#fff;transition:background .12s}
.pagenav a:hover{background:var(--accent-soft);border-color:var(--accent-mid)}
.footer{max-width:1180px;margin:8px auto 36px;padding:16px 24px;color:var(--muted);font:500 11px var(--mono);border-top:1px solid var(--border)}

@media (max-width:720px){
  .shell{padding:18px 12px 32px}.hero{padding:20px 18px}.topbar-in{padding:0 14px}
  table{font-size:10px}table.c-9,table.c-10,table.c-11{font-size:9px}table.c-12,table.c-13,table.c-14{font-size:8.5px}
  th,td{padding:4px 5px}
}

/* ── Регулируемая ширина столбцов ── */
.col-resizer{position:absolute;top:0;right:0;width:10px;height:100%;cursor:col-resize;z-index:6;touch-action:none}
.col-resizer:hover,.col-resizer:active{background:var(--accent-mid)}
.cw-panel{position:fixed;right:14px;bottom:14px;z-index:400;display:flex;gap:6px}
.cw-panel button{font:600 12px var(--sans);padding:8px 13px;border-radius:9px;border:1px solid var(--accent);
  background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow);white-space:nowrap}
.cw-panel button:hover{background:#0d4e42}
.cw-panel .cw-reset{background:#fff;color:var(--accent)}
.cw-panel .cw-reset:hover{background:var(--accent-soft)}
@media print{.cw-panel,.col-resizer{display:none!important}}
