/* 7G Carbon Platform 0.9.3 — тема холста dev.7G: Inter, тёмно-синяя навигация 248 px, шапка 60 px, подвал 56 px,
   основной текст #17252d на #f4f7f6, акцент #0b5d57. Типографика: 12 px — метки, 13 — вторичный, 14–15 — основной,
   16–18 — заголовки блоков, 28 — заголовок страницы. */
:root{
  --bg:#f4f7f6;--panel:#fff;--ink:#17252d;--ink2:#3e5058;--muted:#5b6d76;--faint:#8a9aa2;--line:#d9e3e0;--line2:#cfdad6;--soft:#eef3f2;
  --navy:#163247;--navy2:#1d3e56;--nav-tx:#d5e1e8;--nav-mut:#8fa6b5;--nav-sub:#c9d7df;
  --teal:#0b5d57;--teal-d:#084a45;--teal-bg:#e8f3ef;--teal-ln:#b9dccd;--green:#19866b;--mint:#17cabb;--lime:#8bcf77;
  --blue:#2b6cb0;--blue-bg:#e6effa;--amber:#d28a22;--warn:#8a520a;--warn-bg:#fdf3e3;--warn-ln:#ecd3a6;--bad:#b03a2e;--bad-bg:#fbeeee;--bad-ln:#e8b4ad;
  --ok-bg:#e6f4ee;--ok-ln:#9fd1bf;--radius:14px;
}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg)}
button,input,select,textarea{line-height:1.25}
a{color:var(--teal)}a:hover{color:var(--teal-d)}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:1px}
h1{font-size:28px;line-height:1.2;margin:0;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:17px;line-height:1.3;margin:0 0 12px;font-weight:700}
h3{font-size:15px;margin:0 0 8px}
.lead{color:var(--muted);font-size:15px;max-width:80ch;margin:6px 0 0}
.muted{color:var(--muted)}.faint{color:var(--faint)}.sp{flex:1 1 auto}
.mono{font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-size:14px;overflow-wrap:anywhere}
.hrow{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:16px}

/* ---------- каркас: навигация · шапка · подвал ---------- */
.shell{display:flex;min-height:100vh}
.snav{width:248px;flex-shrink:0;background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:18px;padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2d5470 transparent}
.snav .logo{display:flex;padding:2px 8px;align-self:flex-start}.snav .logo img{height:34px;width:auto;display:block}
.orgcard{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}
.orgcard:hover{background:rgba(255,255,255,.11);color:#fff}
.orgav{width:32px;height:32px;flex-shrink:0;border-radius:8px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:-.02em;overflow:hidden}
.orgcard .t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.orgcard .t b{font-size:14px;font-weight:600;line-height:1.25}
.orgcard .t small{display:flex;align-items:center;gap:6px;font-size:14px;color:#c3d3dd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--mint);display:inline-block}
.snav .grp{display:flex;flex-direction:column;gap:2px}
.snav .gl{font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--nav-mut);padding:0 10px 6px;text-transform:uppercase}
.snav .ct{height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:8px;color:var(--nav-tx);text-decoration:none;white-space:nowrap}
.snav a.ct:hover{background:rgba(255,255,255,.06);color:#fff}
.snav .ct b{width:50px;flex-shrink:0;font-size:14px;font-weight:700}.snav .ct span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.snav .ct.on{color:#fff}.snav .ct.off{color:#7f97a6;opacity:.6;cursor:default}
.snav .ct .tag{flex:0 0 auto;font-size:14px;font-weight:700;background:var(--amber);color:#17252d;border-radius:6px;padding:1px 7px}
.ring{width:7px;height:7px;flex-shrink:0;border-radius:50%;border:1.5px solid currentColor;display:inline-block}
.snav a.it{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;text-decoration:none;font-size:14px;color:var(--nav-tx)}
.snav a.it svg{flex-shrink:0}.snav a.it span{flex:1 1 auto;min-width:0}
.snav a.it:hover{background:rgba(255,255,255,.06);color:#fff}
.snav a.it[aria-current=page],.snav a.it.cur{background:rgba(255,255,255,.08);color:#fff}
.snav .cnt{font-size:14px;color:#b5c7d3}.snav .badge{font-size:14px;font-weight:600;background:var(--amber);color:var(--ink);border-radius:10px;padding:1px 8px}
.snav .sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 4px 19px;padding-left:9px;border-left:1px solid rgba(255,255,255,.18)}
.snav .sub .sl{padding:4px 10px 2px;font-size:14px;color:var(--nav-mut)}
.snav .sub .sg{padding:8px 10px 2px;font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--nav-mut)}
.snav .sub a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;text-decoration:none;font-size:14px;line-height:1.3;color:var(--nav-sub)}
.snav .sub a:hover{background:rgba(255,255,255,.06);color:#fff}
.snav .sub a i{font-style:normal;min-width:26px;font-size:14px;color:var(--nav-mut);font-variant-numeric:tabular-nums}
.snav .sub a span{flex:1 1 auto;min-width:0}
.snav .sub a[aria-current=page]{color:#fff;background:var(--teal);font-weight:500}.snav .sub a[aria-current=page] i{color:#cfe7df}
.snav .sub a b{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.snav .close{display:none}
.col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.top{height:60px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.crumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--teal)}.crumbs b{color:var(--ink);font-weight:500}
.iconbtn{width:40px;height:40px;flex-shrink:0;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;position:relative;cursor:pointer}
.iconbtn .n{position:absolute;top:-5px;right:-5px;font-size:14px;font-weight:700;background:var(--amber);color:var(--ink);border-radius:9px;padding:0 5px;line-height:17px}
.me{display:flex;align-items:center;gap:12px}
.av{width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}
.me .who{display:flex;flex-direction:column;font-size:14px;line-height:1.3}.me .who b{font-weight:600}.me .who small{color:var(--muted);font-size:14px}
.mebtn{height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 14px;border-radius:10px;border:1px solid var(--teal);background:#fff;color:var(--teal);text-decoration:none;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
.mebtn.gray{border-color:var(--line2);color:var(--ink2)}.mebtn:hover{background:var(--teal-bg)}
.burger{display:none}
main{flex:1 0 auto;padding:28px 32px 48px;display:flex;flex-direction:column;gap:18px;min-width:0;width:100%;max-width:1680px}
/* широкие мониторы: рабочая область до 1680 px; селекты в таблицах не сжимаются до стрелки */
.t select{min-width:120px}
.foot{flex-shrink:0;min-height:56px;display:flex;align-items:center;gap:12px 28px;padding:10px 32px;background:var(--navy);color:#b5c7d3;font-size:14px;flex-wrap:wrap}
.foot img{height:22px;width:auto;display:block}
.foot .ok{display:flex;align-items:center;gap:6px}.foot .ok i{width:8px;height:8px;border-radius:50%;background:var(--lime)}
.foot .c{color:var(--nav-mut)}.foot nav{display:flex;gap:20px;flex-wrap:wrap}.foot a{color:var(--nav-tx);text-decoration:none}.foot a:hover{color:#fff}

/* ---------- заголовки страниц ---------- */
.eyebrow{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--mint)}
.eyebrow.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500;color:var(--muted);letter-spacing:.06em}
.phead{display:flex;align-items:flex-end;gap:12px 24px;flex-wrap:wrap}
.phead>div:first-child{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:6px}
.phead .lead{margin:0}

/* шаги MRV 4.1–4.4 */
.steps{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--line);overflow-x:auto;margin-top:-6px}
.steps .tag{align-self:center;font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:600;background:var(--navy);color:#fff;border-radius:5px;padding:3px 8px;margin-right:16px}
.steps a,.steps span.s{display:flex;align-items:center;gap:8px;padding:10px 4px 11px;margin-right:22px;font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent}
.steps a i,.steps span.s i{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--faint)}
.steps a:hover{color:var(--ink)}.steps a[aria-current=page]{color:var(--ink);font-weight:700;border-bottom-color:var(--teal)}
.steps .chev{color:#b9c6c2;margin-right:22px;align-self:center}
.steps .end{margin-left:auto;align-self:center;font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--faint);white-space:nowrap}

/* ---------- карточки, показатели ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;min-width:0}
.card.flat{background:transparent;border-style:dashed}
.card>h2:first-child{margin-top:0}
.chead{display:flex;align-items:flex-start;gap:10px 16px;flex-wrap:wrap;margin-bottom:12px}.chead h2{margin:0}.chead .sp{flex:1 1 auto}
.sect{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kpi{display:flex;flex-direction:column;gap:4px;padding:16px 18px}
.kpi .l{font-size:14px;color:var(--muted)}.kpi .v{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}.kpi .s{font-size:14px;color:var(--muted)}
.kpi.good .v{color:var(--teal)}.kpi.warn .v{color:#9a5b06}
.kv{display:grid;grid-template-columns:minmax(120px,40%) minmax(0,1fr);margin:0}
.kv dt,.kv dd{margin:0;padding:10px 0;border-bottom:1px solid #edf2f0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{font-weight:500}
.kv dt:last-of-type,.kv dd:last-of-type{border-bottom:0}
.statstrip{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;align-self:flex-start}
.statstrip div{padding:12px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.statstrip div:last-child{border-right:0}
.statstrip b{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.statstrip small{font-size:14px;color:var(--muted)}
.statstrip b.t{color:var(--teal)}.statstrip b.a{color:#9a5b06}

/* ---------- кнопки, поля ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:14px;font-weight:700;border-radius:10px;padding:0 18px;height:42px;border:1px solid var(--teal);background:#fff;color:var(--teal);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--teal-bg);color:var(--teal-d)}
.btn.pri{background:var(--teal);border-color:var(--teal);color:#fff}.btn.pri:hover{background:var(--teal-d);color:#fff}
.btn.dark,.btn.blue{background:var(--navy);border-color:var(--navy);color:#fff}.btn.dark:hover,.btn.blue:hover{background:#0f2536;color:#fff}
.btn.lime{background:var(--lime);border-color:var(--lime);color:#0f2a1f}.btn.lime:hover{background:#7cc267;color:#0f2a1f}
.btn.ghost{border-color:rgba(255,255,255,.4);background:transparent;color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.btn.gray{border-color:var(--line2);color:var(--ink2)}
.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.danger:hover{background:var(--bad-bg)}
.btn.sm{font-size:14px;height:34px;padding:0 12px;border-radius:9px}
.btn.wide{width:100%;height:48px;font-size:15px}
.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default}
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
label.f .u{color:var(--muted);font-weight:400;font-size:14px}
label.f .h{display:block;color:var(--muted);font-size:14px;font-weight:400}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],select,textarea{font:inherit;font-size:14px;font-weight:400;color:var(--ink);padding:0 12px;height:42px;border:1px solid var(--line2);border-radius:10px;background:#fff;width:100%}
textarea{height:auto;padding:10px 12px}
input:disabled,select:disabled{background:#f3f6f5;color:#6d7f87}
form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.row4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400}.chk input{margin-top:2px;width:18px;height:18px;accent-color:var(--teal);flex-shrink:0}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px 16px;margin:0;min-width:0}fieldset legend{font-weight:700;font-size:14px;padding:0 6px}

/* ---------- сообщения, таблицы, метки ---------- */
.msg{padding:12px 16px;border-radius:12px;font-size:14px;border:1px solid}
.msg.ok{background:var(--ok-bg);border-color:var(--ok-ln)}.msg.warn{background:var(--warn-bg);border-color:var(--warn-ln)}.msg.err{background:var(--bad-bg);border-color:var(--bad-ln)}
.msg.info{background:#f2f7fb;border-color:#c9dcea}
.note{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;font-size:14px;color:var(--ink2)}
table.t{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
.t th{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fbfcfc}
.t td{padding:10px;border-bottom:1px solid #edf2f0;vertical-align:top}.t td.r,.t th.r{text-align:right}.t td.r{white-space:nowrap}
.t tr:last-child td{border-bottom:0}.t tr.tot td{font-weight:700;border-top:2px solid var(--line)}
.t input{height:34px;padding:0 8px;text-align:right;min-width:90px}
.tw{overflow-x:auto}
.card>.tw:only-child,.card.tbl{padding:0;overflow:hidden}.card.tbl .tw{overflow-x:auto}.card.tbl>h2,.card.tbl>.chead{padding:18px 20px 0}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap;line-height:1.5}
.pill.ok{background:var(--ok-bg);color:var(--teal)}.pill.draft{background:#eef1f0;color:var(--ink2)}.pill.stale{background:var(--warn-bg);color:var(--warn)}
.pill.skip{background:#f1f4f4;color:#7a8b93}.pill.none{background:var(--bad-bg);color:var(--bad)}.pill.blue{background:var(--blue-bg);color:#1f4f87}.pill.env{background:var(--warn-bg);color:var(--warn)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;border:1px solid var(--line);border-radius:7px;padding:2px 8px;background:#fff;color:var(--ink2)}

/* ---------- сквозная аналитика · блоки 0–7 ---------- */
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.chain a{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff;height:100%}
.chain a:hover{border-color:var(--teal-ln);box-shadow:0 4px 14px rgba(10,30,45,.06)}
.chain a.nx{border:2px solid var(--teal);padding:13px}
.chain .no{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;box-shadow:0 2px 0 rgba(12,26,36,.22)}
.chain .ok .no{background:var(--teal)}.chain .stale .no{background:#b4720f}.chain .skip .no,.chain .none .no{background:#9fb0b8}
.chain .tx{display:flex;flex-direction:column;gap:4px;min-width:0}.chain .tx b{font-size:14px;line-height:1.25}.chain .tx small{font-size:14px;color:var(--muted)}
.chain .tx .pill{align-self:flex-start}
.strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.strip a{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink);min-width:0;font-size:14px;line-height:1.3}
.strip a i{font-style:normal;font-weight:800;font-size:14px}.strip a span{overflow:hidden;text-overflow:ellipsis}.strip a small{font-size:14px;color:var(--faint)}
.strip a.ok small{color:var(--teal)}.strip a.stale small{color:var(--warn)}
.strip a[aria-current=page]{border:2px solid var(--teal);padding:7px 9px;background:var(--teal-bg)}
.path{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.path li{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;position:relative;padding-right:8px}
.path li .c{width:26px;height:26px;border-radius:50%;border:2px solid #c8d4d0;background:#fff;color:var(--faint);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;position:relative;z-index:1}
.path li:not(:last-child)::after{content:"";position:absolute;left:30px;right:4px;top:12px;height:2px;background:#d9e3e0}
.path li.done .c{background:var(--teal);border-color:var(--teal);color:#fff}.path li.done:not(:last-child)::after{background:var(--teal)}
.path li.now .c{border-color:var(--teal);color:var(--teal)}.path li.now b{color:var(--ink)}
.path li b{font-weight:600;color:var(--ink2)}.path li small{color:var(--faint);font-size:14px}
.tasks{display:flex;flex-direction:column;gap:10px}
.tasks .tk{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}
.tasks .tk i{width:8px;height:8px;border-radius:50%;background:var(--amber);flex-shrink:0}
.tasks .tk div{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.tasks .tk b{font-size:14px}.tasks .tk small{font-size:14px;color:var(--muted)}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.feed li{display:flex;gap:10px;align-items:flex-start;font-size:14px}.feed .av{width:28px;height:28px;font-size:14px;background:#2e8a6e}.feed small{display:block;color:var(--muted);font-size:14px}
.tabs{display:flex;gap:10px;flex-wrap:wrap}
.tabs a{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink2);text-decoration:none;font-weight:700;font-size:14px}
.tabs a[aria-current=page]{background:var(--teal-bg);border-color:var(--teal);color:var(--teal)}
.tabs a b{font-size:14px;background:var(--soft);border-radius:8px;padding:0 7px;color:var(--ink2)}
.profile{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.profile .bigav{width:72px;height:72px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}
.profile>div:nth-child(2){flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:6px}
.measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.measures label{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-size:14px}
.measures label:has(input:checked){border-color:var(--teal);background:var(--teal-bg)}
.measures input{width:18px;height:18px;accent-color:var(--teal);margin-top:1px;flex-shrink:0}

/* ---------- экран блока расчёта (как модули на холсте 4.3.x) ---------- */
.modhead{display:flex;flex-direction:column;gap:8px}
.modhead .meta{font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--faint)}
.modgrid{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px;align-items:start}
.modgrid>aside{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:0;padding:18px 18px 0}
.modgrid>aside .savebar{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%);padding:16px 0 18px;margin-top:6px;display:flex;flex-direction:column;gap:6px}
.modgrid>section{display:flex;flex-direction:column;gap:16px;min-width:0}
.fsg{display:flex;flex-direction:column;gap:14px}
.fsg .fs{padding:12px 14px 14px}.fsg .fs legend{font-size:14px}
.fsg .row4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fsg label.f{font-weight:400;color:var(--ink2);font-size:14px}
.fsg input[type=number],.fsg input[type=text],.fsg select{height:38px;font-size:14px}
.f.chk{flex-direction:row;align-items:flex-start;gap:10px;grid-column:span 2}.f.chk input{width:18px;height:18px;margin-top:1px;accent-color:var(--teal)}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpis .kpi{border-left:3px solid var(--teal-ln);background:#fbfcfc;border-radius:0 10px 10px 0;padding:10px 14px}
.kpis .kpi .v{font-size:22px}
.lg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;margin:6px 0 0;color:var(--muted)}.lg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.checks{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}

/* ---------- вход и регистрация (как 1.1 и 1.5 на холсте) ---------- */
.authpage{min-height:100vh;display:flex;flex-direction:column}
.split{flex:1 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.split .side{background:var(--navy);color:#fff;padding:48px 56px;display:flex;flex-direction:column;gap:28px}
.split .side img{height:34px;width:auto;align-self:flex-start}
.split .side h1{font-size:32px;color:#fff;margin-top:24px}.split .side p{color:#c3d3dd;font-size:16px;margin:0;max-width:56ch}
.split .side ul.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;color:#d5e1e8;font-size:15px}
.split .side ul.ticks li{display:flex;gap:12px}.split .side ul.ticks li::before{content:"✓";color:var(--lime);font-weight:700}
.split .eco{border-top:1px solid rgba(255,255,255,.14);padding-top:14px;display:flex;flex-direction:column;gap:2px}
.split .eco .h{font-size:14px;font-weight:700;letter-spacing:.1em;color:#7cc4e8;padding:0 16px 10px}
.split .eco div.r{display:flex;align-items:center;gap:14px;padding:9px 16px;font-size:15px;color:#d5e1e8}.split .eco div.r b{width:70px;color:#fff}.split .eco div.r em{font-style:normal;color:#8fa6b5}
.split .eco div.r.off{opacity:.55}
.split .safe{margin-top:auto;display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:14px;color:#d5e1e8}
.split .form{background:var(--bg);padding:40px 56px;display:flex;flex-direction:column;gap:20px}
.split .form .toplink{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:14px;color:var(--ink2)}
.split .form .toplink a{font-weight:700}
.split .form form,.split .form .box{width:100%;max-width:460px;display:flex;flex-direction:column;gap:18px;margin-top:40px}
.split .form h1{font-size:34px}
.split .form .lead{font-size:15px}
.split .form .help{font-size:14px;color:var(--muted);text-align:center;margin-top:auto;padding-top:20px}
.or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:14px}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- публичная страница «О платформе» ---------- */
.pub{min-height:100vh;display:flex;flex-direction:column;background:#fff}
.pub .ptop{display:flex;align-items:center;gap:14px;padding:16px 48px;background:var(--navy)}
.pub .ptop img{height:30px}
.pub .hero{background:var(--navy);color:#fff;padding:40px 48px 56px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center}
.pub .hero .eyebrow{color:#7cc4e8}.pub .hero .eyebrow i{background:var(--lime)}
.pub .hero h1{font-size:44px;line-height:1.1;color:#fff;margin:14px 0 18px;letter-spacing:-.02em}.pub .hero h1 em{font-style:normal;color:var(--lime)}
.pub .hero p{color:#c3d3dd;font-size:17px;max-width:60ch;margin:0 0 24px}
.pub .orbit{position:relative;aspect-ratio:1;max-width:400px;width:100%;justify-self:center}
.pub .orbit .core{position:absolute;inset:34%;border-radius:50%;background:linear-gradient(145deg,#1aa58d,#0b5d57);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:40px;box-shadow:0 0 0 14px rgba(23,202,187,.12),0 0 0 30px rgba(23,202,187,.06)}
.pub .orbit .core small{font-size:14px;font-weight:600;letter-spacing:.1em;color:#d5f1ea}
.pub .orbit .p{position:absolute;width:76px;height:76px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);text-align:center;line-height:1.1}
.pub .orbit .p small{font-size:14px;font-weight:600;opacity:.85}
.pub .orbit .p.off{opacity:.45}
.pub .stats{background:var(--navy);border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:22px 48px;gap:24px;color:#fff}
.pub .stats b{display:block;font-size:30px;font-weight:800}.pub .stats small{color:#b5c7d3;font-size:14px}
.pub section.ps{padding:56px 48px;max-width:1240px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.pub section.ps h2{font-size:30px;margin:0;letter-spacing:-.01em}.pub section.ps .lead{margin:0;font-size:16px}
.pub .flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pub .flow .card{display:flex;flex-direction:column;gap:8px}.pub .flow .n{width:32px;height:32px;border-radius:9px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.pub .band{background:var(--bg)}
.pub .cta{background:var(--navy);color:#fff;border-radius:18px;padding:32px 36px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.pub .cta h2{color:#fff}.pub .cta p{color:#c3d3dd;margin:6px 0 0}

/* ---------- адаптив ---------- */
@media (max-width:1100px){.chain{grid-template-columns:repeat(2,minmax(0,1fr))}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .modgrid{grid-template-columns:minmax(0,1fr)}.modgrid>aside{position:static;max-height:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pub .flow{grid-template-columns:repeat(2,minmax(0,1fr))}.measures{grid-template-columns:repeat(2,minmax(0,1fr))}.me .who{display:none}.path{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}}
@media (max-width:900px){
  .snav{position:fixed;left:0;top:0;bottom:0;z-index:20;transform:translateX(-100%);transition:transform .2s}
  body.navopen .snav{transform:none;box-shadow:0 0 40px rgba(0,0,0,.3)}.snav .close{display:flex;align-self:flex-end;background:none;border:0;color:#fff;cursor:pointer}
  .burger{display:flex}.top{padding:0 16px;gap:10px}main{padding:20px 16px 40px}.foot{padding:12px 16px}
  .grid2,.grid3,.split,.pub .hero{grid-template-columns:minmax(0,1fr)}.split .side{padding:32px 20px}.split .form{padding:28px 20px}
  .pub .ptop,.pub .hero,.pub .stats,.pub section.ps{padding-left:20px;padding-right:20px}.pub .hero h1{font-size:32px}.pub .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  form .row,.row4{grid-template-columns:minmax(0,1fr)}.mebtn span.t{display:none}}
@media (max-width:560px){.chain,.grid4,.kpis,.pub .flow,.measures,.strip{grid-template-columns:minmax(0,1fr)}.f.chk{grid-column:auto}.fsg .row4{grid-template-columns:minmax(0,1fr)}h1{font-size:24px}}
/* навигация на всю высоту колонки; графики блока — во всю ширину правой колонки */
.shell{background:linear-gradient(90deg,var(--navy) 248px,var(--bg) 248px)}
@media (max-width:900px){.shell{background:var(--bg)}}
.modgrid #charts{grid-template-columns:minmax(0,1fr)}
.kpis .kpi .v{font-size:20px}.kpis .kpi .l{font-size:14px}
.foot .c{white-space:nowrap}

/* вход и регистрация на компьютере: страница целиком в окне, без прокрутки; отступы и шрифты подстраиваются под высоту окна */
@media (min-width:901px){
  .authpage{height:100vh;height:100dvh;min-height:0;overflow:hidden}
  .authpage .split{flex:1 1 auto;min-height:0}
  .split .side,.split .form{min-height:0;overflow-y:auto;scrollbar-width:thin}
  .split .side{padding:clamp(20px,4.5vh,48px) clamp(32px,4vw,56px);gap:clamp(10px,2.4vh,28px)}
  .split .side h1{font-size:clamp(24px,3.6vh,32px);margin-top:clamp(4px,2vh,24px)}
  .split .side p{font-size:clamp(14px,1.9vh,16px)}
  .split .side ul.ticks{gap:clamp(4px,1.1vh,12px);font-size:clamp(13px,1.8vh,15px)}
  .split .eco{padding-top:clamp(6px,1.2vh,14px)}.split .eco .h{padding-bottom:clamp(4px,.9vh,10px)}
  .split .eco div.r{padding:clamp(2px,.75vh,9px) 16px;font-size:clamp(13px,1.8vh,15px)}
  .split .safe{padding:clamp(8px,1.5vh,16px) 20px}
  .split .form{padding:clamp(18px,3.6vh,40px) clamp(32px,4vw,56px);gap:clamp(8px,1.6vh,20px)}
  .split .form form,.split .form .box{margin-top:clamp(0px,3vh,40px);gap:clamp(8px,1.7vh,18px)}
  .split .form h1{font-size:clamp(26px,4vh,34px)}
  .split .form .help{padding-top:clamp(4px,1.5vh,20px)}
}
@media (min-width:901px) and (max-height:820px){.split .safe{display:none}}
@media (min-width:901px) and (max-height:700px){.split .eco{display:none}.split .form .or,.split .form .btn.gray{display:none}}
@media (min-width:901px) and (max-height:760px){
  .split .form input[type=text],.split .form input[type=email],.split .form input[type=password],.split .form input[type=tel]{height:38px}
  .split .form .f{gap:4px}.split .form .f .h{display:none}.split .form .lead{margin-top:2px}
  .split .form .btn.wide{height:42px}
}

/* тестовые экраны холста dev.7G (PCAF, CBAM, Market, результаты GHG, 4.1, 4.1а, 4.5): рабочая область холста со своими отступами */
main.cvmain{padding:0;max-width:none;gap:0}
.cvbanner{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin:16px 32px 0;padding:10px 16px;border-radius:10px;background:#fff4d6;border:1px solid #f0d58a;color:#5c3d00;font-size:14px}
.cvbanner b{font-weight:700}
.cvs{display:flex;flex-direction:column;min-width:0}
.cvs img{max-width:100%}
@media (max-width:900px){.cvbanner{margin:12px 16px 0}.cvs>div{overflow-x:auto}}
/* меню контуров (холст): открытый контур подсвечен; пункты без экрана — приглушены; нижняя группа — БК, доступ, настройки */
.snav .ct.cur{background:rgba(255,255,255,.1)}
.snav div.it.off{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;font-size:14px;color:#7f97a6;opacity:.6;cursor:default}
.snav .grpb{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}
.feed li>div{min-width:0;overflow-wrap:anywhere}
.card,section.card,.tw{min-width:0;max-width:100%}
.grid2.g115{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}@media (max-width:900px){.grid2.g115{grid-template-columns:minmax(0,1fr)}}

/* последние действия команды (1.7а): по дням, одна строка на действие */
.fday{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}.fday:first-of-type{margin-top:4px}
.feed2{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.feed2 li{display:grid;grid-template-columns:28px 44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #edf2f0;font-size:14px}
.feed2 li:last-child{border-bottom:0}.feed2 .av{width:28px;height:28px;font-size:14px;background:#2e8a6e}
.feed2 .tm{color:var(--muted);font-size:14px}.feed2 .what{min-width:0;overflow-wrap:anywhere}.feed2 .who{color:var(--muted);font-size:14px;white-space:nowrap}
@media (max-width:560px){.feed2 li{grid-template-columns:28px minmax(0,1fr)}.feed2 .tm,.feed2 .who{grid-column:2}.feed2 .tm{order:3}}
/* «Настройка учёта» контура (холсты 2.1а и 4.1) */
.setbanner{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:14px;background:#fff7e8;border:1px solid #f0d58a}
.setbanner .n{width:36px;height:36px;border-radius:50%;border:2px solid #d28a22;color:#a8661a;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.setbanner div{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.setbanner b{color:#8a5212}.setbanner small{color:#6b5a3a;font-size:14px}
.steps4{display:flex;align-items:center;gap:14px;font-weight:700;font-size:14px}.steps4 .bar{flex:1 1 auto;height:6px;border-radius:3px;background:#e2e9e6;overflow:hidden}.steps4 .bar i{display:block;height:100%;background:var(--teal)}
.setstep{display:flex;gap:16px;align-items:flex-start}.setstep h2{margin:0;font-size:17px}.setstep p.muted{margin:4px 0 0;font-size:14px}
.setstep .ck{width:34px;height:34px;flex-shrink:0;border-radius:50%;border:2px solid var(--line2);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--muted)}
.setstep.done .ck{background:var(--teal);border-color:var(--teal);color:#fff}.setstep .st{font-weight:700;font-size:14px;color:var(--teal);white-space:nowrap}
.choice2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice2 .opt{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:12px;border:1px solid var(--line2);text-decoration:none;color:var(--ink)}
.choice2 .opt.on{border:2px solid var(--teal);background:#f3faf8}.choice2 .opt.off{opacity:.6}.choice2 small{color:var(--muted);font-size:14px}
.testbox{border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}.testbox.on{background:#fff9ee;border:1px solid #f0dcae}.testbox.off{background:#f7faf9;border:1px solid var(--line)}
.testbox .th{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.testbox .th b{font-size:16px}.testbox p.muted{margin:0;font-size:14px}
.testbox .ic{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.tgl{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 14px 0 8px;border-radius:10px;border:1px solid var(--line2);background:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink)}
.tgl i{width:36px;height:20px;border-radius:10px;background:#cfd9d6;position:relative;flex-shrink:0}.tgl i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.tgl[aria-checked=true] i{background:var(--teal)}.tgl[aria-checked=true] i::after{left:18px}.tgl:disabled{opacity:.6;cursor:not-allowed}
.ownbox{display:flex;flex-direction:column;gap:8px}.ownbox .cap{font-size:14px;letter-spacing:.08em;color:var(--ink2)}
.t tr.inper td{background:#f3f8fc}.t tr.slot td{color:var(--muted)}
.btn.per{border-color:var(--teal);color:var(--teal)}.btn.per.on{background:#1b5e85;border-color:#1b5e85;color:#fff}
.btn.danger{color:#b4232c;border-color:#efc2c5}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ctrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.ctrcard{display:flex;flex-direction:column;gap:10px}.ctrcard .nm{font-size:18px}.ctrcard p{margin:0;font-size:14px}
.ctrcard.hl{outline:2px solid var(--amber)}.ctrcard .dot{width:10px;height:10px;border-radius:50%}
.snav .ct.off .add{flex:0 0 auto;font-weight:700;color:#8bcf77}.snav a.ct.off{opacity:.75}
@media (max-width:900px){.choice2,.row3{grid-template-columns:minmax(0,1fr)}.setstep{flex-wrap:wrap}}
.flowline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600}.flowline span{padding:6px 12px;border-radius:999px;background:#eef3f1;color:var(--muted)}.flowline span.on{background:#e3f1ec;color:var(--teal)}.flowline i{font-style:normal;color:var(--faint)}
@media print{.snav,header.top,.foot,.phead .btn{display:none!important}main{padding:0}}
/* 0.9.7 · кабинет 1.7: сотрудники и роли, настройки, критерии */
.who2{display:flex;align-items:center;gap:10px}.who2 b{display:block}.who2 small{color:var(--muted);font-size:14px}
.av.sm{display:inline-flex;width:24px;height:24px;font-size:14px;vertical-align:middle}
.rdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:middle;background:#7b8b93}
.r-admin{background:#0b5d55}.r-responsible{background:#0f8f7e}.r-reviewer{background:#4f86e8}.r-executor{background:#d0841a}.r-observer{background:#7b8b93}
.rsel{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:10px;padding:0 4px 0 12px;background:#fff}.rsel select{border:0;background:transparent;font-weight:700;padding:9px 6px;min-width:150px}
.rolefix{display:inline-flex;align-items:center;font-weight:700;background:var(--soft);border-radius:10px;padding:8px 12px}.rolefix small{font-weight:400;color:var(--muted);margin-left:4px}
.stdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3aa76d;margin-right:4px}.stdot.stale{background:#d0841a}
tr.pend td{background:#fbfaf6}tr.pend.new td{background:#f3faf8}
.invbox{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}
.rolechips{display:flex;flex-wrap:wrap;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:#fff;width:max-content;max-width:100%}
.rolechips label{position:relative}.rolechips input{position:absolute;opacity:0;pointer-events:none}
.rolechips span,.rolechips button{display:inline-flex;align-items:center;padding:10px 14px;font-weight:700;font-size:14px;color:var(--ink2);cursor:pointer;border:0;background:transparent;font-family:inherit}
.rolechips input:checked+span{background:var(--teal);color:#fff}.rolechips input:focus-visible+span{outline:2px solid var(--teal);outline-offset:-2px}.rolechips input:disabled+span{opacity:.45;cursor:not-allowed}
.rolechips.big{border:0;gap:8px;overflow:visible;background:transparent}.rolechips.big button{border:1px solid var(--line2);border-radius:10px;background:#fff}.rolechips.big button.on{background:var(--teal);color:#fff;border-color:var(--teal)}.rolechips.big button.on .rdot{display:none}
.viewas{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;margin:10px 0 14px}
table.t.matrix td.c,table.t.matrix th.c{text-align:center}table.t.matrix .me{background:#eef7f5}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px;font-size:14px}
.chip{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--line2);border-radius:99px;text-decoration:none;color:var(--ink2);font-weight:600;font-size:14px;background:#fff}.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sbox{min-width:0}.sbox h3{margin:0 0 6px;font-size:16px}
.srow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.srow:last-child{border-bottom:0}.srow b{display:block;font-size:14px}.srow small{color:var(--muted);font-size:14px}.srow>div:first-child{min-width:0}
.numu{display:inline-flex;align-items:center;gap:6px;font-weight:700}.numu input{width:96px;text-align:right}
.sw{position:relative;display:inline-block;width:44px;height:24px}.sw input{opacity:0;width:0;height:0}.sw span{position:absolute;inset:0;border-radius:99px;background:#c9d4d8;cursor:pointer;transition:.15s}.sw span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.15s}
.sw input:checked+span{background:var(--teal)}.sw input:checked+span::before{transform:translateX(20px)}.sw input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.crit{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}.crit:last-child{border-bottom:0}.crit .big{font-size:20px;font-weight:700}
.viewbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 16px;background:#fff4e2;border-bottom:1px solid #f0d5a8;font-size:14px}
@media (max-width:900px){.sgrid{grid-template-columns:1fr}.srow{flex-direction:column;align-items:flex-start}}
.card.tbl>.filters{padding:0 20px}
.invbox>.f,.invbox>div{min-width:0}.srow>div:last-child{min-width:0;max-width:100%}
@media (max-width:600px){.rolechips{width:100%}.rolechips label{flex:1 1 auto}.rolechips span{justify-content:center;width:100%;padding:9px 10px}.rolechips.big button{flex:1 1 auto;justify-content:center}.invbox>.f,.invbox>div{flex-basis:100%!important}}
table.t th.c,table.t td.c{text-align:center}tr.locked td{background:#f7f9f9}
details.faq{border-bottom:1px solid var(--line);padding:10px 0}details.faq:last-child{border-bottom:0}details.faq summary{font-weight:700;cursor:pointer}details.faq p{margin:8px 0 0;color:var(--ink2);font-size:14px}
@media (max-width:700px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.kv dd{min-width:0;overflow-wrap:anywhere}.t input[readonly]{background:#f1f4f4;color:var(--muted);border-color:var(--line)}
.kv dd .pill{white-space:normal}.chead{flex-wrap:wrap}
.docrow{margin-top:6px;font-size:14px;line-height:1.35}.docrow a{font-weight:600;overflow-wrap:anywhere}.docrow small{display:block}
.linkbtn{border:0;background:none;color:var(--bad);font-weight:600;font-size:14px;cursor:pointer;padding:0;text-decoration:underline}
.kpi .v.t{color:var(--teal)}.kpi .v.a{color:#9a5b06}
.docs-chip{text-decoration:none}
.qr svg{width:180px;height:180px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px}
.chartbox{overflow-x:auto}.chartbox svg{width:100%;min-width:560px;height:auto;display:block}
.legend{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink2);flex-wrap:wrap}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px}.legend i.ln{height:2px;width:16px;background:#d0841a;border-radius:0}.legend i.ln.tg{background:repeating-linear-gradient(90deg,#4f86e8 0 5px,transparent 5px 9px)}
.logobox{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;min-width:0}.logobox small{font-size:14px}
.logobox .prev{display:grid;place-items:center;border:1px dashed var(--line2);border-radius:10px;background:#fff}.logobox .prev img{max-width:100%;max-height:100%;object-fit:contain}
.logobox .prev.wide{height:72px;padding:8px}.logobox .prev.sq{width:72px;height:72px;padding:6px;font-weight:700;color:var(--teal)}
.nodeicon{width:28px;height:28px;object-fit:contain;border-radius:6px;background:#fff;border:1px solid var(--line);vertical-align:middle}

/* меню плашки организации (холст 1.7, замечание 25) */
.orgsw{position:relative}.orgsw>summary{list-style:none;cursor:pointer}.orgsw>summary::-webkit-details-marker{display:none}
.orgsw .chev{flex-shrink:0;transition:transform .15s ease}.orgsw[open] .chev{transform:rotate(180deg)}.orgsw[open]>summary{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.orgmenu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:12px;background:#fff;color:#17252d;border:1px solid #d9e3e0;box-shadow:0 16px 40px rgba(10,30,45,.3);max-height:calc(100vh - 140px);overflow-y:auto}
.orgmenu small{display:block;font-size:14px;color:#5b6d76;line-height:1.35}.orgmenu b{font-size:14px;font-weight:600}
.orgmenu .omh{display:flex;align-items:flex-start;gap:8px;padding:8px 6px 10px;border-bottom:1px solid #eef1f0}.orgmenu .omh small:first-child{font-weight:700;letter-spacing:.04em}
.orgmenu .omhome{margin:6px 0 2px;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;background:#e8f3ef;border:1px solid #b9dccd;color:#0b5d57;text-decoration:none}.orgmenu .omhome span{flex:1}.orgmenu .omhome small{color:#3e5f58}
.orgmenu .oml{padding:8px 6px 2px;font-size:14px;font-weight:700;letter-spacing:.02em;color:#5b6d76}.orgmenu .oml em{display:block;font-style:normal;color:#8a520a;letter-spacing:0}
.orgmenu .omc,.orgmenu .oma,.orgmenu .ombill{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:#17252d;text-decoration:none}
.orgmenu .omc span,.orgmenu .oma span,.orgmenu .ombill span{flex:1;min-width:0}.orgmenu .omc:hover,.orgmenu .ombill:hover,.orgmenu .omhome:hover{background:#f1f5f4}.orgmenu .omc.cur{background:#f2f8f6}
.orgmenu .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.orgmenu .ring{width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;flex-shrink:0;box-sizing:border-box}
.orgmenu .oma form{margin:0}.orgmenu .oma .btn{white-space:nowrap}.orgmenu .ombill{margin-top:4px;border-top:1px solid #eef1f0;border-radius:0 0 9px 9px;color:#0b5d57}.orgmenu .omempty{padding:6px 10px;font-size:14px;color:#5b6d76}
/* 0.9.9: плашка профиля на публичных страницах (замечание 39) и шапка на телефоне (А10) */
.pchip{position:relative;color:#fff}.pchip>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06)}
.pchip>summary::-webkit-details-marker{display:none}.pchip[open]>summary,.pchip>summary:hover{background:rgba(255,255,255,.14)}
.pchip .pav{width:30px;height:30px;border-radius:8px;background:#e8f3ef;color:#0b5d57;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;overflow:hidden;flex-shrink:0}.pchip .pav img{width:100%;height:100%;object-fit:contain;background:#fff}
.pchip .pt{display:flex;flex-direction:column;min-width:0;max-width:220px}.pchip .pt b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pchip .pt small{font-size:14px;color:#c3d3dd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pchip .chev{flex-shrink:0;transition:transform .15s}.pchip[open] .chev{transform:rotate(180deg)}
.pchip .pmenu{position:absolute;right:0;top:calc(100% + 6px);z-index:80;min-width:220px;display:flex;flex-direction:column;padding:6px;border-radius:12px;background:#fff;border:1px solid #d9e3e0;box-shadow:0 16px 40px rgba(10,30,45,.3)}
.pchip .pmenu a,.pchip .pmenu button{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;color:#17252d;text-decoration:none;font:inherit;font-size:14px;background:none;border:0;cursor:pointer}
.pchip .pmenu a:hover,.pchip .pmenu button:hover{background:#f1f5f4}.pchip .pmenu form{margin:0;border-top:1px solid #eef1f0;margin-top:4px;padding-top:4px}
@media (max-width:640px){.pub .ptop{padding:12px 16px;flex-wrap:wrap;gap:8px}.pub .ptop .btn.sm{padding:0 12px}.pchip .pt{display:none}}
.snav .it .ex{flex:0 0 auto;font-size:14px;font-weight:700;padding:1px 6px;border-radius:6px;background:rgba(227,169,75,.22);color:#f2c77c;margin-left:auto}
.snav .it .ex + .cnt{margin-left:6px}
/* 0.9.9 · А15: на телефоне в шапке кабинета — только название текущей страницы */
@media (max-width:640px){.top .crumbs a,.top .crumbs span[aria-hidden]{display:none}.top .crumbs b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}}
/* 0.9.9 · А10: на узком экране длинные кнопки переносятся, длинные слова в заголовках не раздвигают страницу */
.btn.wide{white-space:normal;height:auto;min-height:42px;padding-block:8px;text-align:center;line-height:1.3}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
@media (max-width:420px){.sitemap table td.muted,table.t td.muted{white-space:normal;word-break:break-word}}
/* 0.9.9 · замечание 40: кликабельная схема ядра на «О платформе» */
.eco .eco-n{cursor:pointer}.eco .eco-n .hit{transition:filter .15s}.eco .eco-n:hover .hit,.eco .eco-n:focus-visible .hit{filter:brightness(1.18) drop-shadow(0 0 6px rgba(143,201,224,.7))}
.eco .eco-n:focus{outline:none}.eco .eco-n:focus-visible .hit{stroke:#fff;stroke-width:3}
.ecolinks{display:none;list-style:none;margin:14px 0 0;padding:0;grid-template-columns:1fr 1fr;gap:8px}
.ecolinks a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);color:#c3d3dd;text-decoration:none;font-size:14px;overflow-wrap:anywhere}.ecolinks a b{color:#fff;font-size:14px}
@media (max-width:640px){.ecolinks{display:grid}}
/* 0.9.9 · замечание 39: «Вы вошли как…» на «О платформе» */
.youin{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-size:14px;color:#e6eef2}
.youin .pav{width:34px;height:34px;border-radius:8px;background:#e8f3ef;color:#0b5d57;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;overflow:hidden;flex-shrink:0}.youin .pav img{width:100%;height:100%;object-fit:contain;background:#fff}
.youin .yt{flex:1 1 220px;min-width:0;line-height:1.45}.youin .yt small{display:block;font-size:14px;color:#a9bfcc}
.youin a,.youin button{height:36px;padding:0 14px;border-radius:9px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}.youin form{margin:0}
/* 0.9.9 · замечание 41: «Главная» по шагам */
.ctrnew{margin:0 0 12px}.ctrnew a{font-weight:700;margin-left:4px}
.nextsteps{margin:0 0 14px}.nsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nsteps li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line)}.nsteps li:first-child{border-top:0}
.nsteps .n{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;background:#eef1f0;color:#5b6d76}
.nsteps li.done .n{background:#dff1e8;color:#0b5d57}.nsteps li.cur .n{background:#0b5d57;color:#fff}
.nsteps .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nsteps .tx b{font-size:14px;font-weight:600}.nsteps .tx small{font-size:14px;color:var(--muted)}
.nsteps li.done .tx b{color:var(--muted)}.nsteps .lnk{font-size:14px}
/* 0.9.9 · замечание 42: демо «Путь нового пользователя» */
.pill.demo{background:#fff3d6;color:#8a5a00;border:1px solid #f0c66b;font-weight:700}
.demobar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 24px;background:#fffaf0;border-bottom:1px solid #f0dcae}
.demobar .dt{font-size:14px}.demobar ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}
.demobar li a{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;font-size:14px;color:#5b6d76;text-decoration:none;border:1px solid transparent}
.demobar li .n{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef1f0;font-size:14px;font-weight:700}
.demobar li.done a{color:#0b5d57}.demobar li.done .n{background:#dff1e8;color:#0b5d57}
.demobar li.cur a{border-color:#e0b04a;background:#fff;color:#17252d;font-weight:600}.demobar li.cur .n{background:#b7791f;color:#fff}
.demobar form{margin:0}.demobar .tip{flex-basis:100%;margin:0;font-size:14px;color:#6b5320}
@media (max-width:640px){.demobar{padding:10px 16px}.demobar .dt{display:none}}
.demolaunch{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;border-left:4px solid #e0b04a}.demolaunch>div{flex:1 1 260px;display:flex;flex-direction:column;gap:3px}.demolaunch small{font-size:14px;color:var(--muted)}
/* 0.9.9 · А13: правило холста — текст не мельче 12 px (браузерный <small> в таблицах давал 10–11 px) */
small{font-size:max(14px,.85em)}
.cvoff{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 32px 0;border-left:4px solid #b7791f}@media (max-width:640px){.cvoff{margin:12px 16px 0}}
/* 0.9.9 · замечание 44: минимальный текст 14 px; на телефоне показатели кабинета — ровная сетка 2 × 2 */
@media (max-width:640px){.statstrip{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}.statstrip>div{min-width:0;border-left:0!important;padding:10px 12px!important;border-top:1px solid var(--line)}.statstrip>div:nth-child(-n+2){border-top:0}.statstrip>div:nth-child(even){border-left:1px solid var(--line)!important}}
/* 0.9.10 · права узла по контуру */
.msg.nodeband{background:#f1f4fd;border-color:#c9d2f4;color:#24357f}
/* 0.9.10 · «Разработка 7G» */
.devstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 16px}.devstats a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}.devstats b{font-size:24px}.devstats span{font-size:14px;color:var(--muted)}.devstats em{color:var(--bad);font-style:normal;font-weight:600}
.devtodo,.devacc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.devtodo li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-top:1px solid var(--line)}.devtodo li:first-child,.devacc li:first-child{border-top:0}
.devtodo li span{grid-column:1;font-size:14px;color:var(--muted)}.devtodo li a{grid-row:1/3;grid-column:2;align-self:center;font-size:14px;font-weight:600}
.devacc li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.devacc .av{width:36px;height:36px;border-radius:50%;background:#2f47b8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.devacc small{display:block;color:var(--muted)}
.devenv{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.devenv>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.devenv small{font-weight:700;letter-spacing:.08em;color:var(--muted)}.devenv span{font-size:14px;color:var(--muted)}
/* 0.9.10 · 7 этапов проекта MRV */
.mrvstages .chead .muted{font-size:14px}.st7{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.st7 li{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}.st7 li b{font-size:14px}.st7 li small{font-size:14px;color:var(--muted);line-height:1.4}
.st7 .n{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef1f0;font-weight:700;font-size:14px}
.st7 li.done{background:#f3faf7;border-color:#b9dccd}.st7 li.done .n{background:#dff1e8;color:#0b5d57}.st7 li.cur{border-color:#0b5d57;box-shadow:0 0 0 1px #0b5d57}.st7 li.cur .n{background:#0b5d57;color:#fff}
.st7 form{display:flex;flex-direction:column;gap:6px;margin-top:auto}.st7 form input{width:100%;box-sizing:border-box}.st7 .lnk{background:none;border:0;padding:0;color:var(--teal);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px;text-align:left}
@media (max-width:1100px){.st7{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
.devrights{min-width:1080px}.devrights select{min-width:150px}.devrights td:last-child small{display:block;min-width:200px}.devstate{min-width:1100px}.devstate td:first-child small{white-space:nowrap}

/* 0.9.11 · подтверждение важных действий панели (аудит B8) */
.card.stepup{padding:12px 16px;margin:0 0 14px;border-left:4px solid var(--teal,#0b5d55)}
.card.stepup p{margin:0}
/* замечание 51: контур с включёнными тестовыми объектами */
.snav .ct .tst{flex:0 0 auto;font-size:14px;font-weight:700;line-height:1;background:rgba(240,165,90,.22);color:#ffd7ab;border:1px solid rgba(240,165,90,.55);border-radius:6px;padding:2px 6px}
.snav .ct span.tst{flex:0 0 auto;overflow:visible}
/* замечания 47, 50: карточка Личного кабинета — значок организации, «Выбор контура» под шестерёнкой */
.profile .cabside{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:0 0 auto;margin-left:auto}
.profile .cabside .cabctr{white-space:nowrap}
.bigav.img{background:#fff;border:1px solid var(--line,#dce6e4);overflow:hidden;padding:4px}
.bigav.img img{width:100%;height:100%;object-fit:contain;display:block}
@media (max-width:640px){.profile .cabside{flex-direction:row;align-items:center;margin-left:0}}
/* замечание 49: логотип и значок вписываются в рамку предпросмотра целиком и по центру, не вылезают на форму */
.logobox .prev{display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}
.logobox .prev.wide{height:72px;max-width:100%}
.logobox .prev.wide img{display:block;max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain}
.logobox .prev.sq img{display:block;max-width:60px;max-height:60px;width:auto;height:auto;object-fit:contain}

/* замечание 55: меню плашки профиля — карточка: имя, почта и организация; пункты с иконками ровной высоты, рамка при наведении и фокусе; «Выйти» — кнопкой-контуром */
.pchip .pmenu{min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 32px));padding:8px;gap:2px}
.pchip .pmenu .pmh{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid #eef1f0}
.pchip .pmenu .pmh b{font-size:14px;color:#17252d}.pchip .pmenu .pmh small{font-size:14px;color:#5b6f78;overflow-wrap:anywhere}.pchip .pmenu .pmh small.org{color:#0b5d57;font-weight:600}
.pchip .pmenu a,.pchip .pmenu button{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border:1px solid transparent;border-radius:8px;box-sizing:border-box;color:#17252d}
.pchip .pmenu a svg,.pchip .pmenu button svg{flex:0 0 auto;color:#0b5d57}
.pchip .pmenu a:hover,.pchip .pmenu a:focus-visible,.pchip .pmenu button:hover,.pchip .pmenu button:focus-visible{background:#f4f8f7;border-color:#bfd6d0;outline:none}
.pchip .pmenu form{border-top:1px solid #eef1f0;margin-top:6px;padding-top:8px}
.pchip .pmenu button.pout{justify-content:center;border:1px solid #c9d6d3;font-weight:600;color:#17252d}
.pchip .pmenu button.pout svg{color:#5b6f78}
.pchip .pmenu button.pout:hover,.pchip .pmenu button.pout:focus-visible{border-color:#0b5d57;background:#fff}

/* замечание 56: статус систем в подвале по факту */
.foot .ok.st-test i,.foot .ok.st-work i{background:#f0b446}.foot .ok a{color:inherit}
/* замечание 52: три пути создания объектов в GHG 2.1 */
.choice2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.choice2 .opt.on:not(:first-child){border-width:1px;background:#fff}
.choice2 a.opt:hover,.choice2 a.opt:focus-visible{border-color:var(--teal);outline:none}
/* замечание 58: тестовый режим в результатах GHG */
.msg.testmode{background:#fff7ea;border-color:#f0c78a;color:#5a3d0c}
.sharebar{display:inline-block;width:60px;height:6px;border-radius:3px;background:#e3eaea;vertical-align:middle;overflow:hidden}.sharebar i{display:block;height:100%;background:#0b5d55}

.chgtests{margin-top:12px;padding:12px 14px;border:1px solid #f0c78a;border-radius:10px;background:#fffaf1;display:flex;flex-direction:column;gap:8px}

/* 0.9.12 · база знаний (замечание 59) */
.pub .ptop .ptlink{color:#d5e1e8;text-decoration:none;font-weight:600;font-size:14px;padding:0 6px}.pub .ptop .ptlink:hover{color:#fff}
.kbcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.kbcrumbs a{color:var(--teal)}
.kbwrap{display:flex;flex-direction:column;gap:18px}.pub .kbwrap{max-width:1180px;width:100%;margin:0 auto;padding:18px 48px 48px;box-sizing:border-box;flex:1}
.kbnav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.kbsearch{display:flex;gap:8px;flex:1 1 360px;max-width:560px}.kbsearch input{flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;font:inherit}
.kblinks{display:flex;gap:6px;flex-wrap:wrap}.kblinks a{padding:7px 12px;border-radius:9px;text-decoration:none;color:var(--ink);border:1px solid var(--line2);font-weight:600;font-size:14px}
.kblinks a[aria-current]{background:#e9f5f2;border-color:var(--teal);color:var(--teal)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kbstats{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted)}.kbstats b{color:var(--ink);font-size:18px}
.kbcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.kbcard{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line2);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink)}
.kbcard:hover,.kbcard:focus-visible{border-color:var(--teal);box-shadow:0 4px 16px rgba(11,93,85,.08);outline:none}
.kbcard small{color:var(--teal);font-weight:700;font-size:14px}.kbcard b{font-size:15px;line-height:1.35}.kbcard span{color:var(--muted);font-size:14px;line-height:1.45}
.kbsec{display:flex;flex-direction:column;gap:8px}.kbsech{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.kbsech h2{margin:0;font-size:20px}.kbsech h2 a{color:var(--ink);text-decoration:none}
.kblist{margin:0;padding:0;list-style:none;columns:2 320px;column-gap:28px}.kblist li{padding:6px 0;break-inside:avoid;border-bottom:1px solid #eef1f0}.kblist a{color:var(--ink)}
.lvl{font-size:14px;color:var(--muted)}
.kbother{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.kbother a{color:var(--teal)}
.kbart header{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.kbart h1{margin:0;font-size:32px;line-height:1.2;text-wrap:balance}.kbart .eyebrow a{color:inherit;text-decoration:none}
.kbmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kbgrid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.kbtoc{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--line2);border-radius:12px;background:#fbfdfc;font-size:14px}
.kbtoc a{color:var(--ink);text-decoration:none;padding:5px 6px;border-radius:6px;line-height:1.35}.kbtoc a:hover{background:#eef6f4}
.kbbody{max-width:76ch;font-size:16px;line-height:1.65;min-width:0}.kbbody h2{font-size:22px;margin:28px 0 8px;scroll-margin-top:16px}.kbbody h3{font-size:17px;margin:20px 0 6px}
.kbbody p{margin:0 0 12px}.kbbody ul,.kbbody ol{margin:0 0 12px;padding-left:22px}.kbbody li{margin:4px 0}.kbbody a{color:var(--teal)}
.kbbody .tw{margin:6px 0 14px}.kbbody table.t td,.kbbody table.t th{font-size:15px}
.kbgrid>.kbbody:only-child{grid-column:1/-1}
.kbpartner,.kbrel{margin-top:22px;padding:14px 16px;border-radius:12px;background:#f6faf9;border:1px solid #dcebe7}.kbpartner ul{margin:8px 0 0;padding-left:20px}
.kbrel .kbcards{margin-top:10px}
.kbpn{display:flex;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}.kbpn a{color:var(--teal);text-decoration:none;font-weight:600}
.kbfilter{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.kbfilter span{color:var(--muted);margin-left:6px}
.chip{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:14px;cursor:pointer}.chip.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.kbdocs{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.kbdoc{display:flex;flex-direction:column;gap:8px}.kbdoc h2{margin:0;font-size:18px}.kbdoc .sub{margin:0;color:var(--muted)}.kbdoc p{margin:0}
.kbdoc.pend{border:1px dashed #d9a441;background:#fffaf0}.kbdh{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kbdf{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:auto}.kbdf a{color:var(--teal);font-weight:600}
.kbletters{display:flex;gap:6px;flex-wrap:wrap}.kbletters a{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:8px;text-decoration:none;color:var(--ink);font-weight:700}
.kbterms h2{margin:18px 0 6px;font-size:22px;color:var(--teal)}.kbterm{padding:10px 0;border-bottom:1px solid #eef1f0}.kbterm h3{margin:0 0 4px;font-size:16px}.kbterm h3 small{color:var(--muted);font-weight:500}.kbterm p{margin:0;line-height:1.55}.kbterm a{color:var(--teal)}
.kbedit{display:flex;flex-direction:column;gap:12px}.kbedit textarea{font-size:14px;line-height:1.5}
@media (max-width:900px){.kbgrid{grid-template-columns:minmax(0,1fr)}.kbtoc{position:static}.pub .kbwrap{padding:14px 16px 32px}.kbcards{grid-template-columns:minmax(0,1fr)}.kbart h1{font-size:26px}.kbdocs{grid-template-columns:minmax(0,1fr)}}
/* 0.9.12 · поиск */
.kbres{display:flex;flex-direction:column;gap:8px}.kbres h2{margin:6px 0 2px;font-size:18px}
.kbhit{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;text-decoration:none;color:var(--ink);background:#fff}
.kbhit:hover,.kbhit:focus-visible{border-color:var(--teal);outline:none}.kbhit small{color:var(--teal);font-weight:600;font-size:14px}.kbhit span{color:var(--muted);font-size:14px;line-height:1.45}
mark{background:#fff1c2;color:inherit;border-radius:3px;padding:0 1px}
.tsearch{flex:0 1 260px;margin:0 8px 0 auto;min-width:120px}.tsearch input{width:100%;height:38px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;font:inherit;font-size:14px;background:#f7faf9;box-sizing:border-box}
.top .crumbs{flex:1 1 auto;min-width:0}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:90;background:#fff;border:1px solid #d9e3e0;border-radius:12px;box-shadow:0 14px 34px rgba(10,30,45,.18);padding:6px;display:flex;flex-direction:column;min-width:280px;max-height:70vh;overflow:auto}
.sugg a{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;text-decoration:none;color:#17252d}.sugg a small{color:#0b5d57;font-size:14px;font-weight:600}.sugg a b{font-size:14px;font-weight:600}
.sugg a:hover,.sugg a.on{background:#eef6f4}.sugg .sall{color:#0b5d57;font-weight:700;font-size:14px;border-top:1px solid #eef1f0;margin-top:4px;padding-top:10px}
.sugg .sfix{font-size:14px;color:#5b6f78;padding:6px 10px}
@media (max-width:820px){.tsearch{display:none}}
.sugg[hidden]{display:none}
.top .crumbs{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kbstats{row-gap:4px}

/* карта сайта для людей (0.9.12, замечание 60) */
.smap{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}
.smapl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.smapl li{line-height:1.45}

/* ---------- 0.9.12 · замечание 57: темы оформления и порядок блоков меню ---------- */
.snav .grpb{order:90}
.snav .menued{opacity:.85}
body.themed{background:#16324a var(--th-bg) center/cover fixed no-repeat}
body.themed .shell{background:transparent}
/* меню поверх темы: полупрозрачное с размытием; цвета дают контраст ≥ 4,5:1 даже над белым фоном (проверка — tests/qa_0912.py) */
body.themed .snav{background:rgba(16,38,56,.86);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);
  --nav-tx:#e8f0f4;--nav-mut:#b9cad6;--nav-sub:#dbe6ec;border-right:1px solid rgba(255,255,255,.08)}
body.themed .snav .cnt{color:#c6d6e0}
body.themed .top{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:rgba(23,37,45,.08)}
/* рабочая область — светлая панель поверх темы: текст страниц читается на любом фото */
body.themed main{background:rgba(244,247,246,.94);border-radius:18px;margin:16px 16px 0;width:auto;box-shadow:0 10px 40px rgba(10,25,35,.18)}
@media (max-width:900px){body.themed main{margin:10px 8px 0;border-radius:14px}body.themed .snav{background:rgba(16,38,56,.94)}}
/* «Настроить меню» */
.snav.editing .grp[data-blk]{outline:1px dashed rgba(255,255,255,.28);outline-offset:4px;border-radius:8px}
.snav .gl .mv{display:none}
.snav.editing .gl{display:flex;align-items:center;gap:6px}
.snav.editing .gl .mv{display:inline-flex;margin-left:auto;gap:4px}
.snav .mv button{width:26px;height:26px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer}
.snav .mv button:disabled{opacity:.35;cursor:default}
.snav .mv button:focus-visible,.snav .medbar button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.snav .medbar{order:0;display:flex;flex-wrap:wrap;gap:6px;padding:10px;border-radius:10px;background:rgba(255,255,255,.08)}
.snav .medbar p{margin:0 0 4px;width:100%;font-size:14px;color:var(--nav-tx)}
.snav .medbar button{height:30px;padding:0 10px;border-radius:7px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:500 14px Inter,system-ui,sans-serif;cursor:pointer}
.snav .medbar button.pri{background:var(--teal);border-color:var(--teal)}
/* выбор темы: карточки-превью */
.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.themes label{display:flex;flex-direction:column;gap:6px;cursor:pointer}
.themes input{position:absolute;opacity:0}
.themes .thsw{height:72px;border-radius:10px;border:2px solid var(--line);display:flex;overflow:hidden;background:var(--bg)}
.themes .thsw i{width:30%;background:rgba(16,38,56,.86)}
.themes input:checked+.thsw{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg)}
.themes input:focus-visible+.thsw{outline:2px solid var(--teal);outline-offset:2px}
.themes small{color:var(--muted);font-size:14px;line-height:1.3}
.mlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.mlist li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.mlist li b{flex:1}.mlist form{margin:0}
