/* Новый стиль сайта — макет «Страница счёта — вариант 1, версия 2» (25.10.2026): скруглённые карточки и плитки,
   график из трёх частей под одним курсором, вкладки разбора. Цвета — те же токены, что в site.css (без белого
   и чёрного); добавлены приподнятая поверхность, цвета групп и две краски «лонг / шорт» (не зелёный и не
   красный: они только для доходности и просадки). Подключён на всех страницах (body.n2) поверх site.css:
   в конце файла — тот же стиль для кабинета, админки, входа и справки. */
:root{
  --surface-3:#eef1f3; --s1:#2a78d6; --s2:#eb6834;
  --c-ret:#0b6b84; --c-risk:#b86a12; --c-ratio:#2a78d6; --c-trade:#6250d6; --c-money:#8a6a10; --c-time:#0f8a6a;
  --shadow-s:0 2px 8px rgba(30,40,50,.08); --hl:rgba(255,255,255,.55);
  --og1:#123f4c; --og2:#1c2127;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --surface-3:#2f363e; --s1:#3987e5; --s2:#d95926;
    --c-ret:#4cc3d6; --c-risk:#e0a54a; --c-ratio:#5b9be8; --c-trade:#9085e9; --c-money:#d8b45a; --c-time:#3fc9a2;
    --shadow-s:0 2px 8px rgba(0,0,0,.2); --hl:rgba(255,255,255,.035);
  }
}
:root[data-theme="dark"]{
  --surface-3:#2f363e; --s1:#3987e5; --s2:#d95926;
  --c-ret:#4cc3d6; --c-risk:#e0a54a; --c-ratio:#5b9be8; --c-trade:#9085e9; --c-money:#d8b45a; --c-time:#3fc9a2;
  --shadow-s:0 2px 8px rgba(0,0,0,.2); --hl:rgba(255,255,255,.035);
}
.cat-ret{--cat:var(--c-ret)} .cat-risk{--cat:var(--c-risk)} .cat-ratio{--cat:var(--c-ratio)}
.cat-trade{--cat:var(--c-trade)} .cat-money{--cat:var(--c-money)} .cat-time{--cat:var(--c-time)}

/* шапка и общие элементы в стиле версии 2 */
.n2 .wrap{max-width:1360px}
.n2 header.top .wrap{height:60px}
.n2 nav.main a{border-radius:10px}
.n2 .btn{border-radius:11px}
.n2 .icon-btn{border-radius:11px}
.n2 .langs a{border-radius:9px}
.n2 main.wrap{padding-top:18px}
.n2 .hint{font-size:12px;color:var(--faint)}
.n2 .ico{width:16px;height:16px;flex:none}
.n2 .btn{display:inline-flex;align-items:center;gap:7px}
.n2 .btn.sm{padding:5px 10px;font-size:13px}
.n2 .seg{display:inline-flex;border-radius:11px;background:var(--surface-2);border:0;padding:2px;gap:2px;overflow:visible;flex:none}
.n2 .seg button,.n2 .seg a{border:0;border-radius:9px;padding:5px 10px;font:500 12.5px Onest,system-ui,sans-serif;color:var(--muted);background:none;cursor:pointer;text-decoration:none;display:inline-block}
.n2 .seg button+button,.n2 .seg a+a{border-left:0}
.n2 .seg [aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.n2 .seg button:disabled{opacity:.4;cursor:not-allowed}
.tg{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--surface-2);border-radius:11px;padding:5px 11px 5px 6px;font:500 12.5px Onest,system-ui,sans-serif;color:var(--muted);cursor:pointer}
.tg i{width:28px;height:16px;border-radius:8px;background:var(--line-2);position:relative}
.tg i::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--surface-3);transition:left .15s}
.tg[aria-pressed="true"]{color:var(--text)} .tg[aria-pressed="true"] i{background:var(--accent)} .tg[aria-pressed="true"] i::after{left:14px}
.tg:disabled{opacity:.45;cursor:not-allowed}
.led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pos);margin-right:7px;vertical-align:1px;box-shadow:0 0 0 3px color-mix(in oklab,var(--pos) 25%,transparent);animation:led 2.4s ease-in-out infinite}
@keyframes led{50%{box-shadow:0 0 0 5px color-mix(in oklab,var(--pos) 8%,transparent)}}
@media (prefers-reduced-motion:reduce){.led{animation:none}}

/* карточки */
.card{position:relative;min-width:0;border-radius:20px;border:1px solid color-mix(in oklab,var(--line) 85%,transparent);
  background:radial-gradient(120% 70% at 0% 0%,color-mix(in oklab,var(--cat,var(--accent)) 8%,transparent),transparent 60%),linear-gradient(180deg,var(--surface-3),var(--surface));
  box-shadow:inset 0 1px 0 var(--hl),var(--shadow-s)}
.ch{display:flex;align-items:center;gap:10px;padding:14px 16px 0;flex-wrap:wrap}
.ch h2{margin:0;font-size:15px;font-weight:650}
.ch .cr{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:color-mix(in oklab,var(--cat,var(--accent)) 17%,var(--surface));color:var(--cat,var(--accent))}
.tic .ico{width:16px;height:16px}
.tic.s{display:inline-grid;width:20px;height:20px;border-radius:6px;margin-right:7px;vertical-align:-5px}
.tic.s .ico{width:12px;height:12px}

.n-crumbs{display:flex;gap:7px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:4px 2px 12px}
.n-crumbs a{text-decoration:none}
.n-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px}
.n-id{padding:20px 22px 18px;display:flex;flex-direction:column}
.n-nm{display:flex;align-items:baseline;gap:4px 14px;flex-wrap:wrap}
.n-nm h1{margin:0;font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-.025em;overflow-wrap:anywhere}
.n-nm span{font-size:19px;color:var(--muted);font-weight:500}
.n-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);background:color-mix(in oklab,var(--surface-2) 75%,transparent);border:1px solid var(--line);border-radius:999px;padding:4px 11px;white-space:nowrap}
.pill b{color:var(--text);font-weight:600}
.pill.ex{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font:600 12px var(--mono);letter-spacing:.03em}
.pill[data-tip]{cursor:help}
.hb{display:inline-block;width:44px;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.hb i{display:block;height:100%;background:var(--accent);border-radius:3px;width:0}
.n-stat{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.n-chips+.n-stat{margin-top:auto}
.n-id .n-chips{margin-bottom:14px}
.n-stat>span{font-size:12.5px;color:var(--muted);background:color-mix(in oklab,var(--surface-2) 70%,transparent);border-radius:10px;padding:5px 10px}
.n-stat b{color:var(--text);font-weight:600} .n-stat b.pos{color:var(--pos-ink)} .n-stat b.neg{color:var(--neg-ink)}
.n-hero{padding:18px 20px 16px;display:flex;flex-direction:column;
  background:radial-gradient(110% 90% at 100% 0%,color-mix(in oklab,var(--accent) 20%,transparent),transparent 62%),linear-gradient(180deg,var(--surface-3),var(--surface))}
.n-ht span{font-size:13px;color:var(--muted)}
.n-ht b{display:block;font-size:48px;line-height:1.02;font-weight:800;letter-spacing:-.035em;margin:4px 0}
.n-ht em{font-style:normal;font-size:13px;color:var(--muted)}
.n-hs{margin:8px -2px 12px;flex:1;display:flex;align-items:flex-end;min-height:40px}
.n-share{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.n-share .hint{max-width:34ch}
.n-pop{position:absolute;z-index:30;right:14px;top:calc(100% - 10px);width:340px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.n-pop p{font-size:12.5px;color:var(--muted);margin:10px 0}
.og{aspect-ratio:1.91/1;border-radius:12px;padding:14px 16px;color:#e8eef2;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(120% 120% at 100% 0%,var(--og1),var(--og2) 70%)}
.og-t{display:flex;justify-content:space-between;align-items:center;font:600 10px var(--mono);letter-spacing:.06em;color:#9fb4bd}
.og .logo{font-size:11px;color:#e8eef2;gap:6px} .og .logo i{width:15px;height:15px;border-color:#4cc3d6} .og .logo i::after{width:5px;height:5px;background:#4cc3d6}
.og-n{font-weight:800;font-size:17px;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.og-r{display:flex;align-items:baseline;gap:8px}
.og-r b{font-size:28px;font-weight:800;letter-spacing:-.03em}
.og-r b.pos{color:#5fd08f} .og-r b.neg{color:#f07c80}
.og-r span{font-size:10.5px;color:#9fb4bd}
.og-s{margin-top:auto}
.og .spark path.l{stroke:#4cc3d6} .og .spark path.a{fill:rgba(76,195,214,.14)}
.n-link{display:flex;gap:6px}
.n-link input{flex:1;min-width:0;border:1px solid var(--line-2);background:var(--surface-2);border-radius:10px;padding:6px 10px;font:12.5px var(--mono);color:var(--text)}
.n-soc{display:flex;gap:6px;margin-top:8px}

/* плитки */
.n-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin:14px 0}
.kc{position:relative;border-radius:16px;padding:12px 14px 10px;display:flex;flex-direction:column;min-width:0;border:1px solid color-mix(in oklab,var(--line) 85%,transparent);
  background:radial-gradient(130% 90% at 0% 0%,color-mix(in oklab,var(--cat) 11%,transparent),transparent 65%),linear-gradient(180deg,var(--surface-3),var(--surface));box-shadow:inset 0 1px 0 var(--hl),var(--shadow-s)}
.kc-l{font-size:12.5px;color:var(--muted);line-height:1.25}
.kc-v{font-size:23px;font-weight:750;letter-spacing:-.015em;margin-top:2px;font-family:var(--mono)}
.kc-v.hot{color:var(--warn)} .kc-v.mut{color:var(--faint)}
.kc-s{display:block;font-style:normal;font-size:11.5px;color:var(--faint);margin-top:auto;padding-top:6px;line-height:1.35}
.kc-s .pos{color:var(--pos-ink)} .kc-s .neg{color:var(--neg-ink)}
.kc.vis .kc-x{padding-top:6px;display:flex;justify-content:center}
.kc.vis .kc-s{text-align:center}
.kring{position:relative;width:66px;height:66px}
.kring svg{display:block} .kring b{position:absolute;inset:0;display:grid;place-items:center;font-size:17px;font-weight:800}
.ring-track{fill:none;stroke:color-mix(in oklab,var(--c-trade) 15%,var(--surface-2))}
.ring-fill{fill:none;stroke:var(--c-trade)}
.kgauge{text-align:center} .kgauge svg{display:block;margin:0 auto} .kgauge b{display:block;font-size:17px;font-weight:800;margin-top:-2px}
.gz-neg{stroke:color-mix(in oklab,var(--neg) 45%,var(--surface))}
.gz-1{stroke:color-mix(in oklab,var(--accent) 22%,var(--surface))}
.gz-2{stroke:color-mix(in oklab,var(--accent) 48%,var(--surface))}
.gz-3{stroke:color-mix(in oklab,var(--accent) 78%,var(--surface))}
.g-needle{stroke:var(--text);stroke-width:2.5;stroke-linecap:round}
.g-hub{fill:var(--text)}

/* сетка: слева график и вкладки, справа статистика */
.n-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.n-left{display:flex;flex-direction:column;gap:14px;min-width:0}
.n-ro{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 0;font-size:12.5px;color:var(--muted);min-height:34px}
.n-ro>span{background:color-mix(in oklab,var(--surface-2) 70%,transparent);border-radius:8px;padding:3px 8px}
.n-ro .d{color:var(--text);font-weight:600}
.n-ro b{font-weight:600;color:var(--text)} .n-ro b.pos{color:var(--pos-ink)} .n-ro b.neg{color:var(--neg-ink)} .n-ro b.mut{color:var(--muted)} .n-ro b.hot{color:var(--warn)}
.n-cv{padding:6px 6px 0 14px;min-height:120px}
.n-leg{display:flex;flex-wrap:wrap;gap:6px 16px;padding:4px 16px 14px;font-size:12px;color:var(--muted)}
.n-leg.in{padding:0 0 6px}
.n-leg span{display:inline-flex;align-items:center;gap:7px}
.lk{display:inline-block;width:16px;height:2.5px;border-radius:2px;background:var(--accent)} .lk.neg{background:var(--neg)} .lk.s1{background:var(--s1)} .lk.s2{background:var(--s2)}
.lk.ld{background:var(--c-risk)} .lk.bm{background:var(--faint)}
.n-leg i.band{width:14px;height:10px;border-radius:3px;background:color-mix(in oklab,var(--warn) 22%,transparent);border-top:1.5px solid color-mix(in oklab,var(--warn) 60%,transparent)}
.tri{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:9px solid var(--accent)}
.tri.wd{border-bottom:0;border-top:9px solid var(--warn)}
.n-tabbar{display:flex;flex-wrap:wrap;gap:4px;padding:10px 10px 6px}
.n-tabbar button{border:0;background:none;border-radius:10px;padding:7px 12px;font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap;cursor:pointer}
.n-tabbar button:hover{color:var(--text);background:var(--surface-2)}
.n-tabbar button[aria-selected="true"]{color:var(--text);background:var(--accent-soft);font-weight:600}
.n-tabc{padding:6px 16px 16px;min-height:220px}
.n-tabc noscript,.n-cv noscript{display:block;color:var(--muted);font-size:13.5px;padding:12px 0}

/* колонка «Статистика» */
.n-stats .ch{padding-bottom:6px}
.n-stats .sg{padding:10px 16px;border-bottom:1px solid var(--line)}
.n-stats .sg:last-child{border-bottom:0}
.sgh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:600 13px Onest,system-ui,sans-serif;color:var(--text);padding:4px 0 6px}
.sgh em{font-style:normal;font-weight:400;font-size:11px;text-align:right;color:var(--faint)}
.sr{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;gap:2px 12px;align-items:center;padding:5px 0;font-size:13.5px;border-bottom:1px dashed var(--line)}
.sr:last-child{border-bottom:0}
.sr .l{color:var(--muted)} .sr .l[data-tip]{text-decoration:underline dotted var(--faint);text-underline-offset:3px;cursor:help}
.sr .v{font-family:var(--mono);font-weight:500;text-align:right;white-space:nowrap}
.sr .v .pos{color:var(--pos-ink)} .sr .v .neg{color:var(--neg-ink)}
.sr small{grid-column:1/-1;text-align:right;font:11px var(--mono);color:var(--faint)}
.sr small .pos{color:var(--pos-ink)} .sr small .neg{color:var(--neg-ink)}
.meter{position:relative;display:block;height:6px;border-radius:3px;background:color-mix(in oklab,var(--accent) 16%,var(--surface-2))}
.meter i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--accent);width:0}
.meter b{position:absolute;top:-3px;bottom:-3px;width:1.5px;background:var(--text);opacity:.55}
.meter.warn{background:color-mix(in oklab,var(--warn) 18%,var(--surface-2))} .meter.warn i{background:var(--warn)}
.meter.neg{background:color-mix(in oklab,var(--neg) 16%,var(--surface-2))} .meter.neg i{background:var(--neg)}
.dbar{position:relative;display:block;height:8px}
.dbar::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--line-2)}
.dbar i{position:absolute;top:0;bottom:0;width:0}
.dbar i.p{left:50%;background:var(--pos);border-radius:0 4px 4px 0}
.dbar i.n{right:50%;background:var(--neg);border-radius:4px 0 0 4px}
.zs{position:relative;display:flex;gap:2px;height:6px}
.zs span{flex:1;border-radius:2px}
.zs span:nth-child(1){background:color-mix(in oklab,var(--neg) 35%,var(--surface-2))}
.zs span:nth-child(2){background:color-mix(in oklab,var(--accent) 18%,var(--surface-2))}
.zs span:nth-child(3){background:color-mix(in oklab,var(--accent) 42%,var(--surface-2))}
.zs span:nth-child(4){background:color-mix(in oklab,var(--accent) 72%,var(--surface-2))}
.zs b{position:absolute;top:-4px;width:10px;height:14px;margin-left:-5px;border-radius:3px;background:var(--text);border:2px solid var(--surface)}
.tl{position:relative;display:block;height:6px;border-radius:3px;background:var(--surface-2)}
.tl i{position:absolute;top:0;bottom:0;border-radius:3px;background:color-mix(in oklab,var(--neg) 70%,var(--surface))}
.stats-note{font-size:12px;color:var(--faint);margin:6px 0 0}

/* вкладки разбора */
.split{display:flex;height:10px;gap:2px}
.split i{display:block;height:100%}
.split i:first-child{background:var(--s1);border-radius:5px 0 0 5px}
.split i:last-child{background:var(--s2);border-radius:0 5px 5px 0}
.split.sm{height:6px;width:96px}
.key{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:5px}
.key.s1{background:var(--s1)} .key.s2{background:var(--s2)}
.lockbox{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px dashed var(--line-2);border-radius:12px;color:var(--muted);font-size:14px}
.lockbox svg{flex:none;width:22px;height:22px;color:var(--faint)}
.lockbox b{color:var(--text);display:block;font-weight:600;margin-bottom:2px}
table.n-hm{width:100%;border-collapse:separate;border-spacing:3px;font:12px var(--mono)}
.n-hm th{color:var(--faint);font-weight:500;padding:4px;text-align:center}
.n-hm td{text-align:center;padding:10px 2px;border-radius:7px}
.n-hm td.y{font-weight:600;text-align:left;padding-left:6px;color:var(--muted)}
.n-hm td.tot{font-weight:700;border-left:2px solid var(--line)}
.n-hm td.na{color:var(--faint)}
.nfs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}
.nfs.col{grid-template-columns:minmax(0,1fr);margin-top:0;align-content:start}
.nf{background:color-mix(in oklab,var(--surface-2) 80%,transparent);border-radius:12px;padding:9px 12px;min-width:0}
.nf>span{display:block;font-size:12px;color:var(--muted)}
.nf b{display:block;font-size:18px;font-weight:700;margin-top:1px}
.nf b.pos,.nf b .pos{color:var(--pos-ink)} .nf b.neg,.nf b .neg{color:var(--neg-ink)}
.nf em{display:block;font-style:normal;font-size:11.5px;color:var(--faint)}
.n-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}
.v-two{display:grid;grid-template-columns:1fr 1.7fr;gap:22px}
.v-two.eq{grid-template-columns:1fr 1fr}
.v-sub{font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:2px 0 6px}
.v-note{font-size:12.5px;color:var(--muted);margin:10px 0 0}
.v-sides{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-bottom:14px}
.v-sd{background:var(--surface-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.v-sd .t{font-size:13px;font-weight:600;color:var(--muted)}
.v-sd b{font-size:24px;font-weight:700}
.v-sd span.num{font-size:12px;color:var(--muted)}
.v-sd .split{margin:8px 0 4px}
.v-calleg{display:flex;align-items:center;gap:4px;margin-top:8px;font:11px var(--mono);color:var(--faint);flex-wrap:wrap}
.v-calleg i{width:13px;height:13px;border-radius:3px}
.v-calleg .sp{flex:1}
table.v-tb{width:100%;border-collapse:collapse;font-size:13.5px}
.v-tb th{text-align:left;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--faint);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.v-tb td{padding:8px 10px;border-bottom:1px solid var(--line)}
.v-tb tr:last-child td{border-bottom:0}
.v-tb .r{text-align:right} .v-tb .w40{width:34%}
.v-tb .sym{font-weight:600;margin-right:3px}
.v-tb .fnt{font-size:11.5px;color:var(--faint)}
.cb{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:10px;align-items:center}
.cb b{text-align:right;font-weight:600}
.n-bar2{display:flex;flex-direction:column;gap:12px}
.n-bar2>div>span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}
.n-bar2 .split{height:12px}
.n-bar2 em{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:5px}
.na-box{color:var(--muted);font-size:13.5px;padding:10px 12px;border:1px dashed var(--line-2);border-radius:12px}

/* графики */
.tt{position:fixed;z-index:100;display:none;pointer-events:none;background:var(--surface-3);border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;font-size:12.5px;box-shadow:var(--shadow);max-width:280px}
.tt .d{color:var(--muted);display:block;margin-bottom:2px}
.tt .r{display:flex;align-items:center;gap:7px;white-space:nowrap}
.tt .r b{font-family:var(--mono);font-weight:600}
.tt .r b.pos{color:var(--pos-ink)} .tt .r b.neg{color:var(--neg-ink)}
.tt .r span{color:var(--muted)}
.tt .k{width:12px;height:2.5px;border-radius:2px;background:currentColor;flex:none}
.cbox{position:relative;width:100%}
.cbox svg{display:block;overflow:visible}
.g-grid{stroke:var(--line);stroke-width:1}
.g-zero{stroke:var(--line-2);stroke-width:1}
.g-axis{fill:var(--faint);font:11px var(--mono)}
.g-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.g-area{fill:color-mix(in oklab,var(--accent) 12%,transparent)}
.g-line.dd{stroke:var(--neg);stroke-width:1.5} .g-area.dd{fill:color-mix(in oklab,var(--neg) 16%,transparent)}
.g-line.bm{stroke:var(--faint);stroke-width:1.5}
.g-line.s1{stroke:var(--s1)} .g-line.s2{stroke:var(--s2)}
.g-line.ld{stroke:var(--c-risk);stroke-width:1.5} .g-area.ld{fill:color-mix(in oklab,var(--c-risk) 16%,transparent)}
.g-cross{stroke:var(--muted);stroke-width:1}
.g-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}
.g-dot.dd{fill:var(--neg)} .g-dot.bm{fill:var(--faint)} .g-dot.s1{fill:var(--s1)} .g-dot.s2{fill:var(--s2)} .g-dot.ld{fill:var(--c-risk)}
.g-mk{stroke:var(--surface);stroke-width:1.5;cursor:help}
.g-mk.dep{fill:var(--accent)} .g-mk.wd{fill:var(--warn)}
.g-ann{fill:var(--neg-ink);font:600 11px var(--mono)} .g-ann.ld{fill:var(--warn)}
.g-ann-dot{fill:var(--neg);stroke:var(--surface);stroke-width:2} .g-ann-dot.ld{fill:var(--c-risk)}
.g-band{fill:color-mix(in oklab,var(--warn) 7%,transparent)}
.g-bandl{stroke:color-mix(in oklab,var(--warn) 55%,transparent);stroke-width:1}
.g-bandt{fill:var(--warn);font:600 10.5px var(--mono)}
.g-ptitle{fill:var(--muted);font:600 11.5px Onest,system-ui,sans-serif;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.b-pos{fill:var(--pos)} .b-neg{fill:var(--neg)} .b-acc{fill:var(--accent)} .b-time{fill:var(--c-time)}
.b-hit{fill:transparent}
.neg-bin{fill:var(--neg)} .pos-bin{fill:var(--pos)}
.g-val{fill:var(--muted);font:600 10.5px var(--mono)}
.hm-empty{fill:var(--surface-2)}
.g-pt.p{fill:var(--pos);opacity:.45} .g-pt.n{fill:var(--neg);opacity:.45}
.g-vl{stroke-width:1.5} .g-vl.p{stroke:var(--pos-ink)} .g-vl.n{stroke:var(--neg-ink)}
.g-vlt{font:600 11px Onest,system-ui,sans-serif;paint-order:stroke;stroke:var(--surface);stroke-width:4px} .g-vlt.p{fill:var(--pos-ink)} .g-vlt.n{fill:var(--neg-ink)}
.g-pring{fill:none;stroke:var(--text);stroke-width:1.5}
.spark{display:block;width:100%}
.spark path.l{fill:none;stroke:var(--accent);stroke-width:1.5}
.spark path.a{fill:color-mix(in oklab,var(--accent) 12%,transparent)}
.spark.dd path.l{stroke:var(--neg)} .spark.dd path.a{fill:color-mix(in oklab,var(--neg) 18%,transparent)}

/* рейтинг */
.r-head h1{margin:6px 0 4px;font-size:30px;font-weight:800;letter-spacing:-.025em}
.r-head p{margin:0 0 14px;color:var(--muted)}
.r-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.r-kpis .kc-v.sm{font-size:18px;font-family:Onest,system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-filt{display:flex;flex-wrap:wrap;gap:12px 28px;padding:12px 16px;margin-bottom:14px}
.r-f{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.r-f .seg{flex-wrap:wrap;max-width:100%}
.r-fl{font-size:12.5px;color:var(--muted);font-weight:600}
.r-card{padding:4px 0}
table.r-tb{width:100%;border-collapse:collapse;font-size:14px}
.r-tb th{text-align:right;font-weight:500;font-size:12px;color:var(--faint);padding:12px 14px 10px;white-space:nowrap;border-bottom:1px solid var(--line)}
.r-tb td{text-align:right;padding:10px 14px;border-bottom:1px solid color-mix(in oklab,var(--line) 70%,transparent);white-space:nowrap}
.r-tb .l{text-align:left} .r-tb .c{text-align:center;width:46px}
.r-tb tbody tr[data-href]{cursor:pointer;transition:background .12s}
.r-tb tbody tr:hover td{background:color-mix(in oklab,var(--accent) 6%,transparent)}
.r-tb tbody tr:last-child td{border-bottom:0}
.r-tb .nk{display:block;font-weight:650;color:var(--text);text-decoration:none}
.r-tb .tt2{display:block;font-size:12px;color:var(--muted);max-width:26ch;overflow:hidden;text-overflow:ellipsis}
.r-tb .xb{display:inline-block;margin-top:2px;font:600 10.5px var(--mono);letter-spacing:.04em;color:var(--muted);border:1px solid var(--line-2);border-radius:6px;padding:0 6px;text-transform:uppercase}
.r-tb .rbig{font-size:16px;font-weight:700}
.r-tb td.spk{width:120px}
.r-tb td.spk .spark{width:110px;margin-left:auto}
.r-tb .empty{text-align:center;color:var(--muted);padding:30px;white-space:normal}
.rkb{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;font:700 13px var(--mono);color:var(--muted);background:var(--surface-2)}
.rkb.t1{background:color-mix(in oklab,var(--accent) 85%,var(--surface));color:var(--accent-ink)}
.rkb.t2{background:color-mix(in oklab,var(--accent) 55%,var(--surface));color:var(--accent-ink)}
.rkb.t3{background:color-mix(in oklab,var(--accent) 30%,var(--surface));color:var(--text)}
.r-note{font-size:12.5px;color:var(--muted);margin:12px 2px 0;max-width:110ch}

@media (max-width:1180px){
  .n-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .n-grid{grid-template-columns:minmax(0,1fr)}
  .n-left{display:contents} .n-chart{order:1} .n-stats{order:2} .n-tabs{order:3}
}
@media (max-width:900px){.n-top{grid-template-columns:minmax(0,1fr)} .r-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .n-two,.v-two,.v-two.eq{grid-template-columns:minmax(0,1fr)}
  .v-sides{grid-template-columns:1fr 1fr} .v-sd.wide{grid-column:1/-1}
  .r-tb .hide-s,.v-tb .hide-s{display:none}
}
@media (max-width:520px){
  .n-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .n-nm h1{font-size:26px} .n-nm span{font-size:16px}
  .n-id{padding:16px} .n-hero{padding:16px}
  .n-ht b{font-size:40px}
  .card{border-radius:16px}
  .n-pop{right:8px;left:8px;width:auto}
  .ch{padding:12px 12px 0}
  .n-cv{padding-left:6px}
  .n-tabc{padding:6px 12px 14px}
  .n-tabbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .sr{grid-template-columns:minmax(0,1fr) 56px auto}
  .n-chips{flex-wrap:wrap}
  .r-tb th,.r-tb td{padding:9px 6px} .r-tb .c{width:34px} .rkb{width:24px;height:24px;font-size:12px}
  .r-tb th{font-size:11px;white-space:normal}
  .r-tb .rbig{font-size:15px}
  .r-head h1{font-size:24px}
  .r-filt{padding:10px 12px}
}

/* ===================== кабинет, админка, вход, справка — тот же стиль ===================== */
.n2 h1{font-size:30px;font-weight:800;letter-spacing:-.025em;margin:6px 0 4px}
.n2 .sub{margin-bottom:16px}
.n2 .panel{border-radius:20px;border:1px solid color-mix(in oklab,var(--line) 85%,transparent);
  background:radial-gradient(120% 70% at 0% 0%,color-mix(in oklab,var(--cat,var(--accent)) 7%,transparent),transparent 60%),linear-gradient(180deg,var(--surface-3),var(--surface));
  box-shadow:inset 0 1px 0 var(--hl),var(--shadow-s)}
.n2 .ph{padding:14px 16px;border-bottom:1px solid color-mix(in oklab,var(--line) 70%,transparent)}
.n2 .ph h2{font-size:15px;font-weight:650}
.n2 .sec+.sec{border-top:1px solid color-mix(in oklab,var(--line) 70%,transparent)}
.n2 .row+.row{border-top:1px dashed color-mix(in oklab,var(--line) 80%,transparent)}
.n2 .sec-gap{margin-top:14px}
.n2 .cab{gap:14px}
.n2 .acc-list{display:flex;flex-direction:column;gap:6px;padding:10px}
.n2 .acc-item{border-radius:14px;text-decoration:none;color:var(--text);background:color-mix(in oklab,var(--surface-2) 45%,transparent)}
.n2 .acc-item[aria-selected="true"]{border-color:color-mix(in oklab,var(--accent) 60%,transparent);background:var(--accent-soft)}
.n2 .slot{border-radius:14px;display:block;text-decoration:none}
.n2 .bar{border-radius:3px;height:5px}
.n2 .inp{border-radius:10px;background:color-mix(in oklab,var(--surface-2) 80%,transparent)}
.n2 textarea.inp{font-family:Onest,system-ui,sans-serif}
.n2 .flash,.n2 .alert,.n2 .note,.n2 .ipbox{border-radius:12px}
.n2 .quote{border-radius:10px}
.n2 .ex{border-radius:6px;font:600 10.5px var(--mono);letter-spacing:.04em;padding:1px 6px}
.n2 .tag,.n2 .bdg{border-radius:6px}
.n2 .ex-tabs button{border-radius:11px;font:500 13px Onest,system-ui,sans-serif;padding:7px 14px}
.n2 .ex-tabs button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
.n2 .card-narrow{margin-top:24px}
.n2 .card-narrow h1{font-size:24px}
.n2 .stats-h{font:600 13px Onest,system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--text)}
.n2 .empty{border-radius:14px}
/* плитки админки */
.n2 .tiles5{gap:10px;background:none;border:0;overflow:visible}
.n2 .tiles5>div{position:relative;border-radius:16px;padding:12px 14px 10px;border:1px solid color-mix(in oklab,var(--line) 85%,transparent);
  background:radial-gradient(130% 90% at 0% 0%,color-mix(in oklab,var(--cat,var(--accent)) 11%,transparent),transparent 65%),linear-gradient(180deg,var(--surface-3),var(--surface));box-shadow:inset 0 1px 0 var(--hl),var(--shadow-s)}
.n2 .tiles5 span{font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--muted)}
.n2 .tiles5 b{display:block;font-size:23px;font-weight:750;margin-top:2px}
/* меню и таблицы админки */
.n2 .adm{gap:14px}
.n2 .adm-nav{padding:8px;gap:2px}
.n2 .adm-nav a{border-radius:10px;padding:8px 12px}
.n2 .adm-nav a.on{background:var(--accent-soft);font-weight:600}
.n2 .adm-main{gap:14px}
.n2 .at th{font:500 12px Onest,system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--faint);padding:12px 14px 10px}
.n2 .at td{border-bottom:1px solid color-mix(in oklab,var(--line) 70%,transparent)}
.n2 .at tbody tr.click:hover td{background:color-mix(in oklab,var(--accent) 6%,transparent)}
.n2 .at tbody tr.sel td{background:var(--accent-soft)}
.n2 .case>div+div{border-left:1px solid color-mix(in oklab,var(--line) 70%,transparent)}
.n2 .sub-h{font:600 13px Onest,system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--text)}
.n2 .dl li{border-bottom:1px dashed color-mix(in oklab,var(--line) 80%,transparent)}
.n2 .admin-bar{border-radius:14px}
.n2 .cnt{border-radius:999px}
@media (max-width:1100px){.n2 .case>div+div{border-left:0;border-top:1px solid color-mix(in oklab,var(--line) 70%,transparent)}}
@media (max-width:520px){.n2 h1{font-size:24px}.n2 .panel{border-radius:16px}}
.c-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px 4px}
.c-kpis .kc-v{font-size:20px}
@media (max-width:640px){.c-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.n2 .row .d b .bdg{display:inline-block;margin-left:6px;vertical-align:1px}
