/* 7degrees — shared layout, liquid glass surfaces and a three-size type scale. */
:root{
  --bg:#ECEFF4;--panel:rgba(255,255,255,.76);--panel2:rgba(255,255,255,.97);--solid:#FFFFFF;
  --line:rgba(20,30,60,.10);--line2:rgba(20,30,60,.18);--hover:rgba(20,30,60,.05);--soft:rgba(20,30,60,.06);
  --ink:#141821;--ink2:#3C4454;--mute:#566072;
  --accent:#1F5BD8;--accent-bg:#E3EBFD;--on-accent:#FFFFFF;
  --ok:#0A6A5D;--ok-bg:#D9F1EC;--warn:#7D5200;--warn-bg:#FFF0C7;--bad:#AE2116;--bad-bg:#FCE6E3;--rule:#963F00;--rule-bg:#FFE8D3;
  --fill:#141821;--on-fill:#FFFFFF;
  --blob1:#C2D3FF;--blob2:#C6EEE5;--blob3:#FFE0CC;
  --c-ok:#16927F;--c-warn:#D9A21F;--c-bad:#D4513F;--c-acc:#1F5BD8;--c-rule:#D9772B;--c-gray:#8A93A3;--c-violet:#9A6AD0;--c-light:#B7BEC9;
  --ui:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;--disp:'Manrope','Golos Text',system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0E1218;--panel:rgba(27,33,44,.82);--panel2:rgba(31,38,50,.98);--solid:#1A202A;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.17);--hover:rgba(255,255,255,.05);--soft:rgba(255,255,255,.07);
  --ink:#E8ECF3;--ink2:#C4CBD8;--mute:#9AA4B5;
  --accent:#86ACFF;--accent-bg:rgba(134,172,255,.16);--on-accent:#0E1218;
  --ok:#62D6C1;--ok-bg:rgba(98,214,193,.14);--warn:#F2C35B;--warn-bg:rgba(242,195,91,.14);--bad:#FF8E7E;--bad-bg:rgba(255,142,126,.14);--rule:#FFB27A;--rule-bg:rgba(255,178,122,.14);
  --fill:#E8ECF3;--on-fill:#0E1218;
  --blob1:#1C2B4D;--blob2:#123A35;--blob3:#3A2A1E;
  --c-ok:#3CC2AB;--c-warn:#E8B53C;--c-bad:#F07A68;--c-acc:#6F98FF;--c-rule:#F09A55;--c-gray:#7D879A;--c-violet:#B48CE6;--c-light:#5B6475;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1218;--panel:rgba(27,33,44,.82);--panel2:rgba(31,38,50,.98);--solid:#1A202A;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.17);--hover:rgba(255,255,255,.05);--soft:rgba(255,255,255,.07);
  --ink:#E8ECF3;--ink2:#C4CBD8;--mute:#9AA4B5;
  --accent:#86ACFF;--accent-bg:rgba(134,172,255,.16);--on-accent:#0E1218;
  --ok:#62D6C1;--ok-bg:rgba(98,214,193,.14);--warn:#F2C35B;--warn-bg:rgba(242,195,91,.14);--bad:#FF8E7E;--bad-bg:rgba(255,142,126,.14);--rule:#FFB27A;--rule-bg:rgba(255,178,122,.14);
  --fill:#E8ECF3;--on-fill:#0E1218;
  --blob1:#1C2B4D;--blob2:#123A35;--blob3:#3A2A1E;
  --c-ok:#3CC2AB;--c-warn:#E8B53C;--c-bad:#F07A68;--c-acc:#6F98FF;--c-rule:#F09A55;--c-gray:#7D879A;--c-violet:#B48CE6;--c-light:#5B6475;
  color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink)}
.v7{position:relative;color:var(--ink);background:var(--bg);overflow:hidden;
  background-image:radial-gradient(1000px 760px at -6% -8%,var(--blob1),transparent 70%),radial-gradient(900px 760px at 106% 12%,var(--blob2),transparent 70%),radial-gradient(900px 700px at 50% 108%,var(--blob3),transparent 70%)}
.v7 :focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.v7 button,.v7 input,.v7 select,.v7 textarea{color:inherit}
.bg{display:none}
.wrap{position:relative;padding:20px 32px 48px;display:flex;flex-direction:column;gap:18px}
.glass,.panel{background:var(--panel);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--line);border-radius:18px}
.glass.solid{background:var(--panel2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* шапка */
.top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:12px 16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-height:44px}
.logo{width:42px;height:42px;border-radius:12px;background:var(--fill);color:var(--on-fill);display:flex;align-items:center;justify-content:center;letter-spacing:.02em;flex:0 0 auto}
.brand-t{display:flex;flex-direction:column;line-height:1.15}
.brand-t small{color:var(--mute);}
.nav{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:13px;background:var(--soft);flex:0 1 auto}
.nav a,.nav-off{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:10px;color:var(--ink2);text-decoration:none;white-space:nowrap}
.nav a:hover{color:var(--ink);background:var(--hover)}
.nav a.on{background:var(--solid);color:var(--ink);box-shadow:0 1px 6px rgba(20,30,60,.12)}
.nav-off{color:var(--mute);opacity:.8}
.top-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.search{position:relative;display:flex;align-items:center}
.search svg{position:absolute;left:12px;color:var(--mute)}
.search input{width:300px;max-width:70vw;height:42px;border-radius:12px;border:1px solid var(--line2);background:var(--solid);padding:0 12px 0 38px;}
.sample{display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:999px;background:var(--warn-bg);color:var(--warn);white-space:nowrap}

/* текст */
h1{margin:0;letter-spacing:-.01em;text-wrap:balance}
.h2{margin:0;text-wrap:balance}
.h3{margin:0;}
.sub{margin:4px 0 0;color:var(--ink2);}
.mute{color:var(--mute)}.num{font-variant-numeric:tabular-nums}
.big{font-variant-numeric:tabular-nums}
p{margin:0}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid var(--line2);background:var(--solid);color:var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--mute)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.dark{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.btn.ghost{background:transparent}
.btn.sm{min-height:34px;padding:0 12px;border-radius:10px}
.btn.wide{width:100%}
.btn[disabled]{opacity:.45;cursor:default}
.link{background:none;border:0;padding:4px 2px;color:var(--accent);cursor:pointer;text-decoration:none}
.link:hover{text-decoration:underline}

.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px}
.head-actions{display:flex;gap:10px;flex-wrap:wrap}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.kpi b{font-variant-numeric:tabular-nums}
.kpi span{color:var(--ink2);}
.kpi em{font-style:normal;color:var(--mute);}
a.kpi:hover{border-color:var(--line2)}

.cols{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}
.main{flex:999 1 760px;min-width:0;display:flex;flex-direction:column;gap:18px}
.aside{flex:1 1 360px;max-width:440px;padding:18px;display:flex;flex-direction:column;gap:18px}

/* чипы, метки */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--solid);color:var(--ink);cursor:pointer;text-align:left}
.chip:hover{border-color:var(--mute)}
.chip .n{color:var(--mute);font-variant-numeric:tabular-nums}
.chip.on,.chip[aria-pressed="true"]{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.chip.on .n,.chip[aria-pressed="true"] .n{color:inherit;opacity:.75}
.chip.zero{color:var(--mute)}
.chip.x{background:var(--solid)}
.chip.x svg{color:var(--mute)}
.sw-row{display:flex;align-items:center;gap:10px;min-height:40px;color:var(--ink2)}
.sw{position:relative;flex:0 0 auto;width:44px;height:26px;border-radius:999px;border:0;background:var(--line2);cursor:pointer;padding:0}
.sw::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
.sw.on{background:var(--accent)}
.sw.on::after{left:21px}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.tag{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:1px 8px;border-radius:7px;line-height:1.25;background:var(--soft);color:var(--ink2);white-space:nowrap}
.tag.photo,.tag.teal{background:var(--ok-bg);color:var(--ok)}
.tag.rule,.tag.orange{background:var(--rule-bg);color:var(--rule)}
.tag.blue{background:var(--accent-bg);color:var(--accent)}
.tag.red{background:var(--bad-bg);color:var(--bad)}
.tag.amber{background:var(--warn-bg);color:var(--warn)}
.tag.line{background:transparent;border:1px solid var(--line2)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}

/* таблица на сетке: колонки задаются стилем grid-template-columns у шапки и строк */
.card{padding:0;overflow:hidden}
.card-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px}
.gt{overflow-x:auto}
.gt-in{min-width:0}
.gt-h,.gt-r{display:grid;column-gap:12px;padding:0 18px;align-items:start}
.gt-h{border-top:1px solid var(--line);border-bottom:1px solid var(--line2);background:var(--soft)}
.gt-h>span{padding:9px 0;color:var(--mute);letter-spacing:.02em;white-space:nowrap}
.gt-r{border-bottom:1px solid var(--line);}
.gt-r>span,.gt-r>div,.gt-r>label{padding:10px 0;min-width:0}
.gt-r:hover{background:var(--hover)}
a.gt-r{color:inherit;text-decoration:none}
.gt-empty{padding:40px 18px;text-align:center;color:var(--mute)}
.gt.boxed{border:1px solid var(--line);border-radius:14px}
.gt.boxed .gt-h{border-top:0}
.cb input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.co a{color:var(--ink);text-decoration:none}
.co a:hover{color:var(--accent)}
.co small{display:block;color:var(--mute);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nowrap{white-space:nowrap}
.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px}
.pager .pg{display:flex;align-items:center;gap:10px}
select.sel{height:38px;border-radius:10px;border:1px solid var(--line2);background:var(--solid);padding:0 10px;}
.active-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bulk{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 18px 12px;padding:8px 12px;border-radius:12px;background:var(--fill);color:var(--on-fill)}
.bulk .btn{min-height:34px}
.bulk .btn.ghost{color:var(--on-fill);border-color:color-mix(in srgb,var(--on-fill) 35%,transparent)}
.bulk .link{color:var(--on-fill);opacity:.8}

/* полосы */
.bar{display:flex;height:10px;border-radius:999px;background:var(--soft);overflow:hidden}
.bar i{display:block;height:100%}
.hb{display:flex;flex-direction:column;gap:8px}
.hb-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;}
.hb-row .track{grid-column:1/-1;height:7px;border-radius:999px;background:var(--soft);overflow:hidden}
.hb-row .track i{display:block;height:100%;border-radius:999px;background:var(--c-acc)}
.hb-row .track i.o{background:var(--c-rule)}
.hb-row .track i.t{background:var(--c-ok)}
.hb-row .track i.g{background:var(--c-gray)}
.stackbar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--soft)}
.stackbar i{display:block;height:100%}
.sumrow{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;}
.sq{display:inline-block;width:10px;height:10px;border-radius:3px}
.legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--ink2)}
.legend span{display:inline-flex;align-items:center;gap:6px}

/* формы */
.lbl{display:block;margin-bottom:6px}
.inp{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--solid);padding:0 12px;}
textarea.inp{min-height:200px;padding:10px 12px;resize:vertical}
.hint{color:var(--mute);margin-top:6px}
.ok{color:var(--ok)}.bad{color:var(--bad)}
.seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--soft);gap:4px;flex-wrap:wrap}
.seg button{min-height:36px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:var(--ink2);cursor:pointer}
.seg button.on{background:var(--solid);color:var(--ink);box-shadow:0 1px 6px rgba(20,30,60,.12);}
.drop{border:2px dashed var(--line2);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--ink2)}
.check{display:flex;align-items:flex-start;gap:10px;min-height:38px;cursor:pointer}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 auto}

/* этапы, лента */
.stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.stage{padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.stage .no{color:var(--mute);letter-spacing:.04em}
.stage .n{font-variant-numeric:tabular-nums}
.tl{display:flex;flex-direction:column}
.tl-i{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.tl-i:first-child{border-top:0}
.tl-d{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--c-ok);color:#fff;}
.tl-d.wait{background:var(--soft);color:var(--mute)}
.tl-x{color:var(--ink2);margin-top:2px}
.tl-s{color:var(--mute);white-space:nowrap}

/* фото */
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ph{position:relative;aspect-ratio:4/3;max-width:100%;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(135deg,var(--soft) 0 12px,var(--hover) 12px 24px);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:10px}
.ph .ph-l{color:var(--ink2);background:var(--panel2);border-radius:8px;padding:3px 8px;align-self:flex-start}
.ph .ph-m{display:flex;flex-wrap:wrap;gap:6px}
.ph .box{position:absolute;border:2px solid var(--c-ok);border-radius:6px}

.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.pad{padding:18px}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.between{justify-content:space-between}
.divider{height:1px;background:var(--line);margin:2px 0}
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 14px;}
.kv dt{color:var(--mute)}
.kv dd{margin:0}
.log{color:var(--ink2);display:flex;flex-direction:column;gap:2px}
.log .t{color:var(--mute)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:600px;max-width:100%;z-index:20;padding:22px;overflow:auto;display:flex;flex-direction:column;gap:14px;background:var(--panel2);box-shadow:-20px 0 60px rgba(0,0,0,.25);border-left:1px solid var(--line)}
.veil{position:fixed;inset:0;z-index:19;background:rgba(10,14,20,.35);border:0}
.inset{padding:14px;border-radius:14px;background:var(--soft)}

/* выпадающие фильтры и шаги конструктора */
.step{padding:18px;display:flex;flex-direction:column;gap:14px}
.step-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.step-t{display:flex;align-items:center;gap:10px}
.stepno{width:30px;height:30px;border-radius:9px;background:var(--fill);color:var(--on-fill);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.fbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fwrap{position:relative}
.fbtn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border-radius:12px;border:1px solid var(--line2);background:var(--solid);color:var(--ink);cursor:pointer;white-space:nowrap}
.fbtn:hover{border-color:var(--mute)}
.fbtn.has{border-color:var(--fill);}
.fbtn.open{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.fbtn svg{color:var(--mute)}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--fill);color:var(--on-fill);}
.pop{position:absolute;top:48px;left:0;z-index:40;width:360px;max-width:86vw;padding:10px;border-radius:16px;background:var(--panel2);border:1px solid var(--line2);box-shadow:0 20px 50px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:8px}
.pop .inp{min-height:38px;}
.opts{display:flex;flex-direction:column;max-height:340px;overflow:auto}
.opt{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}
.opt:hover{background:var(--hover)}
.opt .box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--mute);display:flex;align-items:center;justify-content:center}
.opt.on .box{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.opt .n{color:var(--mute);font-variant-numeric:tabular-nums}
.opt.zero{color:var(--mute)}
.pop-f{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid var(--line)}
.sentence{line-height:1.5;color:var(--ink2)}
.sentence b{color:var(--ink)}
.ctype{padding:16px;border-radius:16px;background:var(--soft);display:flex;flex-direction:column;gap:10px}
.ctype.off{opacity:.55}
.ctype-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ex{color:var(--mute)}
.lock{display:flex;align-items:center;gap:8px;min-height:36px;color:var(--mute)}
@media (max-width:760px){
  .wrap{padding:14px 16px 36px}
  .kv{grid-template-columns:1fr}
  .aside{max-width:none}
  .top-r{margin-left:0}
}
.ph .tag.photo{background:var(--panel2)}

/* справочник изделий: роли станков, список, карточка */
.role-b{background:#edf3ff!important;border:1px solid #cdddf5!important;color:#3d649f!important}
.role-v{background:#f4f7fc!important;border:1px solid #d5e1f2!important;color:#536881!important}
.role-e{background:rgba(255,255,255,.7)!important;border:1px solid #dce5f2!important;color:#536881!important}
.mini{display:flex;flex-wrap:wrap;gap:4px}
.mini span{padding:2px 7px;border-radius:7px;border:1px solid transparent;white-space:nowrap}
.thumb{width:56px;height:42px;border-radius:8px;overflow:hidden;background:repeating-linear-gradient(135deg,var(--soft) 0 6px,var(--hover) 6px 12px);display:flex;align-items:center;justify-content:center;color:var(--mute);text-align:center;line-height:1.1}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
button.gt-r{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:inherit;cursor:pointer}
.gt-r.sel{background:var(--accent-bg)}
.op{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line)}
.op:first-child{border-top:0}
.op-h{display:flex;justify-content:space-between;gap:8px;}
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.level{padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:6px}
.level.pick{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}
.level .lv{font-variant-numeric:tabular-nums}
.prose{max-width:80ch;display:flex;flex-direction:column;gap:10px;color:var(--ink2)}
.prose b{color:var(--ink)}
.gt-r .tag{white-space:normal}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 30.10 — light liquid glass. Shared by all product screens. */
:root,:root[data-theme="light"]{
  --bg:#F3F6FB;--panel:rgba(255,255,255,.64);--panel2:rgba(255,255,255,.96);--solid:#fff;
  --line:rgba(92,116,154,.10);--line2:rgba(77,105,150,.18);--hover:rgba(34,94,198,.035);--soft:rgba(54,93,156,.045);
  --ink:#192539;--ink2:#52627A;--mute:#7A879B;--accent:#2864EB;--accent-bg:#EAF1FF;--on-accent:#fff;
  --fill:#223552;--on-fill:#fff;--ok:#258577;--ok-bg:#E9F6F0;--warn:#966B1E;--warn-bg:#FCF5E6;
  --blob1:#DFEAFF;--blob2:#E2EBFD;--blob3:#F0EBFF;--c-acc:#5483EC;--c-rule:#8299C6;--rule:#536E9B;--rule-bg:#EDF2FA;
  color-scheme:light;
}
.v7{min-height:100vh;background-image:radial-gradient(ellipse 1150px 700px at 8% -120px,rgba(180,205,255,.35),transparent 75%),radial-gradient(ellipse 1000px 900px at 100% 18%,rgba(195,218,255,.25),transparent 72%),radial-gradient(ellipse 900px 900px at 18% 100%,rgba(219,210,255,.17),transparent 80%);background-attachment:fixed}
.wrap{padding:24px 36px 48px;gap:26px}
.glass,.panel{border:1px solid rgba(255,255,255,.92);border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 8px 32px -18px rgba(42,69,119,.15),0 1px 2px rgba(42,69,119,.035);backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%)}
.top{padding:12px 18px;gap:20px 40px;border-radius:24px;background:rgba(255,255,255,.6)}
.brand{gap:11px;min-width:216px}.logo{width:43px;height:43px;background:linear-gradient(145deg,#5B8EFA,#2B61D4);border:1px solid rgba(255,255,255,.9);color:#fff;box-shadow:inset 0 1px 2px #ffffff70,0 5px 14px #2d65dc26;border-radius:15px;letter-spacing:-2px}.brand-t b{letter-spacing:-.6px}.brand-t small{margin-top:4px;color:var(--mute)}
.nav{gap:4px;padding:5px;border-radius:999px;background:rgba(106,138,193,.075);border:1px solid rgba(255,255,255,.7)}.nav a{min-height:39px;padding:0 20px;border-radius:999px;color:var(--ink2)}.nav a.on{background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(255,255,255,.72));box-shadow:inset 0 1px 0 #fff,0 2px 7px rgba(59,87,139,.11);border:1px solid #fff;padding:0 19px;color:#2858AC}.nav-off{display:none}.top-r{gap:18px}.sample{background:rgba(255,255,255,.5);border:1px solid #e5eaf2;color:#8391a6;height:29px}.user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#EBF1FE,#DAE6FE);border:1px solid #fff;box-shadow:inset 0 1px 2px #fff;color:#5d7aab}
.head{padding:6px 4px 0;align-items:center;gap:20px}.eyebrow{letter-spacing:1.7px;color:#8b9ab1;margin-bottom:9px}h1{letter-spacing:-1.1px;line-height:1.18}.sub{margin-top:9px;color:var(--mute);}.h2{letter-spacing:-.4px;}.head-actions{gap:12px}.btn{min-height:45px;padding:0 19px;border-radius:999px;background:rgba(255,255,255,.66);border:1px solid rgba(131,155,192,.2);box-shadow:inset 0 1px 0 #fff;color:#3b557b;transition:background .18s,box-shadow .18s}.btn:hover{border-color:#afc3e8;background:#fff;box-shadow:0 4px 12px #a9bdd624}.btn.primary{background:linear-gradient(150deg,#4C82F5,#2A63E8);border-color:#5e8df1;box-shadow:inset 0 1px 1px #ffffff55,0 5px 12px #2d65dc19;color:#fff}.btn.primary:hover{background:linear-gradient(150deg,#6595fc,#2860df)}.btn.sm{min-height:34px;border-radius:999px;padding:0 14px;}.btn[disabled]{opacity:.45}
.tag{border-radius:8px;padding:4px 8px;letter-spacing:0}.tag.blue{background:#EAF1FD;color:#4D73B8}.tag.teal{background:#ECF7F1;color:#4C927F}.tag.rule{background:#EEF3FB;color:#6A81AA}.tag.amber{background:#FBF5E9;color:#9F864C}.tag.photo{background:#ECF7F1;color:#4C927F}
.companies-toolbar{position:relative;z-index:5;padding:18px 22px;display:flex;flex-direction:column;gap:14px}.fbar{gap:10px}.fbtn{min-height:42px;padding:0 17px;border-radius:13px;border:1px solid #E3EAF5;background:rgba(255,255,255,.7);gap:12px;box-shadow:inset 0 1px 0 #fff}.fbtn.has{color:var(--accent);border-color:#B9CFFA;background:#f5f8ff;}.fbtn.open{border-color:#b9cffa;box-shadow:0 0 0 3px #2864eb0a}.badge{background:#e9f0ff;color:#4275d3;min-width:19px;height:19px}.search input{height:42px;border-radius:13px;background:rgba(255,255,255,.7);border-color:#e3eaf5;width:280px}.search svg{color:#94a5bf}.search input::placeholder{color:#91a0b5}.pop{top:50px;border-radius:20px;border-color:#e3eaf4;background:rgba(255,255,255,.97);box-shadow:0 18px 55px #354d7924;backdrop-filter:blur(30px);padding:12px;min-width:320px;width:400px}.opt{grid-template-columns:18px minmax(0,1fr);min-height:42px;padding:8px;gap:10px}.opt.on .box{background:#4e7fe3;border-color:#4e7fe3}.opt .box{width:17px;height:17px;border-color:#c1cee1;}.chip{border-radius:999px;background:rgba(255,255,255,.7);border:1px solid #e3eaf4;color:#61748e;min-height:32px;padding:0 12px}.chip.on{background:#edf3ff;border-color:#b8cff9;color:#3d70d0}.chip.x{gap:10px}.chip.x>span{color:#8a9fbe}.pop-f{border-color:#edf1f7}.inp,select.sel{background:rgba(255,255,255,.85);border-color:#dde6f3;border-radius:14px;}.inp:focus{border-color:#a3c1f7;outline:3px solid #2864eb0a}
.companies-card{width:100%;overflow:hidden}.card-h{padding:22px 26px}.count-heading{gap:10px}.count-heading b{letter-spacing:-.5px}.gt-h{background:rgba(118,146,192,.045);border-color:#e7edf6}.gt-h>span{letter-spacing:0;padding:14px 0;color:#8b9ab0}.company-grid{grid-template-columns:minmax(215px,1.2fr) minmax(150px,.78fr) minmax(300px,1.7fr) minmax(260px,1.4fr) minmax(145px,.8fr) minmax(125px,.6fr) 120px 105px;column-gap:25px;padding-left:26px;padding-right:26px}.companies-table{min-width:1580px}.company-grid.gt-r{align-items:start;border-bottom-color:#eaf0f8;transition:background .12s}.company-grid.gt-r>span{padding:20px 0}.co a{letter-spacing:-.15px;color:#30486d}.co small{margin-top:5px;color:#9aa6b8}.activity-cell{color:#75859d;line-height:1.65}.product-heading{color:#507fc9!important}.product-cell{display:flex;flex-wrap:wrap;gap:8px}.product-pill{display:inline-flex;align-items:center;min-height:32px;border:1px solid #D9E6FD;background:linear-gradient(140deg,rgba(238,245,255,.9),rgba(230,239,255,.5));border-radius:9px;padding:6px 10px;color:#4f75b1;box-shadow:inset 0 1px 0 #fff;}.machine-cell,.platform-cell{display:flex;flex-direction:column;gap:6px;color:#71839e;line-height:1.5}.machine-cell>span{padding-left:11px;position:relative}.machine-cell>span::before{content:'';position:absolute;left:0;top:7px;width:3px;height:3px;border-radius:50%;background:#a7b9d7}.machine-cell .link{align-self:flex-start;padding:0 0 0 10px}.cell-secondary{display:block;line-height:1.5;margin-top:6px}.pager{padding:17px 26px;background:rgba(255,255,255,.25)}.pager .pg{gap:16px}.pg .num{color:#91a0b5;}
.narrow-head{width:min(1450px,100%);margin:4px auto 0}.segment-layout{width:min(1450px,100%);margin:0 auto 18px}.segment-builder{padding:0;position:relative}.builder-section{padding:30px 36px}.builder-section+.builder-section{border-top:1px solid #e7edf7}.section-caption{display:flex;align-items:center;gap:14px;margin-bottom:24px}.section-index{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#eaf2ff,#f5f8ff);border:1px solid #fff;box-shadow:0 2px 7px #8ba6d714;color:#7195ce;display:grid;place-items:center;flex-shrink:0}.audience-mode{padding:5px;background:rgba(99,135,191,.075);border:1px solid #fff;border-radius:16px}.audience-mode button{min-height:46px;padding:0 24px;border-radius:12px;gap:10px}.audience-mode button span{color:#8fa1bd;margin-left:6px}.seg button.on{color:#396fcb;box-shadow:inset 0 1px 0 #fff,0 2px 8px #607ea517;background:rgba(255,255,255,.93)}.mode-hint{margin:13px 0 24px;color:#98a6ba}.segment-filters{display:grid;grid-template-columns:1.45fr 1.12fr 1fr;gap:16px}.segment-filters .fbtn{width:100%;justify-content:space-between;height:54px;border-radius:14px;background:rgba(255,255,255,.9)}.segment-filters .pop{width:440px;max-width:80vw;top:62px}.segment-filters>.fwrap:last-child .pop{left:auto;right:0}.audience-section{position:relative;z-index:5}.audience-section .active-bar{margin-top:18px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-choice{padding:23px;border-radius:20px;background:rgba(248,250,254,.5);border:1px solid #e5ecf6;display:flex;flex-direction:column;gap:14px;box-shadow:inset 0 1px 0 #fff}.contact-choice.selected{background:rgba(255,255,255,.7);border-color:#cddffb;box-shadow:inset 0 1px 0 #fff,0 3px 16px #5e8cde08}.contact-icon{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#eaf1ff;color:#7298d9;margin-right:4px}.contact-choice .hint{margin:0;}.contact-type-chips{gap:8px;min-height:76px;align-content:flex-start}.contact-type-chips .chip{height:33px;}.contact-choice .small{color:#9aabc1}.sw{width:40px;height:24px;background:#DCE4EF;border-color:transparent;box-shadow:inset 0 1px 3px #8da4c514}.sw::after{width:18px;height:18px;top:3px;left:3px;background:#fff;box-shadow:0 1px 4px #5f77962b;transition:transform .15s}.sw.on{background:#5182e8;border-color:transparent}.sw.on::after{left:3px;transform:translateX(16px)}.segment-footer{padding:25px 36px;border-top:1px solid #e7edf7;display:flex;justify-content:space-between;align-items:center;gap:20px;background:rgba(255,255,255,.3);border-radius:0 0 24px 24px}.segment-total{display:flex;align-items:baseline;gap:12px}.segment-total>b{color:#355d9c;letter-spacing:-.9px;font-variant-numeric:tabular-nums}.segment-total>span{color:#6c83a6}.segment-total .mute{margin-left:7px;}.export-submit{min-width:210px;height:46px}.download-note{padding:0 36px 20px;color:#6c83a6;}
.upload-layout{width:min(1120px,100%);margin:0 auto;display:flex;flex-direction:column;gap:24px}.upload-tabs{align-self:flex-start;padding:5px;border:1px solid #fff;border-radius:16px;background:#e8effa}.upload-tabs button{min-height:44px;min-width:180px;border-radius:12px;}.upload-layout>.glass{max-width:none!important;padding:30px 34px;gap:24px!important;flex:auto!important}.upload-layout .drop{border-color:#cbdaf1;background:rgba(245,249,255,.4);min-height:240px;justify-content:center}.upload-layout .lbl{color:#6b7f9f}.upload-layout .inp{min-height:48px}.upload-layout textarea.inp{min-height:250px}.upload-layout .hint{line-height:1.7}.upload-layout .seg:not(.upload-tabs){border-radius:12px}.upload-layout .sw-row{color:#788da9}
.breadcrumb{display:inline-block;margin-bottom:15px;color:#8ca1c1;}.dossier-layout{width:min(1840px,100%);margin:0 auto;display:flex;flex-direction:column;gap:22px}.dossier-products,.dossier-machines,.dossier-geo{padding:28px 34px}.dossier-product-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;list-style:none;padding:0;margin:0}.dossier-product-list li{display:flex;gap:12px;align-items:center;color:#3d5f94;}.product-mark{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:8px;background:rgba(231,239,255,.7);border:1px solid #fff;color:#8ca8d5}.dossier-path{padding:0 34px}.dossier-path summary{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.dossier-path summary::-webkit-details-marker{display:none}.dossier-path .section-caption{margin:0}.path-summary{color:#8b9fbf;display:flex;align-items:center;gap:20px}.dossier-path .tl{padding-bottom:20px}.dossier-path .tl-i{grid-template-columns:30px minmax(0,1fr) 65px;padding:12px 0;gap:16px}.tl-d{background:#e7f3ef;color:#77ab9b;border:1px solid #fff;}.dossier-path .tl-x{margin-top:4px}.soft-count{margin-left:auto;color:#93a9ca;}.machine-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}.machine-reason{padding:20px 0;border-top:1px solid #e6edf8;min-width:0}.machine-reason>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.machine-reason h3{color:#476793;margin:0;line-height:1.6}.machine-reason .tag{white-space:nowrap;margin-top:2px}.machine-reason p{line-height:1.7;color:#8b9db7;margin:9px 0}.machine-reason .link{display:block;line-height:1.7;color:#8ba9d9;padding:0;text-decoration:none}.geo-summary{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:28px}.geo-summary>div{display:flex;flex-direction:column;gap:10px}.geo-summary span{color:#91a2bb}.geo-summary b{line-height:1.6;color:#54729d}.geo-summary small{color:#91a2bb}.recheck-note{color:#709e8c;padding:0 4px}.dossier-machines .hint{margin-top:5px}
@media(min-width:1900px){.wrap{padding:28px 42px 54px;gap:30px}.company-grid{column-gap:32px}.company-grid.gt-r>span{padding:22px 0}}
@media(max-width:1400px){.top{gap:16px}.brand{min-width:180px}.nav a{padding:0 13px;}.nav a.on{padding:0 12px}.top-r{gap:10px}.company-grid{column-gap:20px}.machine-reasons{grid-template-columns:repeat(2,minmax(0,1fr))}.segment-filters{grid-template-columns:1fr 1fr}.segment-filters>.fwrap:first-child{grid-column:1/-1}.segment-filters .pop{max-width:min(440px,80vw)}.segment-total{flex-wrap:wrap;gap:5px 12px}.segment-total>span{display:flex;flex-direction:column;gap:5px}.segment-total .mute{margin:0}.dossier-product-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{padding:14px 16px 30px;gap:20px}.top{border-radius:20px;padding:12px;gap:12px}.top-r{display:none}.brand{min-width:0;width:100%}.nav{border-radius:14px;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.nav a{min-height:35px}.head{padding:0}h1{letter-spacing:-.6px}.sub{line-height:1.7}.head-actions .btn{min-height:40px}.companies-toolbar{padding:14px}.companies-toolbar .row.between{gap:14px}.companies-toolbar .fbar{width:100%;gap:7px}.companies-toolbar .fbtn{min-height:36px;padding:0 12px}.companies-toolbar .search,.companies-toolbar .search input{width:100%;max-width:100%}.card-h{padding:18px}.card-h>.small{display:none}.builder-section{padding:24px 20px}.section-caption{margin-bottom:20px;gap:10px}.audience-mode{display:flex;flex-wrap:nowrap}.audience-mode button{padding:0 12px;min-height:42px}.audience-mode button span{display:none}.segment-filters{grid-template-columns:1fr}.segment-filters .fbtn{height:48px;}.segment-filters .pop,.segment-filters>.fwrap:last-child .pop{left:0;right:auto;width:100%;min-width:0;max-width:100%}.contact-options{grid-template-columns:1fr;gap:14px}.contact-choice{padding:18px}.segment-footer{padding:22px 20px;flex-direction:column;align-items:stretch}.segment-total{align-items:center}.export-submit{width:100%}.dossier-products,.dossier-machines,.dossier-geo{padding:24px 20px}.dossier-product-list{grid-template-columns:1fr;gap:14px}.dossier-path{padding:0 20px}.path-summary{gap:8px}.dossier-path summary{flex-wrap:wrap}.machine-reasons{grid-template-columns:1fr}.geo-summary{grid-template-columns:1fr;gap:23px}.upload-tabs button{min-width:135px;}.upload-layout>.glass{padding:24px 20px}.download-note{padding:0 20px 20px}}

/* Final readability and small-screen filter placement. */
.product-pill{color:#3F659F;}
.activity-cell{color:#667A98}
.machine-cell,.platform-cell{color:#637A9B}
.machine-reason p{color:#7085A4}
.machine-reason .link{color:#7191BF}
.contact-choice:not(.selected) .contact-type-chips{opacity:.5}
.upload-head{width:min(1120px,100%)}
.dossier-head{width:min(1840px,100%);margin:0 auto}
@media(max-width:760px){.companies-toolbar .fwrap{position:static}.companies-toolbar .pop{left:12px;right:12px;top:calc(100% - 8px);width:auto;min-width:0;max-width:none}}

/* Typography: exactly three sizes, one family, consistent weights and borders. */
:root,:root[data-theme="light"]{
  --type-heading:28px;
  --type-body:16px;
  --type-control:14px;
  --ui:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;
  --disp:var(--ui);--mono:var(--ui);
  --ink:#23364D;--ink2:#536881;--mute:#60738C;
  --control-border:#D4E0F0;--selected-border:#BFD2F0;--selected-bg:#EDF3FF;
  --fill:var(--selected-bg);--on-fill:#355F9C;
}
.v7{font-family:var(--ui);font-size:var(--type-body);font-weight:400;line-height:1.5}
.v7 :where(h1,h2,h3,h4,p,small,span,a,li,dt,dd,b,strong,em,label,summary,button,input,select,textarea){font-family:inherit;font-size:inherit}
.v7 :where(button,input,select,textarea){font:inherit}
.v7 :where(b,strong){font-weight:600}
.v7 :is(h1,.h2,.big,.kpi b,.level .lv,.stage .n,.count-heading b,.segment-total>b,.metric-value,.brand-t b,.logo){font-family:var(--ui);font-size:var(--type-heading);font-weight:600;line-height:1.25;letter-spacing:-.4px}
.v7 :is(.h3,.machine-reason h3,.dossier-product-list li,.co a,.op-h,.tl-t){font-size:var(--type-body);font-weight:600}
.v7 :is(.nav a,.btn,.link,.chip,.tag,.badge,.mini span,.fbtn,.opt,.seg button,.lbl,.legend,.user-avatar,.sample,.eyebrow,.section-index,.stepno,.tl-d,.stage .no,.thumb,.path-summary,.gt-h>span,.brand-t small,.soft-count){font-family:var(--ui);font-size:var(--type-control);font-weight:500;line-height:1.45}
.v7 :is(.btn span,.chip .n,.seg button span,.opt span,.fbtn span,.mini span span){font-size:inherit}
.v7 :is(.sub,.small,.hint,.co small,.activity-cell,.product-pill,.machine-cell,.platform-cell,.cell-secondary,.pg .num,.machine-reason p,.machine-reason .link,.geo-summary span,.geo-summary b,.geo-summary small,.tl-x,.tl-s,.note,.msg,.download-note,.recheck-note,.contact-choice .small,.segment-total>span,.segment-total .mute){font-size:var(--type-body);line-height:1.5}
.v7 :is(.sub,.small,.hint,.co small,.activity-cell,.machine-cell,.platform-cell,.cell-secondary,.pg .num,.machine-reason p,.geo-summary span,.geo-summary small,.tl-x,.tl-s,.contact-choice .small,.mode-hint){color:var(--ink2)}
.v7 :is(.machine-reason .link,.breadcrumb,.product-pill,.geo-summary b){color:#3D649F}
.v7 .gt-r{font-size:var(--type-body)}
.v7 .gt-h>span{white-space:normal;color:var(--ink2)}
.v7 .eyebrow{font-weight:400;letter-spacing:.8px;color:var(--ink2)}
.v7 .brand-t small{color:var(--ink2)}
.v7 .brand-t{gap:3px}
.v7 .logo{letter-spacing:-2px}
.v7 :is(.fbtn,.chip,.btn:not(.primary),.inp,select.sel,.product-pill,.tag.line){border-color:var(--control-border)}
.v7 :is(.chip.on,.chip[aria-pressed="true"],.btn.dark,.fbtn.has){background:var(--selected-bg);border-color:var(--selected-border);color:#355F9C}
.v7 .chip:hover,.v7 .btn:not(.primary):hover{border-color:#BFD2EE}
.v7 .btn.primary{color:#fff}
.v7 .btn.dark{box-shadow:inset 0 1px 0 #fff}
.v7 .chip:focus-visible,.v7 .fbtn:focus-visible{outline:3px solid #CDDEFC;outline-offset:2px}
.v7 .mini span{white-space:normal;line-height:1.5;padding:5px 8px;max-width:100%}
.v7 :is(.chip,.tag,.mini span){text-shadow:none;-webkit-text-stroke:0}
.v7 .tag{min-height:30px;align-items:center}
.v7 .chip{min-height:38px}
.v7 .fbtn{min-height:44px}
.v7 .badge{min-width:24px;height:24px}
.v7 .section-index,.v7 .tl-d{min-width:30px;min-height:30px}
.v7 .contact-type-chips .chip{height:auto;min-height:38px;white-space:normal}
.v7 .audience-mode button{height:auto;min-height:48px;white-space:normal}
.v7 .machine-reason>div{flex-wrap:wrap;gap:8px}
.v7 .machine-reason .tag{white-space:normal}
.v7 .machine-reason .link{overflow-wrap:anywhere}
.v7 .geo-summary b{font-weight:500}
.v7 .company-grid{grid-template-columns:minmax(240px,1.2fr) minmax(180px,.85fr) minmax(350px,1.7fr) minmax(290px,1.4fr) minmax(170px,.8fr) minmax(150px,.65fr) 145px 125px;column-gap:24px}
.v7 .companies-table{min-width:1900px}
.v7 .product-pill{font-weight:500;overflow-wrap:anywhere}
.v7 .product-cell{gap:8px}
.v7 .machine-cell>span::before{top:10px}
.v7 .co small{white-space:normal;overflow-wrap:anywhere}
.v7 .contact-options{gap:20px}
.v7 .upload-layout .lbl{color:var(--ink2)}
.v7 .pht button{background:rgba(255,255,255,.94);border:1px solid var(--control-border);color:#355F9C;font-size:var(--type-control)}
.v7 .log{font-family:var(--ui);font-size:var(--type-body);line-height:1.6}
.v7 :is(.sample,.soft-count,.user-avatar){color:var(--ink2)}
.v7 .section-index{color:#456DA5}
.v7 .tl-d{color:#376E5C}
.v7 .tag.teal,.v7 .tag.photo{color:#2F6B58}
.v7 .tag.blue{color:#355F9F}
.v7 .tag.amber{color:#806020}
.v7 .btn.primary{background:linear-gradient(150deg,#3B6FDE,#245BD0);border-color:#5C86DD}
.v7 .btn.primary:hover{background:linear-gradient(150deg,#3568D5,#2053C3)}
.v7 :is(.search input,.inp)::placeholder{color:var(--ink2);opacity:1}
.v7 :is(.path-summary,.audience-mode button span,.download-note){color:var(--ink2)}
.v7 .recheck-note{color:#2F6B58}
.v7 .product-heading{color:#3D649F!important}
@media(max-width:760px){
  .v7 .brand-t b{font-size:var(--type-heading)}
  .v7 .audience-mode button{padding:10px 12px}
  .v7 .segment-total{align-items:flex-start}
  .v7 .upload-tabs button{min-width:0;padding:10px 16px}
  .v7 .contact-choice{padding:18px}
}
