/* Рабочая среда в духе профессиональных ГИС-пакетов: строка приложения, панель разделов, проводник скважин,
   рабочая область со вкладками, панель свойств, строка состояния. Тёмная тема по умолчанию. */
:root{
  --bg:#101317; --panel:#171b20; --panel-2:#1d2228; --panel-3:#272d34; --line:#2b3138; --line-2:#21262c;
  --ink:#e3e7eb; --ink-2:#a9b1ba; --muted:#8d97a1; --sel:#3b82f6; --sel-soft:rgba(59,130,246,.18); --on-sel:#ffffff;
  --surface:#1c2025; --surface-2:#22272d; --surface-3:#2a3037;
  --accent:#ef5a43; --accent-soft:rgba(239,90,67,.42); --accent-faint:rgba(239,90,67,.12); --neg-soft:rgba(160,172,186,.20);
  --bk:#5d9cf0; --ik:#43c383; --ik-soft:rgba(67,195,131,.20); --ngk:#e6e9ec; --hl:rgba(255,200,40,.16);
  --s-oil:#b47c3c; --s-water:#4c8ed8; --s-gas:#4fb173; --s-unclear:#e0b43a; --s-none:#3a434c; --s-bit:#6e5c50;
  --ok:#3fbf7f; --warn:#e3a33a; --shadow:0 10px 30px rgba(0,0,0,.45); --elev:0 1px 2px rgba(0,0,0,.35),0 4px 14px -6px rgba(0,0,0,.4);
  --f-ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-data:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --bar-h:40px; --st-h:24px; --link:#6ea8ff; color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#e8ebee; --panel:#ffffff; --panel-2:#f3f5f7; --panel-3:#e6e9ed; --line:#d3d9df; --line-2:#e5e8ec;
  --ink:#171b20; --ink-2:#47515b; --muted:#6c7782; --sel:#1f6feb; --sel-soft:rgba(31,111,235,.12);
  --surface:#ffffff; --surface-2:#f2f4f6; --surface-3:#e6e9ec;
  --accent:#cf3a22; --accent-soft:rgba(207,58,34,.36); --accent-faint:rgba(207,58,34,.08); --neg-soft:rgba(110,125,140,.22);
  --bk:#1f5fc4; --ik:#1d8a4c; --ik-soft:rgba(29,138,76,.18); --ngk:#15191d; --hl:rgba(255,190,0,.22);
  --s-oil:#8c5a1e; --s-water:#2f6db5; --s-gas:#3a8c58; --s-unclear:#d3a215; --s-none:#d3d9df; --s-bit:#3a2e28;
  --ok:#1d7a4c; --warn:#b26a00; --shadow:0 10px 30px rgba(16,24,40,.16); --elev:0 1px 2px rgba(16,24,40,.06),0 4px 12px -6px rgba(16,24,40,.08); --link:#1f5fc4; color-scheme:light;
}
@media (prefers-color-scheme: light){:root[data-theme="auto"]{
  --bg:#e8ebee; --panel:#ffffff; --panel-2:#f3f5f7; --panel-3:#e6e9ed; --line:#d3d9df; --line-2:#e5e8ec;
  --ink:#171b20; --ink-2:#47515b; --muted:#6c7782; --sel:#1f6feb; --sel-soft:rgba(31,111,235,.12);
  --surface:#ffffff; --surface-2:#f2f4f6; --surface-3:#e6e9ec;
  --accent:#cf3a22; --accent-soft:rgba(207,58,34,.36); --accent-faint:rgba(207,58,34,.08); --neg-soft:rgba(110,125,140,.22);
  --bk:#1f5fc4; --ik:#1d8a4c; --ik-soft:rgba(29,138,76,.18); --ngk:#15191d; --hl:rgba(255,190,0,.22);
  --s-oil:#8c5a1e; --s-water:#2f6db5; --s-gas:#3a8c58; --s-unclear:#d3a215; --s-none:#d3d9df; --s-bit:#3a2e28;
  --ok:#1d7a4c; --warn:#b26a00; --shadow:0 10px 30px rgba(16,24,40,.16); --elev:0 1px 2px rgba(16,24,40,.06),0 4px 12px -6px rgba(16,24,40,.08); --link:#1f5fc4; color-scheme:light}}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.45 var(--f-ui);-webkit-font-smoothing:antialiased;overflow:hidden}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--sel);color:var(--on-sel)}
*{scrollbar-width:thin;scrollbar-color:var(--panel-3) transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--panel-3);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}
:focus-visible{outline:2px solid var(--sel);outline-offset:1px}
svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.num,td,.mono{font-variant-numeric:tabular-nums}

/* ---- каркас ---- */
.app{display:grid;height:100dvh;grid-template-columns:76px var(--exp-w,260px) minmax(0,1fr) var(--props-w,300px);grid-template-rows:var(--bar-h) var(--tab-h,36px) minmax(0,1fr) var(--st-h)}
.app.noprops{grid-template-columns:76px var(--exp-w,260px) minmax(0,1fr) 0}
.app.noexp{grid-template-columns:76px 0 minmax(0,1fr) var(--props-w,300px)}
.app.noexp.noprops{grid-template-columns:76px 0 minmax(0,1fr) 0}
.appbar{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;background:var(--panel-2);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.mark{width:24px;height:24px;border-radius:6px;background:#0f1215;display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.brand b{font-size:13.5px;font-weight:700;letter-spacing:-.005em}
.brand span{color:var(--muted);font-size:12px;white-space:nowrap}
.crumbs{display:flex;align-items:center;gap:6px;margin-left:14px;color:var(--ink-2);font-size:12.5px;min-width:0;overflow:hidden;white-space:nowrap}
.crumbs b{color:var(--ink);font-weight:600}.crumbs i{font-style:normal;color:var(--muted)}
.spacer{flex:1}
.acts{display:flex;align-items:center;gap:6px}
.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;font:500 12.5px var(--f-ui);border:1px solid var(--line);background:var(--panel-3);color:var(--ink);border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,transform .08s,filter .12s}
.btn:active:not(:disabled){transform:scale(.97)}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--panel-3);color:var(--ink)}
.btn.ghost[aria-pressed="true"]{color:var(--ink);background:var(--panel-3)}
.btn.icon{width:28px;padding:0;justify-content:center}
.btn.warnb{color:var(--warn);border-color:var(--warn);background:transparent}
.btn.sm{height:24px;padding:0 8px;font-size:12px}
.btn:disabled{opacity:.45;cursor:default}
.menu-wrap{position:relative}
.menu{position:absolute;right:0;top:calc(100% + 4px);min-width:250px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:4px;z-index:60}
.menu button{all:unset;color:var(--ink);box-sizing:border-box;display:flex;gap:10px;align-items:flex-start;width:100%;padding:7px 10px;border-radius:4px;cursor:pointer;font-size:12.5px}
.menu button small{display:block;color:var(--muted);font-size:12px}
.menu button:hover,.menu button:focus-visible{background:var(--sel-soft)}
.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.busy{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.busy::before{content:"";width:11px;height:11px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--sel);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.rail{grid-row:3;background:var(--panel-2);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;padding:6px 0;gap:2px;overflow-y:auto}
.rail a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;color:var(--muted);text-decoration:none;font-size:11px;line-height:1.15;text-align:center;position:relative}
.rail a svg{width:19px;height:19px}
.rail a:hover{color:var(--ink)}
.rail a[aria-current="page"]{color:var(--ink)}
.rail a[aria-current="page"]::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--sel);border-radius:0 2px 2px 0}
.rail .cnt{position:absolute;top:3px;right:8px;font:600 10px var(--f-data);color:#fff;background:var(--accent);border-radius:7px;padding:0 4px;line-height:14px}
.rail .cnt.warn{background:var(--warn)}
.rail .sep{height:1px;background:var(--line);margin:6px 12px}

.explorer{grid-row:3;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.ph2{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 12px;font-size:12px;font-weight:600;color:var(--ink-2);letter-spacing:.02em;border-bottom:1px solid var(--line-2);flex:none}
.exp-h{padding:8px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line-2)}
.search{position:relative;display:block}
.search svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--muted);width:14px;height:14px}
.search input{width:100%;height:28px;font:12.5px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:0 28px 0 28px}
.search input::placeholder{color:var(--muted)}
.search kbd{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:11px var(--f-data);color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 4px}
.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:3px;gap:2px}
.seg button{all:unset;flex:1;text-align:center;font-size:12px;padding:3px 6px;border-radius:3px;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--panel-3);color:var(--ink);font-weight:600}
.seg button:focus-visible{outline:2px solid var(--sel)}
select,input[type=number]{height:28px;font:12.5px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:0 6px}
.row2{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.row2 select{flex:1;height:26px}
.vlist{flex:1;overflow:auto;position:relative}
.vl-in{position:relative}
.trow{all:unset;box-sizing:border-box;position:absolute;left:0;right:0;height:var(--row2,26px);display:flex;align-items:center;gap:6px;padding:0 8px 0 22px;cursor:pointer;font-size:12.5px;white-space:nowrap;color:var(--ink)}
.trow:hover{background:var(--panel-3)}
.trow.cur{background:var(--sel-soft);box-shadow:inset 2px 0 0 var(--sel)}
.trow .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.trow .c{font:500 11px var(--f-data);min-width:18px;text-align:right}
.trow .c.hot{color:var(--accent)}.trow .c.warn{color:var(--warn)}.trow .c.mut{color:var(--muted)}
.trow.grp{padding-left:6px;font-weight:600;color:var(--ink-2);font-size:12px}
.trow.grp svg{width:12px;height:12px;transition:transform .12s}
.trow.grp.closed svg{transform:rotate(-90deg)}
.sdot{width:7px;height:7px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1.5px var(--muted)}
.sdot.seen{background:var(--bk);box-shadow:none}.sdot.flag{background:var(--warn);box-shadow:none}.sdot.done{background:var(--ok);box-shadow:none}
.exp-f{height:28px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-top:1px solid var(--line-2);font-size:12px;color:var(--muted)}
.empty-side{padding:22px 14px;color:var(--muted);font-size:12.5px;text-align:center}

.ws{grid-row:3;overflow:auto;min-width:0;position:relative}
.page{padding:18px 20px 32px;display:flex;flex-direction:column;gap:14px;min-width:0}
.pt{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
.pt h1{margin:0;font-size:20px;font-weight:650;letter-spacing:-.015em}
.pt p{margin:4px 0 0;color:var(--ink-2);font-size:13px;max-width:100ch}
.pn{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;box-shadow:var(--elev)}
.pn-h{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 12px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.pn-h h3{margin:0;font-size:13px;font-weight:600}
.pn-h .sub{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}
.pn-b{padding:10px 12px}
.lead{margin:0;font-size:12px;color:var(--ink-2);max-width:110ch}
.tools{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}
.cols2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:start}
.cols2e{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
@media (max-width:1500px){.cols2,.cols2e{grid-template-columns:minmax(0,1fr)}}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:12px;color:var(--ink-2)}
.lg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.lg .sw{width:16px;height:2px;border-radius:1px}
.lg .bx{width:11px;height:11px;border-radius:2px}
.lg .dot{width:8px;height:8px;border-radius:50%}
.mut{color:var(--muted)} .ok-t{color:var(--ok)} .warn-t{color:var(--warn)} .hot-t{color:var(--accent)}

/* сетка параметров (вместо карточек-KPI) */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.fact{padding:9px 12px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);min-width:0}
.fact>span{display:block;font-size:12px;color:var(--muted)}
.fact b{display:block;font:600 17px var(--f-data);letter-spacing:-.01em;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fact small{display:block;font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sep-bar{display:grid;grid-template-columns:30px 1fr 40px;gap:6px;align-items:center;font:12px var(--f-data);color:var(--ink-2);margin-top:3px}
.sep-bar i{display:block;height:6px;border-radius:3px}

/* виртуальная таблица */
.vt{overflow:auto;position:relative;max-height:min(70vh,620px)}
.vt.tall{max-height:calc(100dvh - var(--bar-h) - var(--st-h) - 170px);min-height:300px}
.vt-in{position:relative}
.vt-head,.vt-tr{display:grid;grid-template-columns:var(--cols);align-items:center}
.vt-head{position:sticky;top:0;z-index:2;background:var(--panel-2);border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}
.vt-th{padding:6px 8px;font-size:12px;font-weight:600;color:var(--ink-2);text-align:right;white-space:nowrap;user-select:none;overflow:hidden;text-overflow:ellipsis}
.vt-th.s{cursor:pointer}.vt-th.s:hover{color:var(--ink)}
.vt-th.asc::after{content:" ▲";font-size:8px;color:var(--sel)} .vt-th.desc::after{content:" ▼";font-size:8px;color:var(--sel)}
.vt-body{position:relative}
.vt-tr{position:absolute;left:0;right:0;height:var(--row,28px);border-bottom:1px solid var(--line-2);cursor:pointer}
.vt-tr{transition:background .1s}
.vt-tr:hover{background:var(--panel-2)}
.vt-tr.sel{background:var(--sel-soft)}
.vt-td{padding:0 8px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:12px var(--f-data)}
.l{text-align:left!important}
.vt-td.t{font-family:var(--f-ui);font-size:12.5px}
.vt-empty{padding:24px 14px;color:var(--muted);font-size:12.5px}
.satdot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:0}
.verdict{font-family:var(--f-ui);font-weight:600;font-size:12px}
.verdict.c{color:var(--accent)} .verdict.p{color:var(--warn)} .verdict.n{color:var(--muted);font-weight:400}
.flag{font:500 11px var(--f-ui);padding:1px 5px;border-radius:3px;background:rgba(227,163,58,.14);color:var(--warn);margin-right:4px}
.score{display:inline-flex;align-items:center;gap:6px}
.score i{display:block;height:5px;border-radius:3px;background:var(--accent)}
table.t{border-collapse:collapse;width:100%;font-size:12px}
table.t th,table.t td{padding:5px 10px;text-align:right;border-bottom:1px solid var(--line-2);white-space:nowrap}
table.t th{font-size:12px;color:var(--ink-2);font-weight:600;background:var(--panel-2)}
table.t td{font-family:var(--f-data)}
table.t .l{text-align:left;font-family:var(--f-ui)}
table.t tr.on td{background:var(--sel-soft);font-weight:600}
.list .li{all:unset;box-sizing:border-box;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:7px 12px;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:12.5px}
.list .li:last-child{border-bottom:0}
.list .li:hover{background:var(--panel-2)}
.list .li b{font:600 12.5px var(--f-data)}
.qdot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:1px}
.qdot.err{display:inline-block;border:0;padding:0;background:var(--accent)} .qdot.warn{background:var(--warn)} .qdot.ok{background:var(--ok)}

/* карточка скважины */
.whead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:10px 12px}
.whead .nm{font-size:18px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.whead .nm small{font-size:12px;color:var(--muted);font-weight:500}
.wnav{display:flex;align-items:center;gap:4px;font:12px var(--f-data);color:var(--muted)}
.wst{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 8px;border-radius:10px;background:var(--panel-3);color:var(--ink-2)}
.wst i{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.wst.seen i{background:var(--bk)}.wst.flag i{background:var(--warn)}.wst.done i{background:var(--ok)}
.kvs{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line-2)}
.kv{padding:7px 12px;border-right:1px solid var(--line-2);min-width:0}
.kv>span{display:block;font-size:11px;color:var(--muted)}
.kv b{font:500 12.5px var(--f-data);white-space:nowrap}
.qchips{display:flex;gap:6px;flex-wrap:wrap}
.qchip{font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid var(--line);color:var(--ink-2)}
.qchip.err{border-color:var(--accent);color:var(--accent)} .qchip.warn{border-color:var(--warn);color:var(--warn)}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{all:unset;cursor:pointer;position:relative;padding:9px 14px;font-size:13px;color:var(--ink-2);margin-bottom:-1px;white-space:nowrap;transition:color .15s}
.tabs button::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;background:var(--sel);transform:scaleX(0);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.tabs button[aria-selected="true"]::after{transform:scaleX(1)}
.tabs button:hover{color:var(--ink)}
.tabs button[aria-selected="true"]{color:var(--ink);font-weight:600}
.tabs button:focus-visible{outline:2px solid var(--sel);outline-offset:-2px}
.readout{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:3px 16px;align-items:center;min-height:32px;padding:6px 12px;background:var(--panel-2);border-bottom:1px solid var(--line);font:12px var(--f-data);color:var(--ink-2)}
.readout b{color:var(--ink);font-family:var(--f-ui)}
.readout span em{font-style:normal;color:var(--muted);margin-right:5px;font-family:var(--f-ui)}
.plotbar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--line-2)}
.togg{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px}
.togg label{display:inline-flex;gap:5px;align-items:center;cursor:pointer}
input[type=checkbox],input[type=radio]{accent-color:var(--sel)}
.plotgrid{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:10px;align-items:start;padding:8px 10px 10px}
.plot{overflow-x:auto}
.mini{position:sticky;top:40px}
.mini canvas{display:block;cursor:pointer;border-radius:4px}
.mini small{display:block;text-align:center;font-size:11px;color:var(--muted);margin-bottom:4px}
svg text{font-family:var(--f-data);fill:var(--ink-2)}
svg .ttl{font-family:var(--f-ui);font-size:12px;fill:var(--ink);font-weight:600}
.empty{padding:40px 20px;text-align:center;color:var(--muted)}
.canv{padding:8px 12px 12px}
.canv canvas{display:block;width:100%}
.minis{display:flex;gap:10px;overflow-x:auto;padding:10px 12px 12px}
.minis figure{margin:0;flex:none;border:1px solid var(--line);border-radius:5px;padding:8px;background:var(--bg)}
.minis figure.on{border-color:var(--sel);box-shadow:0 0 0 1px var(--sel)}
.minis figcaption{font-size:12px;font-weight:600;margin-bottom:6px}
.minis figcaption small{display:block;font:11px var(--f-data);font-weight:400;color:var(--muted)}
.note{font-size:12.5px;color:var(--ink-2);display:flex;gap:9px;align-items:flex-start;padding:4px 0}
.note i{font-style:normal;flex:none;width:7px;height:7px;border-radius:50%;margin-top:6px;background:var(--muted)}
.note.warn i{background:var(--warn)} .note.ok i{background:var(--ok)}
.stseg{display:flex;gap:6px;flex-wrap:wrap}
.stseg button{all:unset;color:var(--ink);cursor:pointer;display:inline-flex;gap:7px;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:5px;font-size:12.5px;background:var(--bg)}
.stseg button[aria-pressed="true"]{border-color:var(--sel);background:var(--sel-soft);font-weight:600}
textarea.note-in{width:100%;min-height:150px;font:13px/1.5 var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:9px 11px;resize:vertical}
.corr{overflow-x:auto;overflow-y:hidden}
.corr-wrap{position:relative}
.corr canvas{position:sticky;left:0;display:block;cursor:pointer}
.foot{padding:7px 12px;font-size:12px;color:var(--muted);display:flex;gap:6px 16px;flex-wrap:wrap;border-top:1px solid var(--line-2)}
.xplot{padding:8px 12px;position:relative}
.xplot canvas{display:block;width:100%;cursor:crosshair}
.filters{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line-2)}
.pillx{display:inline-flex;gap:4px;align-items:center;font-size:12px;padding:2px 4px 2px 9px;border-radius:10px;background:var(--sel-soft);color:var(--ink)}
.pillx button{all:unset;cursor:pointer;padding:0 5px;color:var(--ink-2)}
.chk{display:inline-flex;gap:7px;align-items:center;font-size:12.5px;cursor:pointer}
.dropbig{display:grid;place-items:center;text-align:center;gap:8px;padding:34px 20px;border:1px dashed var(--muted);border-radius:6px;background:var(--panel)}
.dropbig h3{margin:4px 0 0;font-size:15px}
.dropbig p{margin:0;color:var(--ink-2);font-size:12.5px;max-width:64ch}
.kvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;padding:10px 12px 12px;font-size:12.5px;color:var(--ink-2)}
.kvgrid b{display:block;color:var(--ink);font-size:12px;margin-bottom:2px}
code{font:12px var(--f-data);background:var(--panel-3);padding:1px 5px;border-radius:3px;color:var(--ink)}
.soon{padding:22px;color:var(--ink-2)}
.soon ol{margin:8px 0 0;padding-left:20px;line-height:1.9}

/* свойства */
.props{grid-row:3;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;min-width:0}
.prop{border-bottom:1px solid var(--line-2)}
.prop>summary{list-style:none;cursor:pointer;height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--panel-2)}
.prop>summary::-webkit-details-marker{display:none}
.prop>summary svg{width:12px;height:12px;transition:transform .12s}
.prop:not([open])>summary svg{transform:rotate(-90deg)}
.prop .pb{padding:10px 12px;display:flex;flex-direction:column;gap:9px}
.pf{display:flex;flex-direction:column;gap:4px;font-size:12px}
.pf>label,.pf>.lbl{color:var(--ink-2);font-size:12px}
.pf select,.pf input[type=number]{width:100%}
.rng{display:grid;grid-template-columns:34px 1fr 40px;gap:8px;align-items:center;font-size:12px}
.rng input{width:100%;accent-color:var(--sel)}
.rng .num{font:500 12px var(--f-data);text-align:right}
.hint{font-size:12px;color:var(--muted);line-height:1.4}
.pkv{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px}
.pkv span{color:var(--muted)}
.pkv b{font:500 12px var(--f-data);text-align:right;font-weight:500}
.legendsat{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:12px;color:var(--ink-2)}

.status{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:0 10px;background:var(--panel-2);border-top:1px solid var(--line);font:12px var(--f-data);color:var(--ink-2);white-space:nowrap;overflow:hidden}
.status .dotok{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:6px}
.status b{color:var(--ink);font-weight:500}

/* оверлеи */
.tip{position:fixed;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:7px 9px;font:12px var(--f-data);box-shadow:var(--shadow);min-width:190px;z-index:80;color:var(--ink)}
.tip b{font-family:var(--f-ui);display:block;margin-bottom:3px}
.tip div{display:flex;justify-content:space-between;gap:14px}
.tip span{color:var(--muted)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--st-h) + 14px);background:var(--panel-3);color:var(--ink);border:1px solid var(--line);padding:8px 14px;border-radius:6px;font-size:12.5px;z-index:90;max-width:min(640px,90vw);box-shadow:var(--shadow)}
.prog{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:rgba(5,8,10,.45)}
.prog .box{width:min(400px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px;box-shadow:var(--shadow)}
.prog b{display:block;font-size:13.5px;margin-bottom:2px}
.prog .sub{font:12px var(--f-data);color:var(--muted);min-height:16px}
.track{height:6px;border-radius:3px;background:var(--panel-3);overflow:hidden;margin:12px 0 4px}
.track i{display:block;height:100%;width:0;border-radius:3px;background:var(--sel);transition:width .15s}
.track i.indet{width:35%!important;animation:indet 1.1s ease-in-out infinite}
@keyframes indet{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
.modal{position:fixed;inset:0;z-index:85;display:grid;place-items:center;padding:16px;background:rgba(5,8,10,.5)}
.modal .box{width:min(720px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.modal .box>div:last-child{overflow:auto;padding:4px 14px 14px;font:12px/1.6 var(--f-data)}
.err{display:flex;gap:12px;border-bottom:1px solid var(--line-2);padding:4px 0}
.err span:first-child{color:var(--ink);min-width:0;flex:0 0 40%;overflow-wrap:anywhere}
.err span:last-child{color:var(--warn)}
.dz{position:fixed;inset:8px;z-index:95;border:2px dashed var(--sel);border-radius:10px;background:color-mix(in srgb,var(--bg) 85%,transparent);display:grid;place-items:center;pointer-events:none}
.dz div{text-align:center;font-size:17px;font-weight:600}
.dz small{display:block;font-size:12.5px;font-weight:400;color:var(--ink-2);margin-top:6px}
.welcome{max-width:640px;margin:8vh auto 0;text-align:center;padding:30px 24px}
.welcome h2{margin:12px 0 6px;font-size:18px}
.welcome p{margin:0 auto 16px;color:var(--ink-2)}
.copybox{width:calc(100% - 24px);margin:0 12px 10px;height:100px;font:11px var(--f-data);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px}


/* ---- v0.9: справочник, порядок работы, статусы, полировка ---- */
.rail a{margin:0 6px;border-radius:8px;transition:background .12s,color .12s}
.rail a:hover{background:var(--panel-3)}
.rail a[aria-current="page"]{background:var(--sel-soft)}
.rail a[aria-current="page"]::before{left:-6px}
.page{animation:pagein .26s cubic-bezier(.2,.8,.2,1)}
@keyframes pagein{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.lnk{color:var(--link);text-decoration:none;font-size:12px}.lnk:hover{text-decoration:underline}
.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1300px){.steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.step{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-right:1px solid var(--line-2);text-decoration:none;color:var(--ink);min-width:0}
.step:last-child{border-right:0}
.step:hover{background:var(--panel-2)}
.step>span:last-child{min-width:0}
.step b{display:block;font-size:12.5px;font-weight:600}
.step small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sic{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--f-data);border:1px solid var(--line);color:var(--ink-2)}
.sic svg{width:13px;height:13px}
.step.ok .sic{background:var(--ok);border-color:var(--ok);color:#fff}
.step.next .sic{border-color:var(--sel);color:var(--sel);box-shadow:0 0 0 3px var(--sel-soft)}
.step.next b{color:var(--sel)}
.stamp{display:inline-block;font:600 11px var(--f-ui);letter-spacing:.03em;padding:1px 7px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}
.stamp.confirm{color:var(--ok)} .stamp.test{color:var(--warn)} .stamp.reject{color:var(--muted);text-decoration:line-through}
.vt-tr.rej .vt-td{opacity:.5}
.stseg.sm button{padding:4px 9px;font-size:12px}
.help{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;align-items:start}
@media (max-width:1100px){.help{grid-template-columns:minmax(0,1fr)}.toc{position:static!important}}
.toc{position:sticky;top:0;padding:6px;display:flex;flex-direction:column;gap:1px}
.toc a{display:block;padding:6px 10px;border-radius:5px;color:var(--ink-2);text-decoration:none;font-size:12.5px}
.toc a:hover{background:var(--panel-2);color:var(--ink)}
.toc a.on{background:var(--sel-soft);color:var(--ink);font-weight:600}
.art section{padding:20px 24px 22px;border-bottom:1px solid var(--line-2)}
.art section:last-child{border-bottom:0}
.art h2{font-size:17px;margin:0 0 10px;letter-spacing:-.01em}
.art p,.art li{font-size:13.5px;line-height:1.65;color:var(--ink-2);max-width:74ch}
.art p{margin:0 0 10px}
.art b{color:var(--ink)}
.art ul{margin:0 0 10px;padding-left:20px}
.steps-t{margin:10px 0;padding-left:22px}.steps-t li{margin-bottom:4px}
.art table.t{margin:8px 0 12px;max-width:820px}
.art table.t td.l{white-space:normal;vertical-align:top}
.formula{font:13.5px var(--f-data);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:10px 14px;box-shadow:inset 0 0 0 1px var(--sel-soft);margin:10px 0 12px;color:var(--ink);max-width:620px}
.fig{margin:10px 0 14px;max-width:600px}
.fig svg{width:100%;height:auto;display:block}
.fig figcaption{font-size:12px;color:var(--muted);margin-top:4px}
.demo{margin:12px 0 14px;overflow:hidden}
.demo-h{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line-2);font-size:12.5px;flex-wrap:wrap}
.demo-b{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;padding:10px 12px}
.demo-c{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}
.rng2{display:grid;grid-template-columns:110px 1fr 54px;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-2)}
.rng2 input{width:100%;accent-color:var(--sel)}
.rng2 .num{font:500 12.5px var(--f-data);text-align:right;color:var(--ink)}
.meth{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--bg);max-width:820px}
.meth.on{border-color:var(--sel);box-shadow:0 0 0 1px var(--sel-soft)}
.meth.muted{opacity:.85}
.meth h3{margin:0 0 6px;font-size:14px;display:flex;align-items:center;gap:8px}
.meth .formula{margin:6px 0 10px;background:var(--panel)}
.mtag{width:18px;height:3px;border-radius:2px;display:inline-block}
.mtag.pool{background:var(--sel)}.mtag.fit{background:var(--ok)}.mtag.water{background:var(--bk)}.mtag.minmax{background:var(--warn)}.mtag.pct{background:var(--muted)}
.badge{font:600 11px var(--f-ui);padding:2px 7px;border-radius:9px;background:var(--sel-soft);color:var(--link)}
table.t.mt{margin:10px 0 14px}
.selpulse{animation:selp 1.4s ease-in-out infinite}
@keyframes selp{50%{opacity:.45}}
.phase{font:600 12px var(--f-ui);color:var(--link);min-width:130px}
.vsep{width:1px;height:18px;background:var(--line)}
.readout.meas{position:static;background:var(--sel-soft);border-radius:0;border-bottom:1px solid var(--line)}
.satl{fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-weight:600}
.facts.pn{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.facts.pn{grid-template-columns:repeat(2,minmax(0,1fr))}}
.facts.pn .fact{border-bottom:0}.facts.pn .fact:last-child{border-right:0}
.fact b{font-size:22px}
details.dtl>summary{list-style:none;cursor:pointer;border-bottom:0}
details.dtl>summary::-webkit-details-marker{display:none}
details.dtl[open]>summary{border-bottom:1px solid var(--line-2)}
.hzn{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}
.hzn input{height:30px;width:220px;font:13px var(--f-ui);background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:0 10px}
.kbd{display:inline-block;font:11px var(--f-data);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 6px;background:var(--panel-2);color:var(--ink)}
.sathint{display:inline-flex;gap:10px;font-size:12px;color:var(--ink-2)}
.sathint i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}
/* ---- прогноз ---- */
.fcmodel{overflow:hidden}
.fcpipe{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line-2)}
@media (max-width:1100px){.fcpipe{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fcst{position:relative;display:flex;gap:10px;align-items:flex-start;padding:11px 12px 12px;border-right:1px solid var(--line-2);min-width:0}
.fcst:last-child{border-right:0}
.fcst>span:nth-child(2){min-width:0}
.fcst b{display:block;font-size:12.5px;font-weight:600}
.fcst small{display:block;font-size:12px;color:var(--muted);line-height:1.35;margin-top:1px}
.fcst.ok .sic{background:var(--ok);border-color:var(--ok);color:#fff}
.fcst.run .sic{border-color:var(--sel);color:var(--sel);box-shadow:0 0 0 3px var(--sel-soft);animation:fcpulse 1.2s ease-in-out infinite}
.fcst.run b{color:var(--sel)}
@keyframes fcpulse{50%{box-shadow:0 0 0 6px transparent}}
.fcbar{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;background:var(--sel-soft)}
.fcbar::after{content:"";position:absolute;inset:0;width:var(--p,35%);background:var(--sel);transition:width .25s ease-out}
.fcbar:not([style])::after{animation:indet 1.1s ease-in-out infinite}
.fcbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:stretch}
@media (max-width:1200px){.fcbody{grid-template-columns:minmax(0,1fr)}}
.fcbody .facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-content:start}
.span2{grid-column:1/-1}
#fc-base .facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.fcbody .fact b{font-size:20px}
.fcbody .fact small{white-space:normal;line-height:1.35}
.fact b .txt{font-family:var(--f-ui);font-weight:600;letter-spacing:0}
.fccurve{margin:0;padding:8px 12px 10px;border-left:1px solid var(--line-2)}
.fccurve canvas{display:block;width:100%}
.fccurve figcaption{font-size:12px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:2px;min-height:18px}
.fcerr{padding:9px 12px;font-size:12.5px;color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,transparent);border-bottom:1px solid var(--line-2)}
.fcchip{display:inline-flex;align-items:center;gap:6px;font:500 12px var(--f-ui);white-space:nowrap}
.fcchip i{width:9px;height:9px;border-radius:2px;background:var(--s-none)}
.fcchip.oil i{background:var(--s-oil)}.fcchip.water i{background:var(--s-water)}.fcchip.unclear i{background:var(--s-unclear)}
.fcchip.oil{color:var(--ink);font-weight:600}
.pbar{display:inline-block;width:64px;height:5px;border-radius:3px;background:var(--panel-3);margin-right:7px;vertical-align:1px;overflow:hidden}
.pbar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--s-water),var(--s-unclear) 50%,var(--s-oil))}
.kind{font:500 12px var(--f-ui);white-space:nowrap}
.kind.raw{color:var(--link)} .kind.ok{color:var(--ok)} .kind.hot{color:var(--accent);font-weight:600} .kind.warn{color:var(--warn)}
.oil-t{color:var(--s-oil)}
:root:not([data-theme="light"]) .oil-t{color:#d69a52}
table.conf td.cf{position:relative;background:color-mix(in srgb,var(--sel) calc(var(--p)*38%),transparent);min-width:56px;padding:5px 7px}
table.conf th{padding:5px 7px}
table.conf td.l{white-space:normal;min-width:110px}
#fc-quality{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
table.conf td.cf.hit{background:color-mix(in srgb,var(--ok) calc(var(--p)*42%),transparent);font-weight:600}
table.conf td.cf small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.imp{display:flex;flex-direction:column;gap:7px}
.impr{display:grid;grid-template-columns:130px minmax(0,1fr) 42px;gap:10px;align-items:center;font-size:12.5px}
.impr b{font:500 12px var(--f-data);text-align:right}
.impb{height:8px;border-radius:4px;background:var(--panel-3);overflow:hidden}
.impb i{display:block;height:100%;width:var(--w);border-radius:4px;background:var(--sel);transform-origin:left;animation:grow .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes grow{from{transform:scaleX(0)}}
.why{display:flex;flex-direction:column;gap:5px}
.whyr{display:grid;grid-template-columns:96px minmax(0,1fr) 54px;gap:8px;align-items:center;font-size:12px}
.whyr b{font:500 11px var(--f-ui);color:var(--muted);text-align:right}
.whyb{height:6px;border-radius:3px;background:var(--panel-3);overflow:hidden}
.whyb i{display:block;height:100%;border-radius:3px}
.whyb i.pos{background:var(--s-oil)} .whyb i.neg{background:var(--s-water)}
.fcmini{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-2)}
.fcmini b{display:block;font-size:12.5px}
.fcmini small{display:block;font-size:12px;color:var(--muted)}
.spin{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--sel);animation:spin .8s linear infinite;flex:none}
.btn .spin{border-color:rgba(255,255,255,.35);border-top-color:#fff}
.fcreveal{animation:fcscan .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes fcscan{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.art h3.h3{font-size:14px;margin:16px 0 6px}
/* ---- окна настройки планшета ---- */
.hdrhit{cursor:pointer}
svg .hgear{stroke:var(--muted);stroke-width:1.3;fill:none;stroke-linecap:round}
.pop{position:fixed;z-index:75;width:300px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);font-size:12.5px}
.pop.popin{animation:popin .16s cubic-bezier(.2,.8,.2,1)}
@keyframes popin{from{opacity:0;transform:translateY(-4px) scale(.98)}}
.pop-h{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 12px;border-bottom:1px solid var(--line-2)}
.pop-b{padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.pop-f{padding:6px 8px;border-top:1px solid var(--line-2);display:flex;justify-content:flex-end}
.prow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.prow select,.prow input[type=text]{flex:1;min-width:0;height:28px;font:12.5px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:0 8px}
.pr2{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--ink-2)}
.pr2 input{width:78px;margin-left:4px}
.crow{display:grid;grid-template-columns:30px minmax(0,1fr) 78px;gap:8px;align-items:center;font-size:12.5px;margin-top:4px}
.crow input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:none;cursor:pointer}
.crow select{height:24px}
.drawer{position:fixed;right:0;top:var(--bar-h);bottom:var(--st-h);width:min(400px,100vw);z-index:72;background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.drawer.on{transform:none}
.dr-h{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--line)}
.dr-h b{font-size:14px}.dr-h .mut{font-size:12px;flex:1}
.dr-b{overflow:auto;padding:4px 16px 20px}
.dr-b section{padding:12px 0;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}
.dr-b h4{margin:0;font-size:12px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}
.sub4{font-size:12.5px;font-weight:600;margin-top:4px}
.tlist{display:flex;flex-direction:column;gap:2px}
.trow2{display:grid;grid-template-columns:18px minmax(0,1fr) 110px 32px 26px 26px;gap:6px;align-items:center;font-size:12.5px;padding:3px 0}
.trow2 .num{font:500 11.5px var(--f-data);text-align:right;color:var(--ink-2)}
.trow2 input[type=range]{width:100%;accent-color:var(--sel)}
/* ---- выбор скважин для корреляции ---- */
.cpbox{width:min(900px,100%)!important;max-height:86vh!important}
.cpbox>div:last-child{overflow:visible!important;padding:8px 12px!important;font:inherit!important}
.cpgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0;min-height:0;flex:1;overflow:hidden}
@media (max-width:760px){.cpgrid{grid-template-columns:minmax(0,1fr)}}
.cpcol{display:flex;flex-direction:column;gap:8px;padding:10px 12px;min-height:0;border-right:1px solid var(--line-2)}
.cpcol:last-child{border-right:0}
.cplist{overflow:auto;min-height:200px;max-height:52vh;border:1px solid var(--line-2);border-radius:6px;background:var(--bg)}
.cpi{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;border-bottom:1px solid var(--line-2);cursor:pointer}
.cpi:hover{background:var(--panel-2)}
.cps{display:flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:12.5px;border-bottom:1px solid var(--line-2)}
.cps .num{font:11px var(--f-data);min-width:22px}
.ctag{font:500 11px var(--f-ui);padding:1px 6px;border-radius:9px;margin-left:4px;white-space:nowrap}
.ctag.hot{background:var(--accent-faint);color:var(--accent)} .ctag.oil{background:color-mix(in srgb,var(--s-oil) 18%,transparent);color:var(--ink)} .ctag.raw{background:var(--sel-soft);color:var(--link)}
/* ---- домашнее окно, поиск, интерфейс ---- */
.railbtn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;margin:0 6px;border-radius:8px;color:var(--muted);font-size:11px;line-height:1.15;cursor:pointer;text-align:center}
.railbtn svg{width:19px;height:19px}.railbtn:hover{color:var(--ink);background:var(--panel-3)}
.cmdbtn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 6px 0 10px;min-width:240px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--muted);font-size:12.5px;cursor:pointer;margin-right:6px;transition:border-color .12s,color .12s}
.cmdbtn:hover{border-color:var(--muted);color:var(--ink-2)}.cmdbtn span{flex:1}
.cmdbtn kbd,.hm-cta kbd,.hm-s kbd{font:500 10.5px var(--f-data);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--ink-2);background:var(--panel-2)}
@media (max-width:1100px){.cmdbtn{min-width:0}.cmdbtn span,.cmdbtn kbd{display:none}}
.split{position:absolute;top:0;bottom:0;right:0;width:6px;cursor:col-resize;z-index:6}
.split.l{left:0;right:auto}
.split:hover,.resizing .split{background:linear-gradient(90deg,transparent 3px,var(--sel) 3px)}
.split.l:hover,.resizing .split.l{background:linear-gradient(90deg,var(--sel) 3px,transparent 3px)}
.explorer,.props{position:relative}
body.resizing{cursor:col-resize;user-select:none}
.cmdk{place-items:start center;padding-top:12vh}
.cmdk .box{width:min(620px,100%)!important}
.cmdk .box>div:last-child{padding:7px 12px!important;font:12px var(--f-ui)!important;color:var(--muted)}
.search.ck{margin:10px}.search.ck input{height:38px;font-size:14px;padding-left:34px}.search.ck svg{left:11px;width:16px;height:16px}
.cklist{overflow:auto;max-height:52vh;padding:0 6px 6px}
.cki{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px}
.cki small{color:var(--muted);font-size:12px}.cki.on,.cki:hover{background:var(--sel-soft)}
.accs{display:flex;gap:6px;flex-wrap:wrap}
.acc{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;font-size:12.5px}
.acc i{width:12px;height:12px;border-radius:50%}.acc[aria-pressed="true"]{border-color:var(--sel);background:var(--sel-soft);font-weight:600}
:root[data-dens="compact"] .page{padding:12px 14px 24px;gap:10px}
:root[data-dens="comfy"] .page{padding:22px 26px 36px;gap:18px}
:root[data-dens="comfy"] .pn-h{min-height:42px}
.nomotion *{animation:none!important;transition:none!important}
.home{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;overflow:auto;opacity:0;transition:opacity .35s cubic-bezier(.2,.8,.2,1)}
.home.on{opacity:1}
.home.out{opacity:0;transform:scale(1.015);transition:opacity .35s ease-in,transform .35s ease-in;pointer-events:none}
.home canvas{position:fixed;inset:0;pointer-events:none}
.hm-in,.hm-f{z-index:1}
.hm-in{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,420px);gap:48px;align-items:center;max-width:1180px;width:100%;margin:0 auto;padding:7vh 32px 24px}
@media (max-width:900px){.hm-in{grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 16px}}
.hm-l>*+*{margin-top:22px}
.hm-brand{display:flex;align-items:center;gap:18px}
.mark.big{width:56px;height:56px;border-radius:14px}
.hm-brand h1{margin:0;font-size:44px;line-height:1;font-weight:700;letter-spacing:-.03em}
.hm-brand p{margin:8px 0 0;color:var(--ink-2);font-size:14px}
.hm-lead{font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:62ch}
.hm-cta{display:flex;gap:10px;flex-wrap:wrap}
.btn.lg{height:40px;padding:0 18px;font-size:14px;border-radius:8px;gap:10px}
.btn.primary kbd{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
.hm-now{display:flex;gap:10px;flex-wrap:wrap}
.hmk{border:1px solid var(--line);border-radius:8px;padding:9px 14px;background:color-mix(in srgb,var(--panel) 85%,transparent);backdrop-filter:blur(6px);min-width:110px}
.hmk b{display:block;font:600 20px var(--f-data)}.hmk span{font-size:12px;color:var(--muted)}
.hm-r{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px);padding:8px;box-shadow:var(--elev)}
.hm-r h2{margin:4px 10px 6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.hm-s{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;border-radius:7px;cursor:pointer}
.hm-s:hover,.hm-s:focus-visible{background:var(--sel-soft)}
.hm-s b{display:block;font-size:13.5px}.hm-s small{display:block;font-size:12px;color:var(--muted)}
.hm-f{position:relative;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 32px 18px;max-width:1180px;width:100%;margin:0 auto;font-size:12px}
/* =====================================================================
   Дизайн v0.14: «Прогноз насыщения» — инженерная рабочая среда
   ===================================================================== */
:root{--bg:#0c0f13;--panel:#13171c;--panel-2:#191e24;--panel-3:#222830;--line:#262d35;--line-2:#1c2228;--ink:#e7ebf0;--ink-2:#a9b2bd;--muted:#8a95a2;
  --r:10px;--elev:0 1px 0 rgba(255,255,255,.03) inset,0 1px 2px rgba(0,0,0,.35),0 8px 24px -12px rgba(0,0,0,.55);--grid-dot:rgba(255,255,255,.035)}
:root[data-theme="light"]{--bg:#eef1f4;--panel:#ffffff;--panel-2:#f5f7f9;--panel-3:#e9edf1;--line:#d7dde4;--line-2:#e7ebef;--ink:#151a20;--ink-2:#46505b;--muted:#69747f;
  --elev:0 1px 2px rgba(16,24,40,.06),0 8px 20px -14px rgba(16,24,40,.18);--grid-dot:rgba(16,24,40,.05)}
@media (prefers-color-scheme: light){:root[data-theme="auto"]{--bg:#eef1f4;--panel:#ffffff;--panel-2:#f5f7f9;--panel-3:#e9edf1;--line:#d7dde4;--line-2:#e7ebef;--ink:#151a20;--ink-2:#46505b;--muted:#69747f;
  --elev:0 1px 2px rgba(16,24,40,.06),0 8px 20px -14px rgba(16,24,40,.18);--grid-dot:rgba(16,24,40,.05)}}
.ws{background:var(--bg) radial-gradient(var(--grid-dot) 1px,transparent 1.2px) 0 0/18px 18px}
.appbar{background:var(--panel);box-shadow:0 1px 0 var(--line)}
.brand b{font-size:14px;letter-spacing:-.01em}
.mark{background:linear-gradient(160deg,#1b2430,#0d1218)}
/* разделы */
.rail{background:var(--panel);gap:4px;padding:8px 0}
.rail a,.railbtn{border-radius:10px;padding:9px 2px 8px}
.rail a[aria-current="page"]{background:var(--sel-soft);color:var(--ink)}
.rail a[aria-current="page"] svg{color:var(--sel)}
.rail a[aria-current="page"]::before{left:-6px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0}
.explorer,.props{background:var(--panel)}
.ph2{height:36px;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.prop>summary{background:transparent;height:36px;font-size:11px;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--line-2)}
.prop:first-child>summary{border-top:0}
/* заголовок раздела */
.pt{align-items:center}
.pt>div:first-child{display:flex;gap:14px;align-items:center}
.pt-ico{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--sel-soft);color:var(--sel);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sel) 25%,transparent)}
.pt-ico svg{width:20px;height:20px}
.pt h1{font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.15}
.pt p{margin-top:3px}
.pt-txt{min-width:0}
/* панели */
.pn{border-radius:var(--r);box-shadow:var(--elev)}
.pn-h{min-height:42px;padding:8px 10px 8px 14px}
.pn-h h3{font-size:13.5px;font-weight:600;letter-spacing:-.005em}
.pn-h .sub{font-size:12px}
.pn-b{padding:12px 14px}
.foot{padding:9px 14px}
/* показатели-плитки */
.facts .fact{padding:12px 14px}
.fact>span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fact b{font-size:24px;margin-top:4px;letter-spacing:-.02em}
.fact small{margin-top:2px}
/* таблицы */
.vt{border-radius:0 0 var(--r) var(--r)}
.vt-head{background:color-mix(in srgb,var(--panel-2) 92%,transparent);backdrop-filter:blur(6px)}
.vt-th{padding:8px 10px;font-size:12px;color:var(--muted);letter-spacing:.02em}
.vt-td{padding:0 10px}
.vt-tr:hover{background:color-mix(in srgb,var(--sel) 7%,transparent)}
.vt-tr.sel{background:var(--sel-soft)}
table.t th{background:transparent;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
table.t td,table.t th{padding:7px 12px}
/* кнопки, сегменты, вкладки */
.btn{border-radius:7px;background:var(--panel-2)}
.btn:hover{background:var(--panel-3);border-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.btn.ghost{background:transparent}
.seg{border-radius:8px;padding:3px;background:var(--bg)}
.seg button{border-radius:6px;padding:4px 9px}
.seg button[aria-pressed="true"]{background:var(--panel-3);box-shadow:0 1px 2px rgba(0,0,0,.25),inset 0 0 0 1px var(--line)}
.tabs{gap:2px;border-bottom:1px solid var(--line)}
.tabs button{padding:10px 14px;font-size:13px;display:inline-flex;align-items:center;gap:7px}
.tbadge{font:600 10.5px var(--f-data);padding:1px 6px;border-radius:9px;background:var(--panel-3);color:var(--ink-2)}
.tbadge.hot{background:var(--accent-faint);color:var(--accent)}
.tdot{width:6px;height:6px;border-radius:50%;background:var(--sel);display:inline-block}
select,input[type=number],.search input,.prow input[type=text]{border-radius:7px}
/* переключатели и ползунки */
.chips{display:inline-flex;gap:6px;flex-wrap:wrap}
.chipt{position:relative;cursor:pointer}
.chipt input{position:absolute;opacity:0;pointer-events:none}
.chipt span{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:14px;border:1px solid var(--line);font-size:12.5px;color:var(--ink-2);background:var(--panel-2);transition:background .12s,border-color .12s,color .12s}
.chipt span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line)}
.chipt input:checked+span{border-color:color-mix(in srgb,var(--sel) 55%,transparent);background:var(--sel-soft);color:var(--ink)}
.chipt input:checked+span::before{background:var(--sel)}
.chipt input:focus-visible+span{outline:2px solid var(--sel);outline-offset:1px}
.ptog{display:flex;gap:11px;align-items:flex-start;cursor:pointer;font-size:12.5px;padding:3px 0}
.ptog input{position:absolute;opacity:0;pointer-events:none}
.ptog .sw{flex:none;position:relative;width:32px;height:18px;border-radius:9px;background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--line);transition:background .15s;margin-top:1px}
.ptog .sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ink-2);transition:transform .18s cubic-bezier(.2,.8,.2,1),background .15s}
.ptog input:checked+.sw{background:var(--sel)}
.ptog input:checked+.sw::after{transform:translateX(14px);background:#fff}
.ptog input:focus-visible+.sw{outline:2px solid var(--sel);outline-offset:2px}
.ptog b{display:block;font-weight:500}.ptog small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.ptog.mini{padding:0}
.prng{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:10px;align-items:center}
.prng output{font:500 12px var(--f-data);text-align:right;color:var(--ink)}
input[type=range]{-webkit-appearance:none;appearance:none;height:22px;background:transparent;width:100%;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--sel),var(--sel)) 0/var(--fillw,100%) 100% no-repeat,var(--panel-3)}
input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--panel-3)}
input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--sel)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;margin-top:-6px;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 1px 3px rgba(0,0,0,.35);transition:transform .1s}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 1px 3px rgba(0,0,0,.35)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--sel-soft),0 0 0 1px var(--sel)}
/* панели настройки */
.drawer{width:min(420px,100vw);background:var(--panel)}
.dr-h{padding:14px 12px 10px 18px;border-bottom:0}
.pdtabs{padding:0 12px;overflow-x:auto}.pdtabs button{padding:8px 10px;font-size:12.5px}
.dr-b{padding:6px 18px 24px}
.dr-b section{gap:12px;border-bottom:0}
.pf .lbl,.pf>span.lbl{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:2px}
.pf{gap:7px}
.tlist{gap:8px}
.tcard{border:1px solid var(--line);border-radius:9px;padding:8px 10px 6px;background:var(--panel-2);display:flex;flex-direction:column;gap:2px;transition:opacity .15s}
.tcard.off{opacity:.55}
.tch{display:flex;align-items:center;gap:10px;font-size:13px}
.crow2{display:grid;grid-template-columns:30px minmax(0,1fr) 78px 96px;gap:8px;align-items:center;font-size:12.5px;margin-top:4px}
.crow2.c2{grid-template-columns:30px 120px minmax(0,1fr)}
.crow2 b{font-weight:500}
.crow2 input[type=color],.crow input[type=color]{width:28px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}
.crow2 select{height:26px}
.tpls{display:flex;flex-direction:column;gap:6px}
.tpl{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);padding:2px 4px 2px 2px}
.tpl.on{border-color:color-mix(in srgb,var(--sel) 60%,transparent);background:var(--sel-soft)}
.tpl-a{all:unset;flex:1;cursor:pointer;padding:8px 10px;border-radius:7px}
.tpl-a:hover{background:var(--panel-3)}
.tpl-a b{display:block;font-size:13px}.tpl-a small{display:block;color:var(--muted);font-size:12px}
.pop{border-radius:12px;width:320px}
.pop-b{gap:12px}
/* строка инструментов планшета */
.plotbar{gap:8px 12px;padding:10px 14px;background:var(--panel)}
.zoom{display:inline-flex;gap:2px}
.plotgrid.nomini{grid-template-columns:minmax(0,1fr)}
.readout{background:var(--panel-2)}
/* шапка скважины */
.wh{display:flex;flex-direction:column}
.wh-top{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:14px 16px 12px}
.wh-id{display:flex;gap:14px;align-items:center;min-width:0}
.wh-ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sel-soft);color:var(--sel)}
.wh-ico svg{width:22px;height:22px}
.wh h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}
.wh-sub{font-size:12.5px;color:var(--ink-2);margin-top:3px}
.wh-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wstseg{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:var(--bg);border:1px solid var(--line)}
.wstseg button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;font-size:12px;color:var(--ink-2);white-space:nowrap}
.wstseg button:hover{color:var(--ink)}
.wstseg button[aria-pressed="true"]{background:var(--panel-3);color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--line)}
.wstseg button:focus-visible{outline:2px solid var(--sel)}
@media (max-width:1500px){.wstseg button{font-size:0;gap:0;padding:6px}.wstseg button .sdot{margin:0}.wstseg button[aria-pressed="true"]{font-size:12px;gap:6px;padding:4px 9px}}
.wh-kpi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-2)}
@media (max-width:1400px){.wh-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.wh-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{padding:11px 16px 12px;border-right:1px solid var(--line-2);min-width:0;position:relative}
.kpi:last-child{border-right:0}
.kpi>span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
.kpi b{display:block;font:600 17px var(--f-data);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi b i{font:500 11.5px var(--f-ui);color:var(--muted);font-style:normal}
.kpi small{display:block;font-size:12px;color:var(--ink-2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meter{display:block;height:3px;border-radius:2px;background:var(--panel-3);margin-top:7px;overflow:hidden}
.meter i{display:block;height:100%;border-radius:2px}.meter i.ok{background:var(--ok)}.meter i.bad{background:var(--warn)}
#wtabs{border-bottom:1px solid var(--line)}
.notes2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1100px){.notes2{grid-template-columns:minmax(0,1fr)}}
.pn.sub2{box-shadow:none;background:var(--bg)}
textarea.note-in{border-radius:9px;min-height:180px}
.stseg button{border-radius:8px}
/* разное */
.dropbig{border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--muted) 60%,transparent);background:var(--panel);padding:40px 20px}
.dropbig:hover{border-color:var(--sel)}
.empty{padding:48px 20px}
.list .li{padding:9px 14px}
.steps .step{padding:12px 14px}
.toc{gap:2px}.toc a{border-radius:7px;padding:7px 10px}
.art section{padding:24px 28px}
.art h2{font-size:19px}
.hm-in{grid-template-columns:minmax(0,560px);justify-content:start;max-width:none;margin:0;padding:6vh 0 20px max(40px,5vw)}
@media (max-width:1100px){.hm-in{padding:32px 16px}}
.hm-brand h1{font-size:40px}
.hm-now{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.hmk{min-width:0}
@media (max-width:600px){.hm-now{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hm-r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;margin-top:26px}
@media (max-width:600px){.hm-r{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hm-s{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,transparent);position:relative}
.hm-s:hover,.hm-s:focus-visible{border-color:color-mix(in srgb,var(--sel) 55%,transparent);background:var(--sel-soft)}
.hm-s small{display:none}
.hm-s kbd{position:absolute;top:9px;right:9px}
.hm-f{margin:0;max-width:none;padding:12px max(40px,5vw) 18px}
/* ---- вкладки ---- */
.tabbar{grid-column:1/-1;display:flex;align-items:stretch;gap:4px;padding:0 6px;background:var(--panel);border-bottom:1px solid var(--line);min-width:0}
.tabs-scroll{flex:1;display:flex;align-items:flex-end;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:0;padding-top:5px}
.tabs-scroll::-webkit-scrollbar{display:none}
.tab{position:relative;flex:0 1 210px;min-width:118px;height:31px;display:flex;align-items:center;gap:7px;padding:0 6px 0 10px;border-radius:8px 8px 0 0;color:var(--muted);cursor:pointer;user-select:none;font-size:12.5px;border:1px solid transparent;border-bottom:0;transition:background .12s,color .12s}
.tab:hover{background:var(--panel-2);color:var(--ink-2)}
.tab+.tab:not(.on):not(:hover)::after{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:1px;background:var(--line)}
.tab.on+.tab::after,.tab:hover+.tab::after{display:none}
.tab.on{background:var(--bg);color:var(--ink);border-color:var(--line);margin-bottom:-1px;height:32px}
.tab.on::before{content:"";position:absolute;left:8px;right:8px;top:0;height:2px;border-radius:0 0 2px 2px;background:var(--sel)}
.tab.pin{flex:0 0 38px;min-width:38px;justify-content:center;padding:0}
.tab.miss .tt b{text-decoration:line-through;opacity:.7}
.tab.fresh{animation:tabfresh 1.2s ease-out}
@keyframes tabfresh{0%{background:var(--sel-soft);color:var(--ink)}100%{background:transparent}}
.tab.drag{opacity:.4}.tab.over{box-shadow:inset 2px 0 0 var(--sel)}
.tab .tic{display:grid;place-items:center;flex:none}.tab .tic svg{width:14px;height:14px}
.tab.on .tic{color:var(--sel)}
.tab .tt{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;overflow:hidden;white-space:nowrap}
.tab .tt b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.tab .tt small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.tab .tx{all:unset;flex:none;width:20px;height:20px;border-radius:5px;display:grid;place-items:center;color:var(--muted);opacity:0;cursor:pointer}
.tab:hover .tx,.tab.on .tx{opacity:1}.tab .tx:hover{background:var(--panel-3);color:var(--ink)}
.tab .tx svg{width:13px;height:13px}
.tbtn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;height:28px;margin-top:4px;padding:0 7px;border-radius:7px;color:var(--muted);cursor:pointer;font:600 11px var(--f-data)}
.tbtn:hover{background:var(--panel-2);color:var(--ink)}.tbtn svg{width:15px;height:15px}
.tbtn:focus-visible,.tab:focus-visible{outline:2px solid var(--sel)}
.ctx{position:fixed;z-index:120;min-width:230px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:5px}
.ctx.popin{animation:popin .14s cubic-bezier(.2,.8,.2,1)}
.ctx button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:7px 10px;border-radius:6px;font-size:12.5px;color:var(--ink);cursor:pointer}
.ctx button:hover{background:var(--sel-soft)}.ctx button:disabled{opacity:.4;cursor:default;background:none}
.ctx kbd{font:11px var(--f-data);color:var(--muted)}
.ctx hr{border:0;border-top:1px solid var(--line-2);margin:4px 2px}
.modal.tlist{place-items:start center;padding-top:10vh}.modal.tlist .box{width:min(640px,100%)!important}
.tlist .box>div:last-child{padding:7px 12px!important;font:12px var(--f-ui)!important;color:var(--muted);display:flex;gap:6px 16px;flex-wrap:wrap}
.tli{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;cursor:pointer}
.tli:hover{background:var(--panel-2)}.tli.on{background:var(--sel-soft)}
.tli .tic svg{width:15px;height:15px;color:var(--muted)}.tli.on .tic svg{color:var(--sel)}
.tli .tt{flex:1;min-width:0}.tli .tt b{display:block;font-size:13px}.tli .tt small{display:block;font-size:12px;color:var(--muted)}
.tli .num{font:11px var(--f-data)}
/* ---- мелочи: подсказки, строка состояния, проводник, вкладки ---- */
.ttip{position:fixed;z-index:130;max-width:300px;padding:6px 9px;border-radius:7px;background:var(--ink);color:var(--bg);font:500 12px/1.35 var(--f-ui);box-shadow:var(--shadow);pointer-events:none}
.ttip.in{animation:ttin .14s ease-out}@keyframes ttin{from{opacity:0;transform:translateY(-3px)}}
.status .sl{cursor:pointer;border-radius:4px;padding:0 4px;margin:0 -4px}.status .sl:hover{background:var(--panel-3);color:var(--ink)}
.spin.sm{width:9px;height:9px;border-width:1.5px;margin-right:6px;vertical-align:-1px}
.crumbs a{color:var(--ink-2);text-decoration:none;border-radius:4px;padding:1px 3px;margin:0 -3px}.crumbs a:hover{background:var(--panel-3);color:var(--ink)}
.fcdot{width:6px;height:6px;border-radius:50%;background:var(--s-oil);flex:none}
:root:not([data-theme="light"]) .fcdot{background:#d69a52}
.trow .nt{display:none;place-items:center;width:20px;height:20px;border-radius:5px;color:var(--muted);flex:none}
.trow:hover .nt{display:grid}.trow .nt:hover{background:var(--panel-3);color:var(--ink)}.trow .nt svg{width:13px;height:13px}
.tabs-scroll{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 14px),transparent)}
/* ---- пометки на планшете ---- */
.mkcols{display:flex;gap:8px}.mkcols button{all:unset;width:22px;height:22px;border-radius:50%;background:var(--c);cursor:pointer;box-shadow:inset 0 0 0 2px rgba(0,0,0,.15)}
.mkcols button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--c)}
#mkpop input[type=text],#mkpop input[type=number]{width:100%;height:30px;font:13px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:0 9px}
svg .mk:hover path{filter:brightness(1.12)}
/* ---- премиальные мелочи: строка значений, группы инструментов, списки ---- */
.readout{gap:5px 6px;padding:7px 12px}
.readout>span{display:inline-flex;align-items:baseline;gap:5px;padding:2px 8px;border-radius:6px;background:var(--panel);border:1px solid var(--line-2)}
.readout>b{margin-right:4px;font-size:13px}
.readout .verdict{background:var(--accent-faint);border-color:transparent}
.plotbar{border-bottom:1px solid var(--line-2)}
.plotbar .seg,.plotbar .zoom{box-shadow:inset 0 0 0 1px var(--line-2)}
.zoom{padding:2px;border-radius:8px;background:var(--bg)}
.list .li{transition:background .12s}
.list .li:hover{background:color-mix(in srgb,var(--sel) 8%,transparent)}
.pn-h{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 55%,transparent),transparent)}
.fact{transition:background .15s}
.facts .fact:hover{background:color-mix(in srgb,var(--panel-2) 60%,transparent)}
.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--primary,#2563eb) 88%,#fff),var(--primary,#2563eb))}
.rail a .cnt{box-shadow:0 0 0 2px var(--panel)}
/* ---- комплект выгрузки ---- */
.kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1300px){.kit{grid-template-columns:minmax(0,1fr)}}
.kitc{display:flex;gap:12px;padding:14px 16px;border-right:1px solid var(--line-2);min-width:0}.kitc:last-child{border-right:0}
.kico{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 13px var(--f-ui);background:var(--panel-3);color:var(--muted)}
.kitc.ok .kico{background:var(--ok);color:#fff}.kitc.warn .kico{background:var(--warn);color:#fff}
.kico svg{width:14px;height:14px}
.kitc b{font-weight:600}.kitc>div>b{display:block;font-size:13.5px}
.kf{display:block;font:12px var(--f-data);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.5}
.kitc small{display:block;font-size:12px;margin-top:4px}.kl{color:var(--muted)}
/* ---- окно загрузки, управление данными ---- */
.imp .box{width:min(1180px,96vw)!important;max-height:90vh!important}
.imp .box>div:last-child{overflow:visible!important;padding:10px 14px!important;font:inherit!important}
.isum{display:flex;gap:6px;flex-wrap:wrap;flex:1;margin-left:10px}
.ichip{font-size:12px;padding:3px 9px;border-radius:12px;background:var(--panel-3);color:var(--ink-2)}.ichip b{color:var(--ink);font-family:var(--f-data)}.ichip.bad{background:color-mix(in srgb,var(--warn) 20%,transparent)}
.impb{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0;flex:1;overflow:hidden}
.impo{padding:14px 16px;border-right:1px solid var(--line-2);display:flex;flex-direction:column;gap:14px;overflow:auto}
.impo input[type=text],.dlside input{width:100%;height:30px;font:13px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:0 9px}
.impo .seg{flex-wrap:wrap}
.impl{display:flex;flex-direction:column;gap:10px;padding:12px 14px;min-height:0;overflow:hidden}
.impl .vt{flex:1;max-height:56vh;border:1px solid var(--line-2);border-radius:8px}
.ierr{font-size:12px;color:var(--ink-2);background:color-mix(in srgb,var(--warn) 10%,transparent);border-radius:8px;padding:8px 10px;max-height:120px;overflow:auto}.ierr span{font-family:var(--f-data)}
.imf{border-top:1px solid var(--line-2);gap:10px;align-items:center}
.link-t{color:var(--link)}
.dlgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0}
.dlside{padding:12px 14px;border-left:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}
.lbl2{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
.bch{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--line-2);border-radius:8px}.bch b{display:block;font-size:12.5px}.bch small{display:block;font-size:12px;color:var(--muted)}
input[type=checkbox][data-ik],input[type=checkbox][data-dk]{width:15px;height:15px;cursor:pointer}
/* ---- главное окно v0.18 ---- */
.home{background:var(--bg) radial-gradient(var(--grid-dot) 1px,transparent 1.2px) 0 0/18px 18px;display:flex;flex-direction:column}
.hm-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(28px,4vw);border-bottom:1px solid var(--line-2);background:color-mix(in srgb,var(--panel) 80%,transparent)}
.hm-logo{display:flex;align-items:center;gap:10px}.hm-logo b{font-size:14.5px}.hm-logo .hz{font-size:12px;color:var(--muted);padding:2px 8px;border-radius:10px;background:var(--panel-3)}.hm-logo .hz:empty{display:none}
.hm-nav{display:flex;gap:4px}.hm-nav button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:8px;font-size:13px;color:var(--ink-2)}
.hm-nav button:hover{background:var(--panel-2);color:var(--ink)}.hm-nav kbd{font:11px var(--f-data);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.hm-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:stretch;padding:5vh max(28px,4vw) 28px;flex:1;min-height:0}
.hm-hero{display:flex;flex-direction:column;justify-content:center;gap:22px;max-width:640px}
.hm-hero h1{margin:0;font-size:clamp(34px,3.6vw,52px);line-height:1.05;letter-spacing:-.035em;font-weight:700;text-wrap:balance}
.hm-hero h1 span{display:block;color:var(--muted);font-weight:600}
.hm-lead{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:58ch}
.hm-drop{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1.5px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 70%,transparent)}
.hm-drop:hover{border-color:var(--sel)}.hdi{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--sel-soft);color:var(--sel)}.hdi svg{width:19px;height:19px}
.hm-drop b{display:block;font-size:13.5px}.hm-drop small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.hdb{display:flex;gap:6px}
.hm-stats{display:flex;gap:0;flex-wrap:wrap}
.hm-stats>div{padding:0 22px 0 0;margin-right:22px;border-right:1px solid var(--line)}.hm-stats>div:last-child{border-right:0}
.hm-stats b{display:block;font:600 26px var(--f-data);letter-spacing:-.02em}.hm-stats b span{font-size:inherit;color:var(--accent)}.hm-stats span{font-size:12px;color:var(--muted)}
.hm-vis{min-height:0;display:flex}
.hm-win{flex:1;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 24px 60px -24px rgba(0,0,0,.55);overflow:hidden;min-height:420px}
.hm-wbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-2);font-size:12.5px}.hm-wbar .lg{font-size:12px;color:var(--ink-2)}
.hm-cvw{flex:1;position:relative;min-height:0}.hm-cvw canvas{position:absolute;inset:0}
.hm-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 max(28px,4vw) 18px}
.hm-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--elev)}
.hm-card h2{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.hm-list{display:flex;flex-direction:column;gap:2px}
.hm-list button{all:unset;cursor:pointer;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;border-radius:7px}
.hm-list button:hover{background:var(--sel-soft)}.hm-list .tic svg{width:15px;height:15px;color:var(--muted)}.hm-list b{display:block;font-size:13px}.hm-list small{display:block;font-size:12px;color:var(--muted)}
.hfc{display:flex;gap:16px;align-items:center}.hfc b{display:block;font-size:13.5px}.hfc small{display:block;font-size:12px;color:var(--muted)}.hfc .meter{width:160px}
.hbig{display:flex;align-items:baseline}.hbig b{font:700 40px var(--f-data);letter-spacing:-.03em;display:inline}.hbig span{font-size:16px;color:var(--muted);margin-left:2px}
.hm-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px}.hm-kv span{color:var(--muted)}.hm-kv b{font:500 12.5px var(--f-data);text-align:right}
.hm-card .btn{align-self:flex-start}
.hm-card .hm-r{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-card .hm-s{padding:8px 10px}.hm-card .hm-s b{font-size:12.5px}
.hm-f{display:flex;justify-content:space-between;gap:12px;padding:10px max(28px,4vw) 16px;font-size:12px;color:var(--muted);border-top:1px solid var(--line-2)}
@media (max-width:1250px){.hm-main{grid-template-columns:minmax(0,1fr)}.hm-bottom{grid-template-columns:minmax(0,1fr)}}
/* ---- мастер загрузки v0.19 ---- */
.splitl{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.splitr{border-top-left-radius:0!important;border-bottom-left-radius:0!important;margin-left:1px;width:26px!important;padding:0!important}
.imp .box{width:min(1240px,96vw)!important;height:min(820px,92vh);max-height:92vh!important;display:flex!important;flex-direction:column}
.imh{display:flex;align-items:center;gap:20px;padding:12px 16px;border-bottom:1px solid var(--line-2)}
.imh h3{margin:0;font-size:15px;white-space:nowrap}
.steps{list-style:none;margin:0 auto;padding:0;display:flex;align-items:center;gap:6px}
.steps .ln{width:36px;height:1px;background:var(--line)}
.steps button{all:unset;cursor:pointer;display:flex;align-items:center;gap:9px;padding:5px 12px 5px 6px;border-radius:22px}
.steps button:hover{background:var(--panel-2)}.steps button:focus-visible{outline:2px solid var(--sel)}
.steps .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--f-data);border:1.5px solid var(--line);color:var(--muted)}
.steps .n svg{width:13px;height:13px;stroke-width:2.6}
.steps b{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}.steps small{display:block;font-size:11.5px;color:var(--muted)}
.steps .cur .n{background:var(--sel);border-color:var(--sel);color:#fff}.steps .cur b{color:var(--ink)}
.steps .done .n{background:var(--sel-soft);border-color:var(--sel);color:var(--sel)}
.ist{flex:1;min-height:0;display:flex;flex-direction:column}.ist[hidden]{display:none}
.imp .impb{flex:1}
.idz{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;flex:1;min-height:260px;border:1.5px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 60%,transparent);padding:24px;transition:border-color .15s,background .15s}
.idz b{font-size:15px}.idz small{font-size:12.5px;color:var(--muted)}
.dz-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--sel-soft);color:var(--sel);flex:none}.dz-ic svg{width:19px;height:19px}
.dz-ic.big{width:56px;height:56px;border-radius:14px;margin-bottom:4px}.dz-ic.big svg{width:28px;height:28px}
.dz-b{display:flex;gap:8px;margin:8px 0 4px}
.idz.slim{flex:none;min-height:0;flex-direction:row;text-align:left;padding:8px 10px;gap:12px}.idz.slim b{font-size:13px;display:block}.idz.slim small{display:block}
.idz.dragon,#imp .tcard.dragon{border-color:var(--sel);background:var(--sel-soft)}
.impList{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.impList[hidden]{display:none}
.impList .vt{flex:1;min-height:120px;max-height:none!important;border:1px solid var(--line-2);border-radius:8px}
.cv{display:inline-block;font:500 10.5px var(--f-data);padding:1px 4px;margin-right:3px;border-radius:4px;color:var(--muted);border:1px solid var(--line-2);text-decoration:line-through}
.cv.on{color:var(--ink-2);text-decoration:none;background:var(--panel-3);border-color:transparent}
.inote{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);padding:8px 10px;border-radius:8px;background:var(--sel-soft);margin-top:2px}.inote svg{width:15px;height:15px;flex:none;color:var(--sel);margin-top:1px}
.inote.warn{background:color-mix(in srgb,var(--warn) 14%,transparent)}.inote.warn svg{color:var(--warn)}
.ierr{margin-top:8px;max-height:150px}.ierr-h{display:flex;gap:7px;align-items:center;margin-bottom:4px}.ierr-h span{font-family:var(--f-ui)!important}.ierr-h svg{width:15px;height:15px;color:var(--warn)}
.ie{display:grid;grid-template-columns:minmax(120px,240px) 1fr;gap:10px;padding:3px 0;border-top:1px solid var(--line-2)}.ie span{font:12px var(--f-data);word-break:break-all}.ie small{font-size:12px;color:var(--ink-2)}
.ist2{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:14px;flex:1}
.ilead{margin:0;font-size:13.5px;color:var(--ink-2);max-width:90ch;line-height:1.5}
.tcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#imp .tcard{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,background .15s;min-width:0}
#imp .tcard.on{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.tc-h{display:flex;align-items:center;gap:10px}.tc-h b{display:block;font-size:14px}.tc-h small{display:block;font-size:12px;color:var(--muted);word-break:break-all}
.tc-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--panel-3);color:var(--ink-2);flex:none}.tc-ic svg{width:17px;height:17px}
.tc-ic.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.tc-ic.ok svg{stroke-width:2.6}
.tdz{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 16px;border:1.5px dashed color-mix(in srgb,var(--muted) 55%,transparent);border-radius:10px}
.tdz b{font-size:13.5px}.tdz small{font-size:12px;color:var(--muted)}.tdz .btn{margin-top:6px}
.tfmt{font-size:12px}.tfmt code{font:11.5px var(--f-data);color:var(--ink-2);background:var(--panel-3);padding:2px 6px;border-radius:5px;word-break:break-all}
#imp .tcard .hint,#imp .tcard p{margin:0}
.tc-n{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tc-n>div{padding:8px 10px;border-radius:8px;background:var(--panel-2)}
.tc-n b{display:block;font:600 20px var(--f-data)}.tc-n b small{font-size:13px;color:var(--muted);font-weight:500}.tc-n span{font-size:12px;color:var(--muted)}
.tbar{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px;background:var(--panel-3)}.tbar i{display:block;min-width:4px}
.tleg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-2)}.tleg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}.tleg b{font-family:var(--f-data);margin-left:3px}
.tmiss summary{cursor:pointer;font-size:12.5px;color:var(--warn)}.tmiss div{font:12px var(--f-data);color:var(--ink-2);padding:6px 0 0;line-height:1.6}
.tprev{border:1px solid var(--line-2);border-radius:8px;overflow:hidden}
.tp-r{display:grid;grid-template-columns:1fr 1fr .8fr .8fr 1.2fr;gap:8px;padding:4px 10px;font:12px var(--f-data);border-top:1px solid var(--line-2)}
.tp-r:first-child{border-top:0}.tp-r.h{font:600 11px var(--f-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--panel-2)}
.tp-r.more{display:block;color:var(--muted);font-family:var(--f-ui)}.tp-r span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ist3{padding:18px;overflow:auto;display:flex;flex-direction:column;gap:18px;flex:1}
.s3hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.s3hero>div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}.s3hero>div:first-child{background:var(--sel-soft);border-color:color-mix(in srgb,var(--sel) 40%,var(--line))}
.s3hero b{display:block;font:700 30px var(--f-data);letter-spacing:-.02em}.s3hero span{font-size:12.5px;color:var(--muted)}
.s3g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.s3c{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel);display:flex;flex-direction:column;gap:8px}
.s3r{display:grid;grid-template-columns:28px 130px minmax(0,1fr);align-items:center;gap:4px 10px;padding:6px 0;border-bottom:1px solid var(--line-2)}
.s3r small{grid-column:3;font-size:12px;color:var(--muted)}
.s3i{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--panel-3);color:var(--ink-2)}.s3i svg{width:14px;height:14px}
.s3t{font-size:12.5px;color:var(--muted)}.s3v{font-size:13px;font-weight:500}
.s3w{display:flex;gap:9px;align-items:flex-start;font-size:13px;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--warn) 11%,transparent)}.s3w svg{width:15px;height:15px;flex:none;color:var(--warn);margin-top:1px}
.s3w.ok{background:color-mix(in srgb,var(--ok) 12%,transparent)}.s3w.ok svg{color:var(--ok)}
.imf b{color:var(--ink);font-family:var(--f-data)}
@media (max-width:1100px){.tcards,.s3g{grid-template-columns:minmax(0,1fr)}.s3hero{grid-template-columns:repeat(2,minmax(0,1fr))}.steps small{display:none}}
/* =====================================================================
   Дизайн v0.20: инженерная рабочая станция — графит, IBM Plex, фиолетовый акцент
   ===================================================================== */
:root{--bg:#0a0d11;--panel:#0f1318;--panel-2:#141920;--panel-3:#1b212a;--line:#242c36;--line-2:#1a2028;--ink:#e2e8ef;--ink-2:#aab4c0;--muted:#7d8896;--faint:#4f5966;
  --track:#0c1015;--grid-2:#151b22;--r:8px;--elev:0 1px 2px rgba(0,0,0,.3);--grid-dot:transparent;--shadow:0 16px 40px -12px rgba(0,0,0,.65);
  --s-oil:#d2703a;--accent:#e2563f;--accent-soft:rgba(226,86,63,.45);--accent-faint:rgba(226,86,63,.13)}
:root[data-theme="light"]{--bg:#e9ecf0;--panel:#f7f8fa;--panel-2:#eef1f4;--panel-3:#e3e7ec;--line:#d3d9e0;--line-2:#e1e5ea;--ink:#141a21;--ink-2:#3f4a56;--muted:#5f6a77;--faint:#9aa4af;
  --track:#ffffff;--grid-2:#f0f2f5;--elev:0 1px 2px rgba(20,30,45,.06);--shadow:0 16px 40px -14px rgba(20,30,45,.28);--s-oil:#b5541f;--accent:#c8412b}
@media (prefers-color-scheme: light){:root[data-theme="auto"]{--bg:#e9ecf0;--panel:#f7f8fa;--panel-2:#eef1f4;--panel-3:#e3e7ec;--line:#d3d9e0;--line-2:#e1e5ea;--ink:#141a21;--ink-2:#3f4a56;--muted:#5f6a77;--faint:#9aa4af;
  --track:#ffffff;--grid-2:#f0f2f5;--elev:0 1px 2px rgba(20,30,45,.06);--shadow:0 16px 40px -14px rgba(20,30,45,.28);--s-oil:#b5541f;--accent:#c8412b}}
body{font-family:var(--f-ui);font-feature-settings:"tnum" 0}
::selection{background:var(--sel-soft);color:var(--ink)}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--panel-3);border:3px solid transparent;background-clip:padding-box;border-radius:6px}*::-webkit-scrollbar-track{background:transparent}
.ws{background:var(--bg)}
/* каркас: колонки заданы явно — скрытые панели не сдвигают раскладку */
.app{--c1:64px;--c2:var(--exp-w,260px);--c4:var(--props-w,300px);grid-template-columns:var(--c1) var(--c2) minmax(0,1fr) var(--c4)!important;grid-template-rows:42px var(--tab-h,34px) minmax(0,1fr) 26px!important}
.app.noexp{--c2:0px}.app.noprops{--c4:0px}.app.norail{--c1:0px}.app.fsw{--c2:0px;--c4:0px}
.rail{grid-column:1}.explorer{grid-column:2}.ws{grid-column:3}.props{grid-column:4}
.app.norail .rail,.app.fsw .explorer,.app.fsw .props{display:none!important}
@media (max-width:1280px){.app{--c4:0px}}
/* верхняя строка */
.appbar{background:var(--panel);box-shadow:none;border-bottom:1px solid var(--line);gap:14px;padding:0 10px 0 12px}
.appbar .crumbs,#brandH{display:none!important}
.brand{gap:9px;cursor:default}.brand b{font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.mark{width:24px;height:24px;border-radius:6px;background:var(--panel-3)!important}
.wsp{display:flex;align-self:stretch;margin-left:6px}
.wsp button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;padding:0 13px;color:var(--muted);font-weight:500;font-size:13px;position:relative;white-space:nowrap}
.wsp button:hover{color:var(--ink)}.wsp button:focus-visible{outline:2px solid var(--sel);outline-offset:-4px;border-radius:6px}
.wsp button[aria-current="page"]{color:var(--ink)}
.wsp button[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--sel);border-radius:2px 2px 0 0}
.wsp button[aria-current="page"] svg{color:var(--sel)}
.wsp kbd{font:500 10.5px var(--f-data);color:var(--faint)}
.cmdbtn{height:28px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line)}
.btn{border-radius:6px}
/* вкладки */
.tabbar{background:var(--bg);border-bottom:1px solid var(--line);gap:0;padding:0 0 0 4px}
/* рейка разделов пространства */
.rail{background:var(--panel);padding:6px 0;gap:2px;border-right:1px solid var(--line)}
.rail .railbtn,.rail>.sep{display:none}
.railT{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);text-align:center;padding:6px 2px 8px;border-bottom:1px solid var(--line-2);margin-bottom:4px}
.rail a{border-radius:8px;margin:0 6px;padding:8px 2px 7px;font-size:11px}
.rail a[hidden]{display:none!important}
.rail a[aria-current="page"]{background:var(--sel-soft)}
.rail a[aria-current="page"]::before{display:none}
/* панели и шапки */
.explorer,.props{background:var(--panel)}
.pn{border-radius:8px;box-shadow:none;border-color:var(--line)}
.status{background:var(--panel);font-size:11.5px}
/* ---- рабочее место прогноза ---- */
.fcw{position:absolute;inset:0;display:grid;grid-template-columns:288px minmax(0,1fr) 340px;min-height:0;background:var(--bg)}
.fcw[hidden]{display:none}
.fw-l,.fw-r{background:var(--panel);min-height:0;display:flex;flex-direction:column}
.fw-l{border-right:1px solid var(--line)}.fw-r{border-left:1px solid var(--line);overflow:auto}
.fph{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-bottom:1px solid var(--line-2);flex:none}
.fph h2{margin:0;font-size:12px;font-weight:600;color:var(--ink-2)}.fph .c{font:500 11.5px var(--f-data);color:var(--muted)}
.fw-f{padding:10px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line-2)}
.fwseg{display:grid!important;grid-template-columns:repeat(2,1fr)}
.fwseg button{font-size:12px;justify-content:space-between;display:flex!important}.fwseg button b{font:500 11px var(--f-data);color:var(--faint)}
.fwlist{flex:1;min-height:0;border:0}
.fwlist .vt-td{align-items:center}
.fwn{font:500 12.5px var(--f-data)}.fws{font-size:11.5px;color:var(--muted)}.fwraw{margin-left:6px;font-size:10.5px;padding:0 5px;border-radius:4px;background:var(--sel-soft);color:var(--link)}
.fwlist .vt-tr.on,.fwq .vt-tr.on{background:var(--sel-soft)}
.btn.primary{background:var(--primary)!important;box-shadow:none}
.fw-lg{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 12px;border-top:1px solid var(--line-2);font-size:11.5px;color:var(--muted)}
.fw-lg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.fw-c{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 230px;min-width:0;min-height:0}
.fw-h{display:flex;align-items:center;gap:22px;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}
.fw-id h1{margin:0;font:600 20px var(--f-data);letter-spacing:-.02em}.fw-id .sub{font-size:12px;color:var(--muted);white-space:nowrap}
.fw-facts{display:flex}.fw-facts>div{padding:0 16px;border-left:1px solid var(--line);white-space:nowrap}
.fw-facts b{display:block;font:600 15px var(--f-data)}.fw-facts span{font-size:11.5px;color:var(--muted)}
.fw-facts .o b{color:var(--s-oil)}.fw-facts .w b{color:var(--s-water)}.fw-facts .u b{color:var(--s-unclear)}
.fw-tool{display:flex;gap:4px;margin-left:auto}
.fw-p{position:relative;min-height:0;overflow:hidden}
.fw-p canvas{position:absolute;inset:0;cursor:crosshair}
.fw-ro{position:absolute;pointer-events:none;z-index:2;background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:6px 9px;font:11.5px var(--f-data);display:grid;grid-template-columns:auto auto;gap:1px 12px;backdrop-filter:blur(6px)}
.fw-ro .k{color:var(--muted);font-family:var(--f-ui)}.fw-ro .h{grid-column:1/-1;font-weight:600;margin-bottom:2px}
.fw-d{border-top:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-height:0}
.fw-dt{display:flex;height:34px;align-items:stretch;border-bottom:1px solid var(--line-2);padding:0 6px;flex:none}
.fw-dt button{all:unset;cursor:pointer;padding:0 12px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12.5px;position:relative}
.fw-dt button:hover{color:var(--ink)}
.fw-dt button[aria-pressed="true"]{color:var(--ink)}.fw-dt button[aria-pressed="true"]::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--sel)}
.fw-dt .n{font:500 11px var(--f-data);background:var(--panel-3);color:var(--ink-2);padding:0 6px;border-radius:9px}
.fw-dt .hint{margin-left:auto;align-self:center;font-size:11.5px;color:var(--faint);padding-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fwq{flex:1;min-height:0;border:0}.fwq[hidden]{display:none}
.fwq .vt-tr.done{opacity:.5}
.fwc{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.fwc i{width:8px;height:8px;border-radius:2px;display:inline-block}
.fpb{display:flex;align-items:center;gap:8px;width:100%;font-family:var(--f-data)}.fpb em{flex:1;height:5px;background:var(--panel-3);border-radius:3px;position:relative;overflow:hidden}
.fpb em i{position:absolute;inset:0 auto 0 0;background:var(--s-oil);border-radius:3px}
.fpb em::after{content:"";position:absolute;top:0;bottom:0;left:35%;width:30%;border-left:1px dashed var(--faint);border-right:1px dashed var(--faint)}
.facts2{display:flex;gap:4px}.facts2 button{all:unset;cursor:pointer;padding:1px 8px;border-radius:5px;border:1px solid var(--line);font-size:11.5px;color:var(--ink-2);line-height:18px}
.facts2 button:hover{color:var(--ink);border-color:var(--muted)}.facts2 .o:hover,.facts2 .o.on{border-color:var(--s-oil);color:var(--s-oil)}.facts2 .w:hover,.facts2 .w.on{border-color:var(--s-water);color:var(--s-water)}
.facts2 .on{background:var(--panel-3);font-weight:600}
.fsec{padding:14px 14px 16px;border-bottom:1px solid var(--line-2)}
.fsec h3{margin:0 0 10px;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.04em;display:flex;align-items:center;gap:8px}
.fsec h3 .r{margin-left:auto;font:500 11px var(--f-data);color:var(--faint);letter-spacing:0}
.fsec .note{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.5;display:block}
.flay{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.flay b{font:600 17px var(--f-data)}
.fmk{font-size:11.5px;padding:1px 7px;border-radius:4px;background:var(--panel-3);color:var(--ink-2)}
.fkv{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:6px;overflow:hidden;margin-bottom:14px}
.fkv div{background:var(--panel);padding:7px 9px}.fkv b{display:block;font:600 14px var(--f-data)}.fkv span{font-size:11px;color:var(--muted)}
.fwhy{display:flex;flex-direction:column;gap:5px}
.fwy{display:grid;grid-template-columns:128px minmax(0,1fr) 44px;gap:8px;align-items:center;font-size:12px}
.fwy span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fwy em{height:12px;position:relative;background:linear-gradient(var(--line),var(--line)) 32% 0/1px 100% no-repeat}.fwy em i{position:absolute;top:2px;bottom:2px;border-radius:2px}
.fwy small{font:11.5px var(--f-data);color:var(--muted);text-align:right}
.ffb{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.fsec>.ffb:first-child{margin-top:0}
.ffb .btn.on{border-color:var(--sel);color:var(--ink);background:var(--sel-soft)}
.ffb .sq{width:8px;height:8px;border-radius:2px;display:inline-block}
.fbars{display:flex;flex-direction:column;gap:7px}
.fbar{display:grid;grid-template-columns:104px minmax(0,1fr) 50px;gap:10px;align-items:center;font-size:12px}
.fbar span{color:var(--ink-2)}.fbar em{height:6px;background:var(--panel-3);border-radius:3px;position:relative}.fbar em i{position:absolute;inset:0 auto 0 0;border-radius:3px}
.fbar b{font:500 12px var(--f-data);text-align:right}.fbar.on span{color:var(--ink)}
.froc{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;font-size:12px;color:var(--ink-2)}.froc canvas{width:150px;height:150px}
.froc b{display:block;font:600 15px var(--f-data);color:var(--ink)}.froc>div{display:flex;flex-direction:column;gap:10px}
@media (max-width:1400px){.fcw{grid-template-columns:250px minmax(0,1fr) 310px}.fw-facts>div{padding:0 10px}}
/* ---- главное окно v0.21: вход в инженерную программу ---- */
.home{background:var(--bg)!important}
.hm-main{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;gap:40px!important;padding:4vh max(28px,4vw) 24px!important}
.hm-proj{display:flex;flex-direction:column;justify-content:center;gap:20px;max-width:680px;min-width:0}
.hm-ttl h1{margin:0;font:600 clamp(30px,3vw,42px)/1.1 var(--f-ui);letter-spacing:-.03em}
.hm-ttl p{margin:8px 0 0;font-size:14px;color:var(--ink-2)}
.hm-cta{display:flex;gap:8px;flex-wrap:wrap}.hm-cta .btn.lg{height:38px;padding:0 15px;font-size:13.5px}
.hm-cta kbd{font:500 10.5px var(--f-data);opacity:.75;border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-left:4px}
.hm-dz{margin:-8px 0 0;font-size:12.5px;color:var(--muted)}
.hm-wsl{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
.hm-wsl button{all:unset;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid var(--line-2)}
.hm-wsl button:first-child{border-top:0}
.hm-wsl button:hover{background:var(--panel-2)}.hm-wsl button:focus-visible{outline:2px solid var(--sel);outline-offset:-2px}
.hm-wsl .wi{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--panel-3);color:var(--ink-2)}
.hm-wsl button:first-child .wi{background:var(--sel-soft);color:var(--sel)}
.hm-wsl b{display:block;font-size:14px;font-weight:600}.hm-wsl small{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-wsl small b{display:inline;font-size:inherit}
.hm-wsl kbd{font:500 11px var(--f-data);color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.hm-wsl .ar,.hm-list .ar{width:15px;height:15px;color:var(--faint)}
.hm-card h2{display:flex;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;color:var(--ink-2)!important}
.hm-card h2 .r{margin-left:auto;font:500 11px var(--f-data);color:var(--faint)}
.hm-card{border-radius:10px!important;box-shadow:none!important}
.hm-list .sq{width:10px;height:10px;border-radius:2px;display:inline-block}
.hm-list .more small{color:var(--link)}
.hm-win{border-radius:10px!important;box-shadow:var(--shadow)!important}
/* ---- «Анализ» v0.21: компактные шапки, плотные панели, шапка скважины в две строки ---- */
.page{padding:14px 16px 28px!important;gap:12px!important}
.pt-ico{display:none!important}
.pt h1{font-size:17px!important;font-weight:600!important;letter-spacing:-.01em!important}
.pt p{font-size:12.5px!important;color:var(--muted)!important;margin-top:2px!important}
.pn{border-radius:8px!important}
.pn-h{min-height:38px}
.pn-h h3{font-size:12.5px;font-weight:600}
.wh{padding:10px 14px 0!important}
.wh-ico{display:none!important}
.wh h2{font:600 19px var(--f-data)!important;letter-spacing:-.02em!important;margin:0!important}
.wh-sub{font-size:12px!important;color:var(--muted)!important}
.wh-kpi{display:flex!important;gap:0!important;border-top:1px solid var(--line-2);margin:10px -14px 0!important;padding:9px 14px!important;overflow-x:auto;grid-template-columns:none!important}
.wh-kpi[hidden]{display:none!important}
.wh-kpi .kpi{padding:0 18px!important;border:0!important;border-left:1px solid var(--line)!important;background:none!important;border-radius:0!important;box-shadow:none!important;flex:none;min-width:0}
.wh-kpi .kpi:first-child{border-left:0!important;padding-left:0!important}
.wh-kpi .kpi>span{font-size:11px!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--muted)!important}
.wh-kpi .kpi b{font:600 15px var(--f-data)!important}.wh-kpi .kpi b i{font-size:11.5px;font-style:normal;color:var(--muted)}
.wh-kpi .kpi small{font-size:11.5px!important;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.wh-kpi .meter{display:none}
.wstseg button,.wstseg button[aria-pressed="true"]{font-size:12px!important;gap:6px!important;padding:3px 9px!important}
.wstseg .sdot{margin:0!important}
#wt-plot>.readout{min-height:32px;padding:5px 12px!important;font-size:12px}
.plotbar{gap:6px!important;padding:6px 10px!important;row-gap:6px!important}
.plotbar .chipt span{padding:3px 9px!important;font-size:12px!important}
#plotCopy{display:none!important}
.wh-top{padding:0 0 0!important;flex-wrap:nowrap!important;gap:16px!important}
.wh-act{flex-wrap:nowrap!important;gap:8px!important}
.wh-id{min-width:0}.wh-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#wtabs{align-items:center}
#wtabs>.readout{margin-left:auto;min-width:0;max-width:62%;border:0!important;background:none!important;padding:0 4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
#wtabs>.readout[hidden]{display:none}
.plotbar select#tplSel{max-width:150px}
.hm-ttl h1 .btn{vertical-align:middle;margin-left:8px}
#wt-plot>.readout{flex-wrap:nowrap!important;overflow:hidden;white-space:nowrap;min-height:30px!important;padding:4px 12px!important}
#wt-plot>.readout>*{flex:none}
.plotbar .vsep{display:none}
.plotbar select#tplSel{max-width:116px!important}
.plotbar .seg button{padding:3px 8px!important}
.plotbar .spacer{min-width:0!important;flex:1 1 0!important;width:auto!important}
.plotbar .chips{gap:4px!important}.plotbar .chipt span{padding:3px 8px!important}
.plotbar .zoom{gap:0}
/* ---- этап 3 v0.22: «Данные», «Отчёт», справочник ---- */
.dstrip{display:flex;align-items:center;gap:14px;padding:12px 14px!important}
.dstrip .ds-i{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--sel-soft);color:var(--sel);flex:none}
.dstrip b{display:block;font-size:13.5px}.dstrip small{display:block;font-size:12.5px;color:var(--muted)}
.dstrip .ds-b{display:flex;gap:6px;margin-left:auto;flex:none}
.rp-g{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:start}
.rp-l{display:flex;flex-direction:column}
.rp-r{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid var(--line-2)}
.rp-r:first-child{border-top:0}
.rp-i{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--panel-3);color:var(--ink-2)}
.rp-t b{display:block;font-size:13.5px;font-weight:600}.rp-t small{display:block;font-size:12.5px;color:var(--muted)}
.rp-sum{margin:0;padding:14px;font:12.5px/1.65 var(--f-data);color:var(--ink);white-space:pre-wrap}
@media (max-width:1250px){.rp-g{grid-template-columns:minmax(0,1fr)}}
#view-help .toc,#toc{position:sticky;top:12px}
/* ---- v0.23: плавность ---- */
.vt-head{backdrop-filter:none!important;background:var(--panel-2)!important}
.ws,.vt,.vlist,.fw-r,.impo,.ist2,.ist3{overscroll-behavior:contain}
/* ---- v0.23: боковые панели ---- */
.app{transition:grid-template-columns .24s cubic-bezier(.2,.8,.2,1)}
:root.nomotion .app{transition:none}
.app.noexp{--c2:30px!important}.app.noprops{--c4:30px!important}
.app.fsw{--c2:0px!important;--c4:0px!important}
.pstrip{display:none}
.app.noexp .explorer>*:not(.pstrip),.app.noprops .props>*:not(.pstrip){display:none!important}
.app.noexp .explorer>.pstrip,.app.noprops .props>.pstrip{display:flex}
.pstrip{flex-direction:column;align-items:center;gap:10px;height:100%;padding:10px 0;cursor:pointer;color:var(--muted);user-select:none}
.pstrip:hover{background:var(--panel-2);color:var(--ink)}.pstrip:focus-visible{outline:2px solid var(--sel);outline-offset:-2px}
.pstrip span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:600;letter-spacing:.04em}
.pstrip.r span{transform:none}
.pstrip b{font:500 11px var(--f-data);color:var(--faint)}
.ph2{display:flex;align-items:center;gap:8px}
.pcol{all:unset;cursor:pointer;margin-left:auto;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:var(--muted)}
.pcol:hover{background:var(--panel-3);color:var(--ink)}.pcol:focus-visible{outline:2px solid var(--sel)}
.pph{padding:0 10px 0 14px;border-bottom:1px solid var(--line-2);position:sticky;top:0;background:var(--panel);z-index:2}
/* ---- v0.23: фильтры реестра ---- */
.rfbar{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line-2);align-items:center}
.rfbar .search{width:170px}
.rfbar select{height:28px;font:12.5px var(--f-ui);background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:0 8px;max-width:190px}
.rfbar select.on{border-color:var(--sel);color:var(--ink);background:var(--sel-soft)}
/* ---- v0.23: перетаскивание дорожек ---- */
#plot{position:relative}
#plot.dragging{cursor:grabbing!important;user-select:none}
.trkghost{position:absolute;top:0;background:var(--sel-soft);border:1.5px solid var(--sel);border-radius:6px;pointer-events:none;z-index:6;box-shadow:var(--shadow)}
.trkins{position:absolute;top:0;width:3px;margin-left:-1px;background:var(--sel);border-radius:2px;pointer-events:none;z-index:7;box-shadow:0 0 0 3px var(--sel-soft)}
.foot b{color:var(--ink-2);font-weight:600}
/* ---- v0.23: «Статистика» ---- */
.stw{display:flex;flex-direction:column;gap:12px}
.st-bar{padding:10px 14px!important}
.st-ctl{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}
.st-f{display:flex;flex-direction:column;gap:4px}.st-f>span{font-size:11.5px;color:var(--muted)}.st-f>span b{color:var(--ink);font-family:var(--f-data)}
.st-f select{height:28px;font:12.5px var(--f-ui);background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 8px;max-width:260px}
.st-f input[type=range]{width:140px}
.st-z{display:flex;gap:4px;align-items:center}.st-z input{width:72px;height:28px;font:12.5px var(--f-data);background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 6px}
.st-cmp{align-self:center;margin-left:auto}
.st-g{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
.st-g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.st-notes .pn-b{font-size:12.5px;line-height:1.55;color:var(--ink-2)}.st-notes p{margin:0 0 8px}.st-notes b{color:var(--ink)}
.st-cv,.st-cv2{padding:8px 12px 4px}
@media (max-width:1350px){.st-g,.st-g2{grid-template-columns:minmax(0,1fr)}}
/* ---- v0.23: «Аналитика» ---- */
.an-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0!important}
.an-sum>div{padding:12px 16px;border-left:1px solid var(--line-2)}.an-sum>div:first-child{border-left:0}
.an-sum span{display:block;font-size:11.5px;color:var(--muted)}.an-sum b{display:block;font:600 20px var(--f-data);margin:2px 0}.an-sum b i{font-size:11.5px;font-style:normal;color:var(--muted);font-family:var(--f-ui)}.an-sum b span{display:inline;font-size:inherit}
.an-sum small{font-size:11.5px;color:var(--muted)}
.aguide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:8px;overflow:hidden}
.aguide[hidden]{display:none}
.aguide>div{background:var(--panel);padding:11px 14px;display:grid;grid-template-columns:22px 1fr;gap:2px 8px;align-content:start}
.aguide .ag-n{grid-row:1/3;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--sel-soft);color:var(--sel);font:600 11px var(--f-data)}
.aguide b{font-size:12.5px}.aguide p{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:1250px){.an-sum,.aguide{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- v0.23: горизонты ---- */
.hzchip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel-2);font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;max-width:220px}
.hzchip span{overflow:hidden;text-overflow:ellipsis}.hzchip:hover{border-color:var(--muted)}.hzchip:focus-visible{outline:2px solid var(--sel)}
.hzchip b{font:600 10.5px var(--f-data);background:var(--sel);color:var(--on-sel,#fff);border-radius:8px;padding:0 5px}
.hzchip .dd{width:13px;height:13px;color:var(--muted)}
.hzmenu{position:fixed;z-index:90;width:340px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;animation:popin .14s ease-out}
.hz-h{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted);padding:6px 8px}
.hz-r{display:flex;align-items:center;gap:2px}
.hz-r>button:first-child{all:unset;cursor:pointer;flex:1;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px}
.hz-r>button:first-child:hover{background:var(--panel-2)}.hz-r.on>button:first-child{background:var(--sel-soft)}
.hz-n{font-weight:500;font-size:13px}.hz-r .mut{margin-left:auto;font:11.5px var(--f-data)}.hz-r svg{width:14px;height:14px;color:var(--sel)}
.hz-x{all:unset;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;color:var(--muted)}.hz-x:hover{background:var(--panel-3);color:var(--ink)}
.hz-new{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line-2);margin-top:4px}
.hz-new input{flex:1;height:28px;font:12.5px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 8px}
.hz-hint{margin:0;padding:0 8px 6px;font-size:11.5px;color:var(--muted);line-height:1.45}
.hzd{display:flex;flex-wrap:wrap;gap:4px}.hzd span{font-size:12px;padding:2px 8px;border-radius:10px;background:var(--panel-3)}.hzd b{font-family:var(--f-data);margin-left:3px}
/* ---- v0.23: «вау» и верхняя строка ---- */
::view-transition-old(root),::view-transition-new(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
.wsp{position:relative}
.wsp button[aria-current="page"]::after{display:none!important}
.wsp-ind{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--sel);border-radius:2px 2px 0 0;transition:transform .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1);pointer-events:none}
:root.nomotion .wsp-ind{transition:none}
.fw-p canvas.scan{animation:fcscan .55s cubic-bezier(.2,.8,.2,1)}
.vt-tr.flash{animation:rowflash .9s ease-out}
@keyframes rowflash{0%{background:color-mix(in srgb,var(--sel) 30%,transparent)}100%{background:transparent}}
.skel{height:9px;border-radius:5px;margin-top:9px;background:linear-gradient(90deg,var(--panel-2) 0%,var(--panel-3) 50%,var(--panel-2) 100%);background-size:200% 100%;animation:shim 1.2s linear infinite}
@keyframes shim{from{background-position:200% 0}to{background-position:-200% 0}}
.home.on .hm-ttl,.home.on .hm-cta,.home.on .hm-wsl button,.home.on .hm-card,.home.on .hm-win{animation:hmin .55s cubic-bezier(.2,.8,.2,1) both}
.home.on .hm-cta{animation-delay:.05s}.home.on .hm-wsl button:nth-child(1){animation-delay:.1s}.home.on .hm-wsl button:nth-child(2){animation-delay:.14s}.home.on .hm-wsl button:nth-child(3){animation-delay:.18s}.home.on .hm-wsl button:nth-child(4){animation-delay:.22s}
.home.on .hm-win{animation-delay:.08s}.home.on .hm-card:nth-child(1){animation-delay:.26s}.home.on .hm-card:nth-child(2){animation-delay:.3s}.home.on .hm-card:nth-child(3){animation-delay:.34s}
@keyframes hmin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
:root.nomotion .home *{animation:none!important}
.btn:active{transform:translateY(.5px)}
.appbar{flex-wrap:nowrap}.appbar>*{flex-shrink:0}.appbar .acts{flex-wrap:nowrap}.menu-wrap{display:flex;flex:none}
.brand b{white-space:nowrap}
@media (max-width:1720px){.brand b{display:none}}
@media (max-width:1560px){.cmdbtn span{display:none}.cmdbtn{padding:0 8px}}
@media (max-width:1400px){.wsp kbd{display:none}.wsp button{padding:0 10px}}
.fact>span{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:500!important}
html,body{overscroll-behavior:none}
/* ---- v0.24: опробования ---- */
.tchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.tchip i{width:9px;height:9px;border-radius:2px;background:var(--c);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 35%,transparent)}
.tpop{width:420px}
.tp-row{display:flex;gap:8px}.tp-row .pf{flex:1;min-width:0}
.tpop input[type=text],.tpop input[type=number],.tpop input[type=date]{width:100%;height:30px;font:13px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 8px}
.tp-res{display:flex;flex-wrap:wrap;gap:5px}
.tp-res button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;border:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.tp-res button i{width:9px;height:9px;border-radius:2px;background:var(--c)}
.tp-res button[aria-pressed="true"]{border-color:var(--sel);background:var(--sel-soft);color:var(--ink);font-weight:600}
.tpaste{padding:10px 14px;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}.tpaste[hidden]{display:none}
.tpaste textarea{min-height:110px;font:12.5px var(--f-data);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px}
.tpaste code{font:11.5px var(--f-data);background:var(--panel-3);padding:1px 5px;border-radius:4px}
.ftests{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.ftests button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:6px;border:1px solid var(--line-2);font-size:12px}.ftests button:hover{border-color:var(--muted)}
.wnav span{white-space:nowrap}
/* =====================================================================
   Дизайн v0.30 «Лист»: «бумага» (по умолчанию) и «ночь»; холст, плавающие острова, док
   ===================================================================== */
:root{--bg:#0e1013;--panel:#171a1f;--panel-2:#1f232a;--panel-3:#272c34;--line:#2c3139;--line-2:#22262d;--ink:#eceef1;--ink-2:#b5bbc4;--muted:#8a919c;--faint:#5c636e;
  --track:#13161a;--grid-2:#181b20;--s-oil:#e07a3a;--s-water:#5b98ee;--s-unclear:#dcae47;--s-none:#3a414b;--accent:#e8603c;--accent-soft:rgba(232,96,60,.45);--accent-faint:rgba(232,96,60,.13);
  --bk:#5d9cf0;--ik:#43c383;--ngk:#eceff3;--mark:rgba(255,204,41,.22);--dot:rgba(255,255,255,.05);--r:12px;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 36px -14px rgba(0,0,0,.7);--sh2:0 30px 70px -24px rgba(0,0,0,.8);--elev:0 1px 2px rgba(0,0,0,.35);
  --f-ui:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
:root[data-theme="light"]{--bg:#e8e6e1;--panel:#ffffff;--panel-2:#f4f3ef;--panel-3:#ebe9e3;--line:#dcd8d0;--line-2:#ebe8e2;--ink:#1b1c1e;--ink-2:#44464a;--muted:#6a6d72;--faint:#a3a5a9;
  --track:#ffffff;--grid-2:#f5f4f0;--s-oil:#d2621f;--s-water:#2f6fd6;--s-unclear:#c99a12;--s-none:#d3d5d9;--accent:#e0532f;--accent-soft:rgba(224,83,47,.40);--accent-faint:rgba(224,83,47,.10);
  --bk:#2f6fd6;--ik:#14965a;--ngk:#1b1c1e;--mark:rgba(255,204,41,.36);--dot:rgba(27,28,30,.07);
  --shadow:0 1px 2px rgba(30,25,15,.06),0 10px 30px -12px rgba(30,25,15,.24);--sh2:0 24px 60px -20px rgba(30,25,15,.35);--elev:0 1px 2px rgba(30,25,15,.06)}
@media (prefers-color-scheme: light){:root[data-theme="auto"]{--bg:#e8e6e1;--panel:#ffffff;--panel-2:#f4f3ef;--panel-3:#ebe9e3;--line:#dcd8d0;--line-2:#ebe8e2;--ink:#1b1c1e;--ink-2:#44464a;--muted:#6a6d72;--faint:#a3a5a9;
  --track:#ffffff;--grid-2:#f5f4f0;--s-oil:#d2621f;--s-water:#2f6fd6;--s-unclear:#c99a12;--s-none:#d3d5d9;--accent:#e0532f;--bk:#2f6fd6;--ik:#14965a;--ngk:#1b1c1e;--mark:rgba(255,204,41,.36);--dot:rgba(27,28,30,.07);
  --shadow:0 1px 2px rgba(30,25,15,.06),0 10px 30px -12px rgba(30,25,15,.24);--sh2:0 24px 60px -20px rgba(30,25,15,.35)}}
.ws{background:var(--bg) radial-gradient(var(--dot) 1.2px,transparent 1.4px) 0 0/22px 22px!important}
.pn{border-radius:14px!important;border-color:var(--line-2)!important;box-shadow:var(--elev)}
.num,.mono{font-family:var(--f-data)}

/* ---- режим холста (рабочее место прогноза): старый каркас скрыт, всё — плавающие острова ---- */
body.cm .appbar,body.cm .rail,body.cm .explorer,body.cm .status{display:none!important}
body.cm .app{display:block!important}
body.cm .ws{position:fixed!important;inset:0!important}
body.cm:not(.propson) .props{display:none!important}
body.cm.propson .props{display:block!important;position:fixed;top:var(--top);right:16px;bottom:var(--bot);width:340px;border-radius:14px;box-shadow:var(--sh2);border:0;z-index:40;overflow:auto}
body.cm.propson .props .split{display:none}
.isl{display:none}
body.cm .isl{display:flex;position:fixed;background:var(--panel);border-radius:14px;box-shadow:var(--shadow);z-index:30;align-items:center}
.isl-tl{top:16px;left:16px;gap:12px;height:52px;padding:0 10px 0 12px}
.isl-tl .lg{width:32px;height:32px;border-radius:10px;background:var(--ink);display:grid;place-items:center;flex:none}
.isl-tl .nm b{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.isl-tl .nm small{display:block;font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}
.isl .vs{width:1px;height:26px;background:var(--line)}
.hzc{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;white-space:nowrap}.hzc:hover{background:var(--panel-2)}
.hzc small{display:block;font-size:10.5px;color:var(--faint);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.hzc b{display:block;font-size:13.5px}
.isrch{all:unset;cursor:pointer;white-space:nowrap;overflow:hidden;display:flex;align-items:center;gap:8px;width:300px;height:36px;padding:0 12px;border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:13.5px}
.isrch kbd{margin-left:auto;font:500 11px var(--f-data);color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:0 5px}
.isl-tr{top:16px;right:16px;gap:4px;height:52px;padding:0 8px}
.iib{all:unset;cursor:pointer;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--ink-2)}.iib:hover{background:var(--panel-2);color:var(--ink)}
.iib[aria-pressed="true"]{background:var(--panel-3);color:var(--ink)}
.ild{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;background:var(--ink);color:var(--panel);font-weight:700;font-size:13px}
.dock{display:none}
body.cm .dock{display:flex;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);align-items:center;gap:4px;padding:8px;background:var(--panel);border-radius:18px;box-shadow:var(--sh2);z-index:35}
.dk{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:6px 8px;border-radius:12px;font-size:11px;font-weight:700;color:var(--muted)}
.dk:hover{background:var(--panel-2);color:var(--ink)}.dk[aria-current="page"]{background:var(--ink);color:var(--panel)}
.dk.t{min-width:56px}.dk.t:hover{color:var(--sel)}
.dsep{width:1px;height:38px;background:var(--line);margin:0 6px}
.dq{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:12px;background:var(--mark);font-weight:700;font-size:13px}
.dq b{font:700 15px var(--f-data)}.dq[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--ink)}

/* ---- рабочее место прогноза на холсте ---- */
body.cm-fcw .fcw{display:flex!important;gap:22px;align-items:stretch;padding:var(--top) var(--rp,24px) var(--bot) 284px;overflow:auto hidden;background:transparent;grid-template-columns:none;transition:padding .3s cubic-bezier(.2,.8,.2,1)}
body.cm-fcw .fcw.noinsp{--rp:24px}
body.cm-fcw .fcw:not(.noinsp){--rp:380px}
body.cm-fcw .fw-l{position:fixed;top:var(--top);left:16px;width:252px;bottom:var(--bot);border:0;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;z-index:20;background:var(--panel)}
body.cm-fcw .fw-c{flex:none;width:var(--mw,min(900px,calc(100vw - 720px)));min-width:620px;background:var(--panel);border-radius:14px;box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr);overflow:hidden}
body.cm-fcw .fw-h{background:transparent;border-bottom:1px solid var(--line-2);padding:16px 18px 12px}
body.cm-fcw .fw-id h1{font:700 26px var(--f-data);letter-spacing:-.03em}
body.cm-fcw .fw-facts>div{border-left:1px solid var(--line-2)}
body.cm-fcw .fw-facts>div>span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
body.cm-fcw .fw-h{flex-wrap:nowrap!important;gap:16px!important}
body.cm-fcw .fw-id{flex:none}
body.cm-fcw .fw-facts{flex:1;min-width:0;overflow:hidden;flex-wrap:nowrap}
body.cm-fcw .fw-facts>div{flex:none}
body.cm-fcw .fw-tool{flex:none;margin-left:0;gap:4px;padding:3px;border-radius:12px;background:var(--panel-2)}
body.cm-fcw .fw-tool .btn{width:34px;height:34px;border:0!important;background:transparent;border-radius:9px;color:var(--ink-2)}
body.cm-fcw .fw-tool .btn:hover{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px rgba(30,25,15,.12)}
@media (max-width:1500px){body.cm-fcw .fw-facts>div:nth-child(4){display:none}}
body.cm-fcw .fw-facts .o b,body.cm-fcw .fw-facts .o b span{color:var(--s-oil)!important}body.cm-fcw .fw-facts .w b,body.cm-fcw .fw-facts .w b span{color:var(--s-water)!important}body.cm-fcw .fw-facts .u b,body.cm-fcw .fw-facts .u b span{color:var(--s-unclear)!important}
body.cm-fcw .fw-p{margin:6px 8px 8px}
body.cm-fcw .fw-r{position:fixed;top:var(--top);right:16px;width:350px;bottom:var(--bot);border:0;border-radius:14px;box-shadow:var(--shadow);z-index:20;background:var(--panel);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .2s}
body.cm-fcw .fcw.noinsp .fw-r{transform:translateX(390px);opacity:0;pointer-events:none}
body.cm-fcw .fw-d{position:fixed;left:50%;bottom:var(--bot);width:min(1040px,calc(100vw - 80px));height:min(380px,48vh);transform:translate(-50%,16px);opacity:0;pointer-events:none;border:0;border-radius:14px;box-shadow:var(--sh2);z-index:34;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s;background:var(--panel)}
body.cm-fcw .fcw.qopen .fw-d{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.fw-x{all:unset;cursor:pointer;position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--muted)}
body.cm-fcw .fw-r .fsec:first-of-type h3{padding-right:36px}
body.cm-fcw .fwseg button{font-size:12px!important;gap:6px}.fw-x:hover{background:var(--panel-2);color:var(--ink)}
.fw-minis{display:none}
body.cm-fcw .fw-minis{display:flex;gap:22px;flex:none}
.fwm{width:290px;flex:none;background:var(--panel);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;cursor:pointer;transition:transform .2s,box-shadow .2s}
.fwm:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
.fwm-h{display:flex;align-items:baseline;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--line-2)}
.fwm-h b{font:700 18px var(--f-data);letter-spacing:-.02em}.fwm-h small{font-size:11.5px;color:var(--muted)}.fwm-h em{margin-left:auto;font:600 13px var(--f-data);font-style:normal;color:var(--s-oil)}
.fwm-p{position:relative;flex:1;min-height:0;margin:6px 8px 8px}.fwm-p canvas{position:absolute;inset:0}
/* ---- «Лист» во всех разделах ---- */

body.cm .page>.pt{min-height:0}
body.cm #wt-plot>.readout{position:sticky;top:0}
body.cm.cm-exp .page{--pl:296px}
body.cm.cm-exp .explorer{display:flex!important;position:fixed;top:var(--top);left:16px;width:264px;bottom:var(--bot);border:0;border-radius:14px;box-shadow:var(--shadow);z-index:20;background:var(--panel);overflow:hidden}
body.cm .explorer .split{display:none}
body.cm .welcome{padding-top:84px}
.dsub{display:flex;gap:2px;padding:3px;margin:0 6px 0 2px;border-radius:12px;background:var(--panel-2)}
.dsub button{all:unset;cursor:pointer;padding:9px 12px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.dsub button:hover{background:var(--panel)}.dsub button[aria-current="page"]{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px rgba(30,25,15,.12)}
#dockNav{display:flex;align-items:center;gap:4px}
.fc-only{display:none!important}
body.cm-fcw .fc-only{display:flex!important}
body.cm-fcw .dsep.fc-only{display:block!important}
.isl-tr .iib b{position:absolute;top:3px;right:2px;font:700 10px var(--f-data);background:var(--ink);color:var(--panel);border-radius:8px;padding:0 4px;line-height:14px}
.isl-tr .iib{position:relative}.isl-tr .iib.warn{color:var(--accent)}
.imenu{position:fixed;z-index:60;background:var(--panel);border-radius:12px;box-shadow:var(--sh2);padding:6px;min-width:240px;display:flex;flex-direction:column}
.imenu[hidden]{display:none}
.imenu button{all:unset;cursor:pointer;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:600}.imenu button:hover{background:var(--panel-2)}
.imenu small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.ime{all:unset;cursor:pointer;display:flex;align-items:center;gap:9px;padding:5px 10px 5px 6px;border-radius:10px}.ime:hover{background:var(--panel-2)}
.ime .av{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.ime .mt b{display:block;font-size:13px;line-height:1.2;white-space:nowrap}.ime .mt small{display:block;font-size:11.5px;color:var(--muted);line-height:1.2;white-space:nowrap}
.profm{position:fixed;top:76px;right:16px;width:380px;max-height:calc(100vh - 100px);overflow:auto;z-index:60;background:var(--panel);border-radius:14px;box-shadow:var(--sh2);padding:16px;display:flex;flex-direction:column;gap:12px}
.profm[hidden]{display:none}
.profm h4{margin:4px 0 0;font-size:11px;font-weight:800;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.pm-name{display:flex;flex-direction:column;gap:4px}.pm-name span{font-size:11px;font-weight:800;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.profm input{height:34px;font:13.5px var(--f-ui);background:var(--panel-2);color:var(--ink);border:1px solid var(--line-2);border-radius:9px;padding:0 10px}
.pm-list{display:flex;flex-direction:column;gap:6px}.pm-r{display:flex;align-items:center;gap:4px}
.pm-p{all:unset;cursor:pointer;flex:1;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:10px;border-radius:12px;border:1px solid var(--line-2)}
.pm-p:hover{background:var(--panel-2)}.pm-p[aria-pressed="true"]{border-color:var(--ink);background:var(--panel-2)}
.pm-p i{width:34px;height:34px;border-radius:10px;background:var(--panel-3);display:grid;place-items:center;font-style:normal;font-weight:800}
.pm-p[aria-pressed="true"] i{background:var(--ink);color:var(--panel)}
.pm-p b{display:block;font-size:13.5px}.pm-p small{display:block;font-size:12px;color:var(--muted)}
.pm-dirty{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px;border-radius:10px;background:var(--mark);font-size:12.5px}.pm-dirty span{flex-basis:100%}
.pm-new{display:flex;gap:6px}.pm-new input{flex:1}
.pm-f{display:flex;gap:4px;align-items:center}
.iib.sm{width:28px;height:28px}
body.cm-fcw .fcw.nominis .fw-c{width:calc(100vw - 700px)!important}
body.cm-fcw .fcw.nominis.noinsp .fw-c{width:calc(100vw - 320px)!important}
.uid .lbl,#uiBody .lbl{font-size:12px;color:var(--muted);margin-bottom:6px}
.fcw[hidden]{display:none!important}
body.cm .page[hidden]{display:none!important}
/* ---- главное окно v0.32: «стол специалиста» ---- */
.appico{display:inline-block;width:32px;height:32px;border-radius:9px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cdefs%3E %3ClinearGradient id=%22tile%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23fbf8f1%22/%3E%3Cstop offset=%221%22 stop-color=%22%23e9e1cf%22/%3E%3C/linearGradient%3E %3ClinearGradient id=%22ink%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%232a2f3d%22/%3E%3Cstop offset=%221%22 stop-color=%22%2314171f%22/%3E%3C/linearGradient%3E %3ClinearGradient id=%22oil%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23ffa646%22/%3E%3Cstop offset=%221%22 stop-color=%22%23e2502c%22/%3E%3C/linearGradient%3E %3ClinearGradient id=%22wat%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%233a7ee6%22/%3E%3Cstop offset=%221%22 stop-color=%22%231f4fae%22/%3E%3C/linearGradient%3E %3CclipPath id=%22dc%22%3E%3Cpath d=%22M256 84 C232 130 128 222 128 318 A128 128 0 0 0 384 318 C384 222 280 130 256 84 Z%22/%3E%3C/clipPath%3E %3Cfilter id=%22sh%22 x=%22-30%25%22 y=%22-30%25%22 width=%22160%25%22 height=%22160%25%22%3E%3CfeDropShadow dx=%220%22 dy=%2218%22 stdDeviation=%2218%22 flood-color=%22%235a4320%22 flood-opacity=%22.28%22/%3E%3C/filter%3E%3C/defs%3E%3Crect x=%2216%22 y=%2216%22 width=%22480%22 height=%22480%22 rx=%22112%22 fill=%22url(%23tile)%22/%3E%3Crect x=%2217.5%22 y=%2217.5%22 width=%22477%22 height=%22477%22 rx=%22110.5%22 fill=%22none%22 stroke=%22%23000%22 stroke-opacity=%22.06%22 stroke-width=%223%22/%3E%3Cg transform=%22translate(256 278) scale(1.13) translate(-256 -278)%22%3E%3Cg filter=%22url(%23sh)%22%3E%3Cpath d=%22M256 84 C232 130 128 222 128 318 A128 128 0 0 0 384 318 C384 222 280 130 256 84 Z%22 fill=%22url(%23ink)%22/%3E%3C/g%3E%3Cg clip-path=%22url(%23dc)%22%3E %3Crect x=%22100%22 y=%22250%22 width=%22312%22 height=%2288%22 fill=%22url(%23oil)%22/%3E %3Crect x=%22100%22 y=%22244%22 width=%22312%22 height=%228%22 fill=%22%23ffd23f%22/%3E %3Crect x=%22100%22 y=%22338%22 width=%22312%22 height=%228%22 fill=%22%2314171f%22 opacity=%22.55%22/%3E %3Crect x=%22100%22 y=%22346%22 width=%22312%22 height=%22120%22 fill=%22url(%23wat)%22/%3E %3Crect x=%22100%22 y=%22394%22 width=%22312%22 height=%225%22 fill=%22%2314171f%22 opacity=%22.35%22/%3E %3Cpath d=%22M100 186h312M100 214h312%22 stroke=%22%23fff%22 stroke-opacity=%22.07%22 stroke-width=%223%22/%3E %3Cpath d=%22M250.0 100 L253.6 104 L256.8 108 L259.5 112 L261.4 116 L262.4 120 L262.5 124 L261.8 128 L260.5 132 L258.8 136 L257.1 140 L255.5 144 L254.3 148 L253.6 152 L253.5 156 L254.0 160 L254.9 164 L255.9 168 L257.0 172 L257.7 176 L257.8 180 L257.3 184 L255.9 188 L253.8 192 L251.0 196 L247.8 200 L244.4 204 L241.1 208 L238.3 212 L236.2 216 L234.9 220 L234.6 224 L235.3 228 L236.9 232 L239.1 236 L241.7 240 L244.6 244 L247.5 248 L250.5 252 L253.5 256 L256.7 260 L260.5 264 L265.1 268 L271.0 272 L278.2 276 L286.5 280 L295.7 284 L304.9 288 L313.2 292 L319.8 296 L323.9 300 L325.0 304 L323.1 308 L318.6 312 L312.1 316 L304.2 320 L295.7 324 L287.3 328 L279.2 332 L271.8 336 L265.1 340 L259.4 344 L254.5 348 L250.6 352 L247.7 356 L245.7 360 L244.7 364 L244.4 368 L244.8 372 L245.6 376 L246.5 380 L247.2 384 L247.6 388 L247.5 392 L246.8 396 L245.4 400 L243.7 404 L241.6 408 L239.6 412 L237.8 416 L236.6 420 L236.1 424 L236.5 428 L237.8 432 L240.0 436 L243.0 440 L246.4 444 L249.9 448%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%2210%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E %3Cellipse cx=%22206%22 cy=%22196%22 rx=%2222%22 ry=%2244%22 fill=%22%23fff%22 opacity=%22.10%22 transform=%22rotate(28 206 196)%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;flex:none}
.appico.sm{width:30px;height:30px}.appico.lg{width:96px;height:96px;border-radius:22px}
.home.h3{background:var(--bg) radial-gradient(var(--dot) 1.2px,transparent 1.4px) 0 0/22px 22px!important;display:flex;flex-direction:column;gap:22px;padding:18px max(28px,3.5vw) 16px;overflow:auto}
.h3-top{display:flex;align-items:center;gap:12px}
.h3-brand{display:flex;align-items:center;gap:10px}.h3-brand b{font-size:15px;font-weight:800;letter-spacing:-.01em}.h3-brand small{font:500 12px var(--f-data);color:var(--faint)}
.h3-me{all:unset;cursor:pointer;display:flex;align-items:center;gap:9px;padding:5px 12px 5px 6px;border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}
.h3-me .av{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-weight:800;font-size:13px}
.h3-me b{display:block;font-size:13px;line-height:1.2}.h3-me small{display:block;font-size:11.5px;color:var(--muted)}
.h3-x{all:unset;cursor:pointer;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--panel);box-shadow:var(--shadow);color:var(--ink-2)}.h3-x:hover{color:var(--ink)}
.h3-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;min-height:min(440px,46vh)}
.h3-hero{display:flex;flex-direction:column;gap:14px;max-width:760px}
.h3-hi{margin:0;font-size:15px;font-weight:700;color:var(--muted)}
.h3-hero h1{margin:0;font:800 clamp(44px,5vw,76px)/.98 var(--f-ui);letter-spacing:-.045em;color:var(--ink)}
.h3-hero h1 span{display:block;color:var(--faint);font-weight:700}
.h3-line{margin:2px 0 0;font-size:15px;color:var(--ink-2)}.h3-line b{background:var(--mark);padding:0 4px;border-radius:4px;font-weight:700}
.h3-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.h3-go{all:unset;cursor:pointer;display:flex;align-items:center;gap:14px;height:52px;padding:0 22px;border-radius:14px;background:var(--ink);color:var(--panel);font-size:15.5px;font-weight:800;box-shadow:0 14px 30px -14px rgba(20,20,20,.55);transition:transform .15s}
.h3-go:hover{transform:translateY(-1px)}.h3-go kbd{font:600 11px var(--f-data);opacity:.6;border:1px solid currentColor;border-radius:5px;padding:1px 6px}
.h3-b{all:unset;cursor:pointer;display:flex;align-items:center;gap:9px;height:52px;padding:0 18px;border-radius:14px;background:var(--panel);box-shadow:var(--shadow);font-size:14px;font-weight:700}.h3-b:hover{background:var(--panel-2)}
.h3-b[hidden]{display:none}
.h3-dz{margin:0;font-size:13px;color:var(--faint)}
.h3-fan{position:relative;height:min(420px,44vh);margin-bottom:26px}
.h3-sheet{position:absolute;top:6px;bottom:18px;width:min(260px,22vw);left:calc(50% - min(130px,11vw));background:var(--panel);border-radius:16px;box-shadow:var(--sh2);display:flex;flex-direction:column;cursor:pointer;
  transform:translateX(calc((var(--i) - 1.5) * min(150px,11vw))) rotate(calc((var(--i) - 1.5) * 4deg)) translateY(calc(var(--i) * var(--i) * 3px));transform-origin:50% 120%;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .2s;z-index:calc(10 - var(--i))}
.h3-sheet:first-child{z-index:20}
.h3-fan:hover .h3-sheet{transform:translateX(calc((var(--i) - 1.5) * min(178px,13vw))) rotate(calc((var(--i) - 1.5) * 2deg))}
.h3-sheet:hover{z-index:30!important;box-shadow:0 30px 70px -20px rgba(30,25,15,.5)}
.h3-fan .h3-sheet:hover{transform:translateX(calc((var(--i) - 1.5) * min(178px,13vw))) translateY(-14px)!important}
.h3-sheet header{padding:12px 14px 9px;border-bottom:1px solid var(--line-2)}.h3-sheet header b{font:700 18px var(--f-data);letter-spacing:-.02em}
.h3-sheet header small{display:block;font-size:11.5px;color:var(--muted)}.h3-sheet header em{display:inline-block;margin-top:5px;font:600 12px var(--f-data);font-style:normal;background:var(--mark);padding:1px 6px;border-radius:4px}
.h3-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted)}
.h3-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.h3-n{all:unset;cursor:pointer;display:flex;flex-direction:column;padding:16px 18px;border-radius:16px;background:var(--panel);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.h3-n:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
.h3-n b{font:700 34px var(--f-data);letter-spacing:-.04em;line-height:1.05}.h3-n b i{font-size:18px;font-style:normal;color:var(--muted)}
.h3-n span{font-size:13.5px;font-weight:700;margin-top:2px}.h3-n small{font-size:12px;color:var(--muted)}
.h3-n.hot b{color:var(--accent)}.h3-n.mark b{background:var(--mark);align-self:flex-start;padding:0 8px;border-radius:8px}
.h3-low{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.h3-card{background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.h3-card h2{margin:0;display:flex;align-items:baseline;gap:8px;font-size:14px;font-weight:800}.h3-card h2 span{margin-left:auto;font:500 11.5px var(--f-data);color:var(--faint)}
.h3-list,.h3-ws{display:flex;flex-direction:column;gap:2px}
.h3-list button,.h3-ws button{all:unset;cursor:pointer;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:9px}
.h3-list button:hover,.h3-ws button:hover{background:var(--panel-2)}
.h3-list .tic,.h3-ws .tic{width:28px;height:28px;border-radius:8px;background:var(--panel-2);display:grid;place-items:center;color:var(--ink-2)}.h3-list .tic svg,.h3-ws .tic svg{width:15px;height:15px}
.h3-list b,.h3-ws b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h3-list small,.h3-ws small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h3-ws kbd{font:500 11px var(--f-data);color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:0 5px}
.h3-list .ar{width:15px;height:15px;color:var(--faint)}.h3-list .sq{width:10px;height:10px;border-radius:3px;display:inline-block}.h3-list .more small{color:var(--sel)}
.h3-f{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--faint);margin-top:auto}
.home.on .h3-hero>*,.home.on .h3-n,.home.on .h3-card{animation:hmin .6s cubic-bezier(.2,.8,.2,1) both}
.home.on .h3-hero>:nth-child(2){animation-delay:.04s}.home.on .h3-hero>:nth-child(3){animation-delay:.08s}.home.on .h3-hero>:nth-child(4){animation-delay:.12s}
.home.on .h3-n:nth-child(1){animation-delay:.16s}.home.on .h3-n:nth-child(2){animation-delay:.19s}.home.on .h3-n:nth-child(3){animation-delay:.22s}.home.on .h3-n:nth-child(4){animation-delay:.25s}.home.on .h3-n:nth-child(5){animation-delay:.28s}
.home.on .h3-card:nth-child(1){animation-delay:.3s}.home.on .h3-card:nth-child(2){animation-delay:.33s}.home.on .h3-card:nth-child(3){animation-delay:.36s}
.home.on .h3-sheet{animation:fanin .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.1s + var(--i) * .07s)}
@keyframes fanin{from{opacity:0;transform:translateY(40px) rotate(0)}}
@media (max-width:1300px){.h3-nums{grid-template-columns:repeat(3,minmax(0,1fr))}.h3-low{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.h3-low .h3-card:last-child{display:none}}
/* =====================================================================
   v0.33 Рамка приложения: окно не прокручивается, каждый раздел — по размеру экрана; листаются только таблицы и панели
   ===================================================================== */
body.cm{--top:126px;--bot:100px}
body.cm .ws{overflow:hidden!important}
body.cm .page{position:absolute!important;inset:0;height:100%;overflow:hidden;display:flex!important;flex-direction:column;gap:12px;padding:var(--top) 24px var(--bot) var(--pl,24px)!important;animation:none}
body.cm .page[hidden]{display:none!important}
body.cm .page>*{flex:none;min-height:0}
body.cm .page>.pt h1{font-size:20px!important;font-weight:800!important;letter-spacing:-.02em!important}
body.cm .page>.pt p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110ch}
body.cm .vt.tall{max-height:none!important;min-height:0}
.flexcol{display:flex;flex-direction:column;min-height:0}
/* строка вкладок — плавающие «листы» под верхними островами */
body.cm .tabbar{display:flex!important;position:fixed;top:78px;left:16px;right:16px;height:38px;z-index:24;background:transparent!important;border:0!important;padding:0!important;gap:6px;align-items:center}
body.cm .tabs-scroll{padding:4px 2px;gap:6px;align-items:center;-webkit-mask-image:none;mask-image:none}
body.cm .tab{flex:0 1 220px;min-width:120px;height:32px;border-radius:10px!important;border:0!important;background:color-mix(in srgb,var(--panel) 55%,transparent);color:var(--muted);box-shadow:none;margin:0!important;transition:background .15s,box-shadow .15s}
body.cm .tab::after,body.cm .tab::before{display:none!important}
body.cm .tab:hover{background:var(--panel);color:var(--ink)}
body.cm .tab.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow);height:32px}
body.cm .tab.on .tt b{font-weight:800}
body.cm .tab.on .tic{color:var(--ink)}
body.cm .tab.pin{flex:0 0 40px;min-width:40px;justify-content:center;padding:0}
body.cm .tab.drop-l{box-shadow:inset 3px 0 0 var(--sel)}body.cm .tab.drop-r{box-shadow:inset -3px 0 0 var(--sel)}
body.cm .tbtn{margin:0;height:32px;width:32px;justify-content:center;border-radius:10px;background:color-mix(in srgb,var(--panel) 55%,transparent)}
body.cm .tbtn:hover{background:var(--panel)}
body.cm #tabsAll{width:auto;padding:0 10px}
/* Сводка */
.sumg{display:grid;flex:1!important;min-height:0;gap:12px;grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(300px,380px);grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"f c s" "a c p"}
.sumg>.pn{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.sg-f{grid-area:f}.sg-c{grid-area:c}.sg-s{grid-area:s}.sg-a{grid-area:a}.sg-p{grid-area:p}
.sumg .facts{display:grid!important;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;padding:0!important}
.sumg .facts .fact{border-right:1px solid var(--line-2)!important;border-bottom:1px solid var(--line-2)!important;display:flex;flex-direction:column;justify-content:center;padding:14px 16px}
.sumg .facts .fact b{font-size:28px!important}
.sumg .sg-c .vt{flex:1;min-height:0}
.sumg .sg-s .steps{display:flex!important;flex-direction:column;overflow:auto;flex:1;padding:4px 0}
.sumg .sg-s .steps>*{border:0!important;border-bottom:1px solid var(--line-2)!important;padding:9px 14px!important;flex:none!important;min-width:0}
.sumg .sg-a .list,.sumg .sg-p>div:last-child{flex:1;min-height:0;overflow:auto}
/* Данные */
.datg{display:grid;flex:1!important;min-height:0;gap:12px;grid-template-columns:minmax(330px,380px) minmax(0,1fr)}
.datl{display:flex;flex-direction:column;gap:12px;overflow:auto;min-height:0;padding:2px 4px 2px 2px}
.datl>.pn{flex:none}
.datr{display:flex;flex-direction:column;min-height:0}
.datr>.pn{flex:1;display:flex;flex-direction:column;min-height:0}
.datr .dlgrid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
.datr #dataTable{max-height:none!important;min-height:0}
.datr .dlside{border-left:0!important;border-top:1px solid var(--line-2);display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:4px 16px;align-items:start}
.datr .dlside>.lbl2{grid-row:1}.datr .dlside>.hint{grid-row:1/3;grid-column:3}
.datr .pn-h{flex-wrap:wrap;row-gap:8px}
.datl .dstrip{flex-direction:column;align-items:stretch!important;gap:12px!important;padding:18px!important;border:1.5px dashed var(--line)!important;box-shadow:none!important;background:color-mix(in srgb,var(--panel) 70%,transparent)!important}
.datl .dstrip .ds-i{width:46px;height:46px}.datl .dstrip .ds-b{margin:0!important;flex-wrap:wrap}
.datl .dstrip .ds-b .btn{flex:1;justify-content:center}.datl .dstrip .ds-b .btn.primary{flex-basis:100%}
.datl .kit{display:flex!important;flex-direction:column}.datl .kit>*{border-right:0!important;border-bottom:1px solid var(--line-2)}
.datl .pn-h .sub{display:none}
.datl #nPaste{min-height:44px}
.datl .pn-b .lead{font-size:12.5px}
/* Аналитика */
.ang{display:grid;flex:1!important;min-height:0;gap:12px;grid-template-columns:minmax(260px,300px) minmax(0,1fr)}
.ang-l{display:flex;flex-direction:column;overflow:auto;min-height:0}
.atnav{display:flex;flex-direction:column;padding:8px;gap:2px;border-bottom:1px solid var(--line-2)}
.atnav button{all:unset;cursor:pointer;padding:10px 12px;border-radius:10px;font-weight:700;font-size:13.5px;color:var(--ink-2)}
.atnav button small{display:block;font-weight:500;font-size:12px;color:var(--muted);margin-top:2px}
.atnav button:hover{background:var(--panel-2)}
.atnav button[aria-selected="true"]{background:var(--ink);color:var(--panel)}.atnav button[aria-selected="true"] small{color:color-mix(in srgb,var(--panel) 70%,transparent)}
.ang .aguide{display:flex!important;flex-direction:column;gap:0;border:0;border-radius:0;background:none}
.ang .aguide>div{border-bottom:1px solid var(--line-2);padding:12px 14px}
.ang-r{min-height:0;display:flex;flex-direction:column;overflow:auto}
.ang-r>*{flex:none}
.ang-r>#at-sep{flex:1;min-height:0}
.ang-r>#at-wells{flex:1;display:flex;flex-direction:column}.ang-r #welltable{flex:1;min-height:0}
/* Реестр, кандидаты, корреляция, отчёт, справочник, модель */
#view-wells>section.pn,#view-cand>section.pn,#view-corr>section.pn{flex:1!important;display:flex;flex-direction:column;min-height:0}
#view-wells #regtable,#view-cand #alltable{flex:1;min-height:0}
#view-corr #corr{flex:1;min-height:0;overflow:auto}
body.cm #view-report .rp-g{flex:1;min-height:0}body.cm #view-report .rp-g>.pn{max-height:100%;overflow:auto}
body.cm #view-help .help{flex:1;min-height:0;align-items:stretch}body.cm #view-help #toc{max-height:100%;overflow:auto;position:static}body.cm #view-help #art{max-height:100%;overflow:auto}
body.cm #view-fc #fc-finds,body.cm #view-fc #fc-wells,body.cm #view-fc #fc-quality,body.cm #view-fc #fc-base{flex:1;min-height:0;overflow:auto}
body.cm #view-fc #fc-finds,body.cm #view-fc #fc-wells{display:flex;flex-direction:column;overflow:hidden}
body.cm #view-fc #fcFindsTable,body.cm #view-fc #fcWellsTable{flex:1;min-height:0}
/* Скважина: шапка на месте, планшет листается в своём окне */
body.cm #view-well>#wt-plot{flex:1!important;display:flex;flex-direction:column;min-height:0;overflow:hidden}
body.cm #view-well>#wt-plot>.plotgrid{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
body.cm #view-well>#wt-plot .mini{position:sticky;top:0}
body.cm #view-well>#wt-norm,body.cm #view-well>#wt-iv,body.cm #view-well>#wt-stat,body.cm #view-well>#wt-tests,body.cm #view-well>#wt-notes{flex:1!important;min-height:0;overflow:auto}
body.cm #view-well>#wt-iv{display:flex;flex-direction:column;overflow:hidden}body.cm #view-well #ivtable{flex:1;min-height:0}
body.cm #view-well>#wt-plot>.foot{display:none}
/* ---- реестр v0.33: фильтры-чипы ---- */
.rbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-2)}
.rbar .rq{width:220px}
.rchips{display:flex;flex-wrap:wrap;gap:6px}
.rchip{display:inline-flex;align-items:center;border-radius:20px;background:var(--panel-2);font-size:12.5px;overflow:hidden}
.rchip>button{all:unset;cursor:pointer;padding:5px 10px}.rchip>button:hover{background:var(--panel-3)}
.rchip.on{background:var(--ink);color:var(--panel)}.rchip.on>button:hover{background:color-mix(in srgb,var(--panel) 15%,transparent)}
.rchip.on span{opacity:.7}.rchip .rx{padding:5px 8px 5px 2px;display:grid;place-items:center}.rchip .rx svg{width:13px;height:13px}
.rchip.pre{background:var(--mark)}
.rpres{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px}.rpres:empty{display:none}.rpres:not(:empty){padding:8px 14px 0}
.rplus{border-style:dashed!important}
.rmenu{position:fixed;z-index:70;background:var(--panel);border-radius:12px;box-shadow:var(--sh2);padding:6px;display:flex;flex-direction:column;min-width:230px}
.rmenu[hidden]{display:none}
.rmenu button{all:unset;cursor:pointer;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600}.rmenu button:hover{background:var(--panel-2)}
.rmenu .sep{height:1px;background:var(--line-2);margin:4px 6px}
.rmenu label{display:flex;gap:9px;align-items:center;padding:6px 10px;border-radius:8px;font-size:13px;cursor:pointer}.rmenu label:hover{background:var(--panel-2)}
.rpop{position:fixed;z-index:71;width:320px;background:var(--panel);border-radius:14px;box-shadow:var(--sh2);padding:12px;display:flex;flex-direction:column;gap:10px}
.rpop[hidden]{display:none}
.rp-h{display:flex;align-items:center;gap:8px}.rp-h b{font-size:14px;font-weight:800;flex:1}
.rp-l{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:1px}
.rp-l label{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;font-size:13px;cursor:pointer}
.rp-l label:hover{background:var(--panel-2)}.rp-l small{font:12px var(--f-data);color:var(--muted)}
.rp-t{display:flex;gap:6px}.rp-t input,.rp-n input{flex:1;height:32px;font:13px var(--f-ui);background:var(--panel-2);color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:0 10px;width:100%}
.rp-n{display:flex;gap:10px}.rp-n label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.rp-tags{display:flex;flex-wrap:wrap;gap:5px}.rp-tags:empty{display:none}.rp-tags span{background:var(--mark);border-radius:12px;padding:2px 4px 2px 9px;font-size:12px}.rp-tags button{all:unset;cursor:pointer;padding:0 5px}
.rp-f{display:flex;gap:6px;align-items:center;border-top:1px solid var(--line-2);padding-top:10px}
.tg2{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.crz{display:inline-flex;align-items:center;gap:6px}.crz input{width:110px}
#view-corr .pn-h{flex-wrap:wrap;row-gap:8px}#view-corr .tools{flex-wrap:wrap;gap:6px 10px}
/* ---- главное окно: всегда по размеру экрана, без прокрутки ---- */
.home[hidden],.home.h3[hidden]{display:none!important}
.home.h3{height:100vh;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto minmax(150px,.55fr) auto;gap:clamp(10px,1.8vh,22px)!important;padding:clamp(12px,1.8vh,18px) max(28px,3.5vw) clamp(10px,1.4vh,16px)!important}
.home.h3 .h3-main{min-height:0!important;height:100%;align-items:stretch}
.home.h3 .h3-hero{justify-content:center;gap:clamp(8px,1.4vh,14px)}
.home.h3 .h3-hero h1{font-size:clamp(36px,min(5vw,8.2vh),76px)!important}
.home.h3 .h3-fan{height:auto!important;min-height:0;margin:0!important}
.home.h3 .h3-sheet{top:clamp(6px,1vh,14px)!important;bottom:clamp(14px,2.4vh,26px)!important}
.home.h3 .h3-nums{min-height:0}
.home.h3 .h3-n{padding:clamp(10px,1.5vh,16px) 18px}
.home.h3 .h3-n b{font-size:clamp(24px,3.6vh,34px)}
.home.h3 .h3-low{min-height:0}
.home.h3 .h3-card{min-height:0;overflow:hidden}
.home.h3 .h3-list,.home.h3 .h3-ws{overflow:hidden;min-height:0}
.home.h3 .h3-f{margin:0}
@media (max-height:900px){.home.h3 .h3-list>button:nth-child(n+4),.home.h3 .h3-ws>button:nth-child(n+4){display:none}}
@media (max-height:820px){.home.h3 .h3-dz,.home.h3 .h3-f{display:none}.home.h3{grid-template-rows:auto minmax(0,1fr) auto minmax(130px,.5fr)}}
body.cm #plot{display:flex;flex-direction:column;overflow:visible!important;position:relative}body.cm .plothdr{order:-1;position:sticky;top:0;z-index:4;background:var(--panel);flex:none;align-self:flex-start}body.cm .plothdr svg{display:block}body.cm #plot>svg{flex:none}
/* v0.34: содержимое прокручиваемых колонок не сжимается и не наезжает */
body.cm .minis figure{flex:1 1 0;min-width:150px;display:flex;flex-direction:column;align-items:center}body.cm .minis figcaption{align-self:stretch}
body.cm .page [hidden],body.cm .page[hidden]{display:none!important}
.ang-l>.atnav,.ang-l>.aguide{flex:none!important}
body.cm #at-sep,body.cm #fc-quality{grid-auto-rows:max-content;align-content:start}
body.cm #at-sep>.pn{overflow:visible!important}
body.cm #wt-norm>*,body.cm #wt-stat>*,body.cm #wt-tests>*,body.cm #wt-notes>*,body.cm #fc-quality>*,body.cm #fc-base>*,body.cm .ang-r>*:not(#at-sep):not(#at-wells),body.cm .datl>*{flex-shrink:0}
body.cm #wt-stat:not([hidden]){display:flex!important;flex-direction:column;gap:12px}

body.cm #wt-norm:not([hidden]){display:flex!important;flex-direction:column;gap:12px}
body.cm #fc-quality:not([hidden]){display:grid;align-content:start}
body.cm #fc-quality>.pn,body.cm #fc-base>.pn{overflow:visible}
body.cm .sumg>.pn,body.cm .datr>.pn,body.cm #view-wells>section.pn,body.cm #view-cand>section.pn,body.cm #view-corr>section.pn,body.cm #wt-plot,body.cm #wt-iv{min-height:0}
.ang-l{overflow-y:auto!important;overflow-x:hidden}
.ang .aguide>div p{font-size:12.5px}
body.cm #at-sep:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;overflow:auto}
body.cm #at-sep>.pn{min-width:0;overflow:hidden}
body.cm #at-sep canvas{max-width:100%}
@media (max-width:1700px){body.cm #at-sep{grid-template-columns:minmax(0,1fr)}}
/* v0.34: параметры расчёта — аккуратная выезжающая панель */
body.cm.propson .props>*:not(.pstrip):not(.split){display:revert!important}
body.cm.propson .props>.pstrip,body.cm.propson .props>.split{display:none!important}
body.cm.propson .props>.ph2.pph:not(.pstrip){display:flex!important}
body.cm.propson .props{animation:propsin .22s cubic-bezier(.2,.8,.2,1)}
@keyframes propsin{from{opacity:0;transform:translateX(16px)}}
/* v0.35: скруглённые карточки обрезают содержимое по углам (без полосы прокрутки; sticky и min-size не ломаются) */
.pn,.box,.dtl,.hm-card,.h3-card,.h3-n,.isl,.imenu,.rmenu,.rpop,.profm,.hzmenu,.ctx,.pop,.drawer,.tcard,.fwm,.h3-sheet,.rchip,.seg,.chip,.tab,.dock{overflow:clip}
.pn>.pn-h:first-child,.box>.pn-h:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}
/* ---- v0.36: ровные блоки, закреплённая шапка планшета, прокрутка без «перескоков» ---- */
body.cm :is(.vt,.vlist,#plotScroll,.datl,.ang-l,.ang-r,#wt-norm,#wt-stat,#wt-tests,#wt-notes,#fc-quality,#fc-base,.fw-r,.fwlist,.fwq,#art,#toc,.st-notes,#corr,.sumg .steps,.sumg .list,.rp-l,.rp-g>.pn,.props,.explorer .vlist,#at-sep,.dlside,.rmenu,.rpop,.profm,.drawer,.dr-b,.impo,.ist2,.ist3,.cklist){overscroll-behavior:contain}
/* шапка планшета: сплошная полоса на всю ширину окна */
body.cm .plothdr{align-self:stretch!important;width:auto;padding-top:0;border-bottom:1px solid var(--line-2);box-shadow:0 8px 12px -10px rgba(30,25,15,.35)}
body.cm #plotScroll{padding-top:0!important}
/* статистика скважины */
body.cm #wt-stat .st-ctl{display:grid;grid-template-columns:minmax(220px,1.3fr) auto auto minmax(150px,.7fr) auto auto;gap:14px 18px;align-items:end}
body.cm #wt-stat .st-cmp{margin:0 0 6px;align-self:end}
@media (max-width:1500px){body.cm #wt-stat .st-ctl{grid-template-columns:minmax(220px,1fr) auto auto;}}
body.cm #wt-stat .st-g{grid-template-columns:minmax(0,1fr) 320px;align-items:stretch}
body.cm #wt-stat .st-g2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
body.cm #wt-stat .st-g>.pn,body.cm #wt-stat .st-g2>.pn{display:flex;flex-direction:column}
body.cm #wt-stat .st-notes{overflow:auto}
body.cm #wt-stat .st-g2 .foot{margin-top:auto}
/* аналитика: два графика рядом, одинаковой высоты */
body.cm #at-sep:not([hidden]){align-items:stretch!important;grid-auto-rows:auto!important}
body.cm #at-sep>.pn{display:flex;flex-direction:column}
body.cm #at-sep>.pn>.legend{margin-top:auto}
/* модель: показатели ровной сеткой 3×2, ROC справа на всю высоту */
body.cm .fcbody{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr)}
body.cm .fcbody .facts{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:1fr;align-content:stretch}
body.cm .fcbody .fact{padding:10px 14px!important;border-right:1px solid var(--line-2)!important;border-bottom:1px solid var(--line-2)!important}
body.cm #fc-quality:not([hidden]){align-items:stretch!important}
body.cm #fc-quality>.pn{display:flex;flex-direction:column}
body.cm #fc-base>.pn+.pn,body.cm #fc-base>*+*{margin-top:0}
/* прогноз: при открытом пласте соседние листы прячутся, основной лист занимает место до панели */
body.cm-fcw .fcw:not(.noinsp) .fw-minis{display:none!important}
body.cm-fcw .fcw:not(.noinsp) .fw-c{width:auto!important;flex:1 1 auto!important}
body.cm-fcw .fcw:not(.noinsp){overflow:hidden!important}
body.cm-fcw .fw-r{background:var(--panel)}
/* ---- v0.37: компактная шапка «Модели», главное — вкладки ниже; ROC выразительный ---- */
body.cm #view-fc .fcmodel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(380px,34%);grid-template-rows:auto 1fr;flex:none!important;height:184px}
body.cm #view-fc .fcbody{display:contents}
body.cm #view-fc .fcpipe{grid-column:1;grid-row:1;grid-template-columns:repeat(4,minmax(0,1fr))}
body.cm #view-fc .fcst{padding:8px 12px!important;gap:8px}
body.cm #view-fc .fcst b{font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.cm #view-fc .fcst>span:last-of-type{min-width:0}
body.cm #view-fc .fcst small{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
body.cm #view-fc .fcst .sic{width:20px;height:20px}
body.cm #view-fc .fcbody .facts{grid-column:1;grid-row:2;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:auto}
body.cm #view-fc .fcbody .fact{padding:8px 12px!important;border-bottom:0!important}
body.cm #view-fc .fcbody .fact b{font-size:18px!important;margin:0}
body.cm #view-fc .fcbody .fact b span{font-size:inherit}
body.cm #view-fc .fcbody .fact>span{font-size:11px!important}
body.cm #view-fc .fcbody .fact small{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;font-size:11px}
body.cm #view-fc .fccurve{grid-column:2;grid-row:1/3;border-left:1px solid var(--line-2);padding:8px 12px 6px!important;min-height:0;display:flex;flex-direction:column}
body.cm #view-fc .fccurve canvas{flex:1}
body.cm #view-fc .fccurve figcaption{display:none}body.cm #view-fc .fcbody .facts{align-content:center}
body.cm #view-fc #fctabs{margin-top:4px}
body.cm #view-fc #fctabs button{font-size:14px;font-weight:700;padding:10px 14px}
body.cm #view-fc .page>.pt{margin-bottom:0}
@media (max-width:1600px){body.cm #view-fc .fcbody .fact small{display:none}body.cm #view-fc .fcbody .fact{padding:6px 10px!important}}
@media (max-width:1280px){.app,.app.noprops{grid-template-columns:76px 240px minmax(0,1fr) 0}.app .props{display:none}.app.propsover .props{display:block;position:fixed;right:0;top:calc(var(--bar-h) + var(--tab-h,36px));bottom:var(--st-h);width:300px;z-index:70;box-shadow:var(--shadow)}}
@media (max-width:900px){
  body{overflow:auto}
  .app,.app.noprops,.app.noexp{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--bar-h) var(--tab-h,36px) auto auto minmax(0,1fr) var(--st-h);height:auto;min-height:100dvh}
  .rail{grid-row:3;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 4px}
  .rail a{min-width:70px}.rail .sep{display:none}
  .explorer{grid-row:4;max-height:300px;border-right:0;border-bottom:1px solid var(--line)}
  .ws{grid-row:5;overflow:visible}
  .brand span,.crumbs,.btn .lbl{display:none}
  .status{grid-row:6}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ---- v0.38: карта, проекты, опробования и координаты в мастере ---- */
#view-map>.mapg{flex:1!important;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;min-height:0}
#view-map .mapc{display:flex;flex-direction:column;min-height:0;margin:0}
#view-map .mapbar{flex-wrap:wrap;row-gap:8px;gap:8px 12px;justify-content:flex-start}
#view-map .mapbar select{height:28px;width:200px}
#view-map .mapbar .tg2>.mut{display:none}
@media (max-width:1760px){.isrch{width:220px}}
@media (max-width:1420px){.isrch{width:38px;padding:0;justify-content:center;font-size:0;gap:0}.isrch kbd{display:none}}
.mapbox{flex:1;position:relative;min-height:0;background:var(--bg);overflow:hidden;border-top:1px solid var(--line-2)}
.mapbox canvas{position:absolute;inset:0;touch-action:none;cursor:grab}
.mapbox[data-mode="box"] canvas{cursor:cell}.mapbox[data-mode="line"] canvas{cursor:crosshair}
.mapempty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:color-mix(in srgb,var(--panel) 88%,transparent)}
.mapempty b{font-size:16px}.mapempty span{color:var(--muted);max-width:420px}
#view-map .foot{display:flex;gap:16px;justify-content:space-between;font-size:12px;color:var(--muted);padding:7px 12px}
#view-map .foot b{color:var(--ink)}
.mapside{overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;margin:0;padding:0!important}
.ms-b{padding:12px 14px;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px;flex:none}
.ms-b:last-child{border-bottom:0}
.mramp{height:12px;border-radius:6px;border:1px solid var(--line)}
.mrl{display:flex;justify-content:space-between;font:11.5px var(--f-data);color:var(--ink-2);gap:8px}
.mcats{display:flex;flex-direction:column;gap:4px}.mcats span{display:flex;align-items:center;gap:8px;font-size:12.5px}.mcats i{width:12px;height:12px;border-radius:50%;border:1.3px solid var(--ink);flex:none}.mcats b{margin-left:auto;font:12px var(--f-data)}
.mlay{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px}
.mlg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--muted)}.mlg span{display:inline-flex;align-items:center;gap:5px}
.mk0{width:10px;height:10px;border-radius:50%;border:1.3px solid var(--ink);background:var(--panel-3);display:inline-block;position:relative}
.mk0.dot::after{content:'';position:absolute;inset:2.5px;border-radius:50%;background:var(--ink)}
.mk0.tri{border:0;background:none;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid var(--s-oil);border-radius:0}
.mk0.oth{width:7px;height:7px;border-color:var(--muted);background:var(--panel)}
.mnames{font-size:12px;color:var(--ink-2);line-height:1.5;max-height:90px;overflow:auto}
.mlist{display:flex;flex-direction:column;max-height:260px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line-2);border-radius:8px}
.mlist button{all:unset;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:6px 10px;font-size:12.5px;border-bottom:1px solid var(--line-2)}
.mlist button:last-child{border-bottom:0}.mlist button:hover{background:var(--panel-2)}.mlist button span{font:11.5px var(--f-data);text-align:right}
.mcard .mc-h{display:flex;align-items:baseline;gap:8px}.mcard .mc-h b{font-size:16px}
.mkv{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:4px 10px;font-size:12px;align-items:baseline}.mkv span{color:var(--muted)}.mkv b{font:600 12.5px var(--f-data)}
.mtests{display:flex;flex-direction:column;gap:4px}.mtests>div{display:flex;align-items:center;gap:8px;font-size:12px}.mtests .mono{font-size:11.5px}
.mapside .prow{display:flex;flex-wrap:wrap;gap:6px}
.mapside .crz{display:flex;align-items:center;gap:8px}.mapside .crz input{flex:1;width:auto}.mapside .crz b{font:12px var(--f-data);min-width:62px;text-align:right}
/* проекты */
.prjc{max-width:260px}.prjc b{overflow:hidden;text-overflow:ellipsis;max-width:200px}
.prjdot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;background:var(--muted)}
.prjdot.ok{background:var(--ok)}.prjdot.run{background:var(--sel);animation:prjb 1s ease-in-out infinite}.prjdot.warn{background:var(--warn)}.prjdot.err{background:var(--accent)}.prjdot.idle{background:var(--line)}
@keyframes prjb{50%{opacity:.35}}
.prjm{width:380px;max-height:calc(100vh - 120px);overflow:auto}
.prjm .hz-r .btn.icon{width:26px;height:26px;opacity:.55}.prjm .hz-r:hover .btn.icon{opacity:1}.prjm .hz-r .btn.warnb{opacity:1;color:var(--accent)}
.prjm .prjren{flex:1;height:28px;font:13px var(--f-ui);border:1px solid var(--sel);border-radius:6px;padding:0 8px;margin:4px;background:var(--bg);color:var(--ink)}
.prjck{display:flex;align-items:center;gap:8px;padding:0 10px 8px;font-size:12px;color:var(--ink-2)}
.prja{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;border-top:1px solid var(--line-2)}
.prja button.hot{grid-column:1/-1;background:color-mix(in srgb,var(--warn) 18%,var(--panel));color:var(--ink)}
.prja button{all:unset;cursor:pointer;padding:7px 9px;border-radius:7px;font-size:12.5px;font-weight:600;background:var(--panel-2);text-align:center}.prja button:hover{background:var(--sel-soft);color:var(--sel)}
.prjm .hz-hint .prjdot{margin-right:3px;vertical-align:1px}
.prjp{display:flex;align-items:center;gap:14px;padding:12px 14px!important;flex-wrap:wrap}
.prjp .ds-i{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--panel-2);color:var(--ink-2);flex:none}
.prjp b{display:block;font-size:13.5px}.prjp small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.prjp .ds-b{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.askb{width:min(560px,92vw)}.askx{padding:4px 18px 8px;font-size:13px;line-height:1.55}.askx p{margin:8px 0}
#askDlg .foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}
.asklist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;max-height:50vh;overflow:auto}
.asklist button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line-2)}.asklist button:hover{background:var(--sel-soft)}
/* мастер: четыре карточки таблиц */
#imp .tcards{grid-template-columns:repeat(2,minmax(0,1fr))}
.tc-res{display:flex;flex-wrap:wrap;gap:6px}
.tprev.tp4 .tp-r{grid-template-columns:1fr 1.1fr 1fr 2fr}
.kitc .km .tchip{font-size:11px}
/* ---- v0.40: окно планшета — компактная шапка, белые дорожки на всю ширину ---- */
:root{--plot-bg:#ffffff}
body.cm .wh.folded .wh-top{padding:8px 14px!important;min-height:0;display:flex;align-items:center;gap:14px}
body.cm .wh.folded .wh-id{flex:1 1 0;min-width:0}body.cm .wh.folded .wh-id>div{min-width:0}body.cm .wh.folded .wh-act{flex:none}
body.cm .wh.folded .wh-id{display:flex;align-items:baseline}body.cm .wh.folded .wh-id>div{display:flex;align-items:baseline;gap:12px}body.cm .wh.folded .wh-sub{margin:0!important}
body.cm .wh.folded h2{font-size:17px!important;line-height:1.2}
body.cm .wh.folded .wh-ico{display:none}
body.cm .wh.folded .wh-sub b{font-weight:700;color:var(--ink)}
body.cm #view-well>.tabs{min-height:0}
body.cm #view-well>.tabs>button[role=tab]{padding-top:6px;padding-bottom:6px}
#wtabs>.readout{margin-left:12px!important;flex:1 1 0;min-width:0;max-width:none!important;flex-wrap:nowrap!important;overflow:hidden;white-space:nowrap}
#wtabs>.readout>span{padding:1px 7px!important}
body.cm #wt-plot>.plotbar{padding:5px 10px!important}
#plot svg .ttl{font-weight:700}
/* v0.50: «Почему так» — объяснение прогноза пласта */
.wy{display:flex;flex-direction:column;gap:8px;font-size:12.5px}
.wy-t{margin:0;padding:0 0 0 16px;display:flex;flex-direction:column;gap:5px;color:var(--ink);line-height:1.42}
.wy-t li::marker{color:var(--muted)}
.wy-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px;font-weight:600;color:var(--ink-2);font-size:12px}
.wy-h small{font-weight:400;color:var(--muted);font-size:11px;text-align:right}
.wy-r{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 34px;gap:8px;align-items:center}
.wy-r span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wy-r em{height:12px;position:relative;background:linear-gradient(var(--line),var(--line)) 50% 0/1px 100% no-repeat}
.wy-r em i{position:absolute;top:2px;bottom:2px;border-radius:2px}
.wy-r em i.p{background:var(--s-oil)}.wy-r em i.n{background:var(--s-water)}
.wy-r b{font:600 11.5px var(--f-data);text-align:right}.wy-r b.p{color:var(--s-oil)}.wy-r b.n{color:var(--s-water)}
.wy-tab{width:100%;border-collapse:collapse;font:11.5px var(--f-data);margin-top:4px}
.wy-tab th{font:600 11px var(--f-ui);color:var(--muted);text-align:right;padding:2px 4px}.wy-tab th:first-child{text-align:left}
.wy-tab td{padding:3px 4px;text-align:right;border-top:1px solid var(--line-2);color:var(--ink-2)}.wy-tab td:first-child{text-align:left;font-family:var(--f-ui)}
.wy-tab .o{color:var(--s-oil)}.wy-tab .w{color:var(--s-water)}
.wy-s{font-size:10.5px;color:var(--muted);margin-top:-4px}
.wy-an{display:flex;flex-direction:column;gap:3px}
.wy-an a{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:4px 6px;border-radius:6px;color:var(--ink);text-decoration:none}
.wy-an a:hover{background:var(--sel-soft,var(--line-2))}
.wy-an small{color:var(--muted);font:11px var(--f-data);text-align:right}
/* ---- v0.60: окно «Данные» — навигация · загрузка и открытые данные · предпросмотр ---- */
.dw{flex:1!important;min-height:0;display:grid;grid-template-columns:232px minmax(0,1fr) 340px;gap:12px}
.dw-nav{overflow:auto;padding:8px;display:flex;flex-direction:column;gap:6px}
.dwn-g{display:flex;flex-direction:column;gap:1px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}
.dwn-g:last-child{border-bottom:0}
.dwn-h{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 4px;font:600 11px var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dwn-h small{text-transform:none;letter-spacing:0;font-weight:500}
.dwn-dot.run{width:7px;height:7px;border-radius:50%;background:var(--sel);box-shadow:0 0 0 0 var(--sel);animation:dwpulse 1.6s ease-out infinite}
@keyframes dwpulse{70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 0 0 transparent}}
.dwn-i{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink)}
.dwn-i:hover{background:var(--panel-2)}
.dwn-ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--panel-2);color:var(--ink-2);flex:none}
.dwn-ic svg{width:14px;height:14px}
.dwn-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dwn-i b{font:600 12px var(--f-data)}.dwn-i b small{color:var(--muted);font-weight:400}
.dwn-i.warn .dwn-ic,.dwn-i.warn b{color:var(--warn)}.dwn-i.ok .dwn-ic,.dwn-i.ok b{color:var(--ok)}
.dwn-sub{display:flex;flex-direction:column;gap:2px;padding:0 8px 4px 43px;font-size:11.5px;color:var(--muted)}
.dwn-sub i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px}.dwn-sub i.ok{background:var(--ok)}.dwn-sub i.lk{background:var(--link)}
.dwn-f{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;padding:3px 8px 3px 43px;font-size:12px;color:var(--ink-2);cursor:pointer;border-radius:6px}
.dwn-f:hover{background:var(--panel-2);color:var(--ink)}.dwn-f b{font:500 11.5px var(--f-data);color:var(--muted)}
.dwn-act{display:flex;gap:6px;padding:6px 8px 2px}.dwn-act .btn{flex:1;justify-content:center}
.dw-main{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:12px;padding:0 4px 24px 2px;scroll-padding-top:4px}
.dw-main>*{flex:none}
/* зона перетаскивания */
.dw-drop{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 24px;border:1.5px dashed color-mix(in srgb,var(--sel) 45%,var(--line));border-radius:16px;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--sel) 7%,var(--panel)),var(--panel) 60%);transition:border-color .2s,background .2s,padding .25s}
.dw-drop.dragon,.dw-drop:hover{border-color:var(--sel)}
.dw-drop.slim{padding:12px 16px}.dw-drop.slim .dwd-art{transform:scale(.62);margin:-14px -10px}.dw-drop.slim .dwd-t small{display:none}
.dwd-art{position:relative;width:74px;height:66px;transition:transform .25s}
.dwd-art i{position:absolute;left:10px;top:6px;width:44px;height:54px;border-radius:7px;background:var(--panel);border:1.5px solid var(--line);box-shadow:var(--elev);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dwd-art i:nth-child(1){transform:rotate(-12deg) translate(-6px,3px)}.dwd-art i:nth-child(2){transform:rotate(-4deg)}.dwd-art i:nth-child(3){transform:rotate(7deg) translate(8px,2px)}
.dwd-art i:nth-child(3)::before,.dwd-art i:nth-child(3)::after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:2px;background:var(--bk);top:16px;box-shadow:0 8px 0 var(--ik),0 16px 0 var(--ngk)}
.dwd-art i:nth-child(4),.dwd-art i:nth-child(5){display:none}
.dw-drop:hover .dwd-art i:nth-child(1),.dw-drop.dragon .dwd-art i:nth-child(1){transform:rotate(-18deg) translate(-14px,0)}
.dw-drop:hover .dwd-art i:nth-child(3),.dw-drop.dragon .dwd-art i:nth-child(3){transform:rotate(14deg) translate(16px,-4px)}
.dw-drop.reading .dwd-art i{animation:dwshuf 1.1s ease-in-out infinite}.dw-drop.reading .dwd-art i:nth-child(2){animation-delay:.15s}.dw-drop.reading .dwd-art i:nth-child(3){animation-delay:.3s}
@keyframes dwshuf{50%{transform:translateY(-8px) rotate(0)}}
.dwd-t b{display:block;font-size:15.5px;font-weight:700;letter-spacing:-.01em}.dwd-t small{display:block;margin-top:4px;color:var(--ink-2);font-size:12.5px;line-height:1.45;max-width:72ch}
.dwd-b{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dwd-read{grid-column:1/-1;display:grid;grid-template-columns:auto auto minmax(80px,1fr) auto;align-items:center;gap:10px;font-size:12.5px}
.dwd-read em{height:6px;border-radius:3px;background:var(--panel-3);overflow:hidden}.dwd-read em i{display:block;height:100%;width:0;background:var(--sel);border-radius:3px;transition:width .2s}
.dwd-read em i.indet{width:35%!important;animation:indet 1.1s ease-in-out infinite}.dwd-read small{font:12px var(--f-data);color:var(--muted)}
/* комплект в окне */
#imp.inl{position:static;inset:auto;display:block;background:none;padding:0;z-index:auto}
#imp.inl[hidden]{display:none!important}
#imp.inl>.box{width:auto!important;max-width:none!important;max-height:none!important;height:auto!important;min-width:0;background:transparent;border:0;box-shadow:none;display:flex;flex-direction:column;gap:12px;overflow:visible}
#imp.inl .imh{display:none}
#imp.inl .ist{min-width:0;overflow:hidden!important;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--elev);padding:0 0 4px;overflow:visible}
#imp.inl .ist>div:not(.dw-sh){padding:0 14px 12px}
#imp.inl .impb,#imp.inl .ist2,#imp.inl .ist3{height:auto!important;max-height:none!important;overflow:visible!important}
#imp.inl #impTable{max-height:380px}
#imp.inl .impb{grid-template-columns:250px minmax(0,1fr)}#imp.inl .impl{min-width:0}#imp.inl .imf{display:flex}
.dw-sh{display:flex;align-items:baseline;gap:10px;padding:14px 16px 10px}
.dw-sh b{width:22px;height:22px;flex:none;align-self:center;border-radius:50%;display:grid;place-items:center;font:600 11px var(--f-data);background:var(--sel);color:#fff}
.dw-sh span{font-size:14.5px;font-weight:700}.dw-sh small{color:var(--muted);font-size:12px}
#imp.inl .imf{position:sticky;bottom:0;z-index:4;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:0 -6px 24px -14px rgba(0,0,0,.25);padding:10px 12px}
#imp.inl .imf #impNext{height:34px;padding:0 18px;font-size:13.5px}
#imp.inl .tcards{grid-template-columns:repeat(2,minmax(0,1fr))}
.s3w{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 9px;align-items:start}
.s3w .s3a{grid-column:2;display:flex;gap:4px;flex-wrap:wrap;margin-left:-8px}
.s3w.info{background:color-mix(in srgb,var(--link) 7%,transparent)}.s3w.info svg{color:var(--link)}
.vt-tr.sel{background:var(--sel-soft)!important;box-shadow:inset 3px 0 0 var(--sel)}
.dwflash{animation:dwfl 1.1s ease-out}@keyframes dwfl{0%{box-shadow:0 0 0 3px var(--sel)}100%{box-shadow:0 0 0 3px transparent}}
.dw-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.dw-open{display:flex;flex-direction:column;gap:12px}
.dw-open .datr>.pn{min-height:0}.dw-open #dataTable{max-height:440px!important}
/* предпросмотр */
.dw-pv{overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.pv-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.pv-h b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em}.pv-h small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.pv-tags{display:flex;flex-wrap:wrap;gap:5px}
.pv-tag{font:500 11.5px var(--f-ui);padding:2px 8px;border-radius:10px;background:var(--panel-2);color:var(--ink-2)}
.pv-tag.ok{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok)}.pv-tag.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}
.pv-tag.bad{background:var(--accent-faint);color:var(--accent)}.pv-tag.lk{background:var(--sel-soft);color:var(--link)}
.pv-kv{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:12px}.pv-kv span{color:var(--muted)}.pv-kv b{font:500 12px var(--f-data);text-align:right}
.pv-lbl{margin-top:6px;font:600 11px var(--f-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pv-c{display:grid;grid-template-columns:92px minmax(0,1fr) 38px;gap:8px;align-items:center;font-size:12px}
.pv-c em{height:6px;border-radius:3px;background:var(--panel-3);overflow:hidden}.pv-c em i{display:block;height:100%;border-radius:3px;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.pv-c b{font:500 11.5px var(--f-data);text-align:right}
.pv-bar{display:flex;height:9px;border-radius:5px;overflow:hidden;gap:1px}
.pv-leg{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:11.5px;color:var(--ink-2)}.pv-leg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}
.pv-log{flex:1;min-height:260px;margin-top:4px}.pv-log canvas{display:block}
.pv-hint{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin:6px 0 0}
/* загрузка: этапы и плитки скважин */
.dw-load{padding:18px 20px;display:flex;flex-direction:column;gap:16px;border-radius:16px;animation:dwin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes dwin{from{opacity:0;transform:translateY(8px)}}
.dl-h{display:flex;align-items:center;justify-content:space-between}.dl-h b{display:block;font-size:19px;font-weight:800;letter-spacing:-.015em}.dl-h small{font:12px var(--f-data);color:var(--muted)}
.dl-g{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:22px;align-items:start}
.dl-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.dl-steps li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:8px 6px;border-radius:9px;color:var(--muted);overflow:hidden}
.dl-steps li b{display:block;font-size:13px;font-weight:600}.dl-steps li small{display:block;font:11.5px var(--f-data);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);font:600 11px var(--f-data)}
.dl-n svg{width:14px;height:14px}
.dl-steps li.done{color:var(--ink)}.dl-steps li.done .dl-n{background:var(--ok);border-color:var(--ok);color:#fff;animation:dwpop .3s cubic-bezier(.2,.8,.2,1.4)}
@keyframes dwpop{from{transform:scale(.5)}}
.dl-steps li.run{color:var(--ink);background:var(--sel-soft)}.dl-steps li.run .dl-n{border-color:var(--sel);color:var(--sel)}
.dl-p{position:absolute;left:0;bottom:0;height:2px;width:40%;background:var(--sel);animation:indet 1.2s ease-in-out infinite}
.dl-tw{display:flex;flex-direction:column;gap:10px}
.dl-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(15px,1fr));gap:4px}
.dl-tiles i{aspect-ratio:1;border-radius:4px;background:var(--panel-3);transform:scale(.6);opacity:.55;transition:transform .35s cubic-bezier(.2,.8,.2,1.5),opacity .3s,background .5s;transition-delay:var(--d)}
.dl-tiles i.on{transform:none;opacity:1}.dl-tiles i.on.nas{background:var(--ink-2)}.dl-tiles i.on.raw{background:var(--link)}.dl-tiles i.on.oil{background:var(--s-oil)}
.dl-leg{display:flex;gap:14px;font-size:12px;color:var(--ink-2)}.dl-leg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.dl-leg i.nas{background:var(--ink-2)}.dl-leg i.raw{background:var(--link)}.dl-leg i.oil{background:var(--s-oil)}
.dl-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;animation:dwin .4s cubic-bezier(.2,.8,.2,1)}
.dl-res>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.dl-res b{display:block;font:700 24px var(--f-data);letter-spacing:-.02em}.dl-res span{font-size:12px;color:var(--ink-2)}
.dl-sum{margin:0;font-size:12.5px;color:var(--ink-2)}
.dl-b{display:flex;gap:8px;flex-wrap:wrap}.dl-b .btn{height:34px;padding:0 16px}
@media (max-width:1400px){.dw{grid-template-columns:200px minmax(0,1fr) 300px}.dl-g{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.dl-tiles i,.dwd-art i,.dw-load,.dl-res{transition:none;animation:none}}
.mk0.bdg{width:5px;height:14px;border-radius:1px;border:.8px solid var(--line);background:linear-gradient(var(--s-oil) 0 35%,var(--s-unclear) 35% 50%,var(--s-water) 50%)}
.wi-r{display:grid;grid-template-columns:132px minmax(0,1fr) 40px;gap:8px;align-items:center;font-size:12.5px;margin:2px 0}.wi-r input{width:100%;accent-color:var(--sel)}.wi-r b{font:500 12px var(--f-data);text-align:right}
.wi-m{display:flex;flex-direction:column;gap:3px;margin:8px 0 6px;padding:8px 10px;border-radius:8px;background:var(--panel-2);font-size:12px;color:var(--ink-2)}.wi-m b{color:var(--ink);font-family:var(--f-data)}
/* v0.60.1: в окне «Данные» прокрутка таблиц и блоков переходит к странице, когда они докручены до конца */
body.cm .dw-main :is(.vt,.impo,.ist2,.ist3,.dlside,.kit){overscroll-behavior:auto!important}
#imp.inl .impo{overflow:visible!important;max-height:none!important}
.dw-main .vt{max-height:340px}
/* v0.60.2: «Порядок работы» в сводке — пункты по левому краю (глобальное .steps мастера их центрировало);
   «Аналитика → По скважинам» — таблица занимает высоту панели и прокручивается сама */
.sumg .sg-s .steps{align-items:stretch!important;margin:0!important;gap:0!important}
.sumg .sg-s .steps>*{width:auto!important;justify-content:flex-start!important;text-align:left!important;align-items:center!important}
.ang-r:has(>#at-wells:not([hidden])){overflow:hidden}
.ang-r>#at-wells{min-height:0!important;overflow:hidden}
.ang-r #welltable{max-height:none!important;height:auto;overscroll-behavior:auto!important}
/* v0.61 */
.fw-selpop{position:absolute;z-index:6;width:228px;padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;font-size:12.5px}
.fw-selpop b{font:600 13px var(--f-data)}.fw-selpop small{color:var(--muted)}.fw-selpop div{display:flex;gap:6px;margin-top:4px}
.fxs{padding-top:8px!important;padding-bottom:8px!important}.fxr{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-2)}
#askDlg.wide .box{width:min(1340px,96vw)!important;max-width:96vw!important}
.cmpg{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px}.cmpf{margin:0;flex:none;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--panel)}
.cmpf:first-child{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel-soft)}.cmpf figcaption{margin-bottom:6px}.cmpf figcaption b{display:block;font-size:13px}.cmpf figcaption small{color:var(--muted);font-size:11px}
.cm-t{margin-bottom:10px}.cm-t select,.cm-g select{height:28px;font:12.5px var(--f-ui);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 6px}
.cm-g td.mut{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ie .btn{margin-left:auto}
/* v0.62: «Отчёт» — карточки выгрузок по группам */
#repList{max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column;gap:14px;padding:12px 14px 16px}
.rpx-h{display:flex;align-items:baseline;gap:10px;margin:2px 0 8px}.rpx-h b{font-size:13.5px}.rpx-h span{font-size:12px;color:var(--muted)}
.rpx-c{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.rpx{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:6px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);transition:border-color .15s,box-shadow .15s}
.rpx:hover{border-color:color-mix(in srgb,var(--sel) 45%,var(--line));box-shadow:var(--elev)}.rpx.off{opacity:.55}
.rpx-t{min-width:0}.rpx-t b{display:block;font-size:13px;font-weight:600;line-height:1.3}.rpx-t small{display:block;margin-top:3px;font:12px/1.4 var(--f-ui)!important;color:var(--ink-2)}
.rpx-f{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px solid var(--line-2)}
.rpx-n{font:500 12px var(--f-data);color:var(--muted)}
/* v0.62: реестр — замечания чипами; «Модель» — подписи этапов и название модели без обрезки */
.rq-c{display:inline-block;font:500 11.5px var(--f-ui);padding:1px 7px;border-radius:9px;margin-right:4px;white-space:nowrap}
.rq-c.warn{background:color-mix(in srgb,var(--warn) 13%,transparent);color:var(--warn)}.rq-c.err{background:var(--accent-faint);color:var(--accent)}.rq-c.lk{background:var(--sel-soft);color:var(--link)}
.fcst small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fcbody .fact b .txt,.fcbody .fact b{white-space:normal!important;line-height:1.15}
.fcst b{white-space:normal!important;overflow:visible!important}
