/* Bundled variable fonts: Google Fonts OFL builds, Cyrillic and Latin subsets. */
@font-face{font-family:"Golos Text";src:url("fonts/golos-text-cyrillic.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Golos Text";src:url("fonts/golos-text-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA-02DC, U+0304, U+0308, U+0309, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-cyrillic.woff2") format("woff2");font-style:normal;font-weight:700 800;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-latin.woff2") format("woff2");font-style:normal;font-weight:700 800;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA-02DC, U+0304, U+0308, U+0309, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-cyrillic.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-latin.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA-02DC, U+0304, U+0308, U+0309, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215}
/* Ассистент наставника v4 — общий слой по дизайн-системе «Ассистент наставника — ЦПБ» */
@font-face{font-family:"Moskvich Sans";src:url("assets/MoskvichSans-Bold.otf") format("opentype");font-weight:700;font-style:normal}
:root{
--bg:#f2f2f4;--surface:#ffffff;--sunken:#f7f7f8;--border:#e2e2e6;--border-light:#ececef;--border-control:#7b7e87;
--ink:#3a3c42;--ink2:#61646c;--muted:#9b9da4;--brand:#e44621;--primary:#ac3c0c;--primary-hover:#8c300a;--primary-soft:#fbece6;
--navy:#3a3c42;--on-navy:#ffffff;--on-navy-muted:#c6c8ce;--accent:#aed7fd;
--mentor:#c2410c;--mentor-soft:#fdf0ea;--mentor-ink:#8c300a;--cand:#3a5dae;--cand-soft:#edf1fb;--cand-ink:#2c4a8f;
--fresh:#1b8450;--fresh-soft:#e4f4eb;--fresh-ink:#0f5132;--chg:#9a6c00;--chg-soft:#fff5cf;--chg-ink:#5c4300;
--manual:#3a3c42;--manual-soft:#eceef1;--danger:#c0134f;--danger-soft:#fce7ee;--warning:#ffc108;
--sh-sm:0 1px 2px rgba(58,60,66,.08),0 1px 3px rgba(58,60,66,.06);
--sh-md:0 4px 12px rgba(58,60,66,.14),0 2px 4px rgba(58,60,66,.08);
--sh-lg:0 12px 32px rgba(58,60,66,.18);
--sans:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;--head:Montserrat,"Golos Text",sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--display:"Moskvich Sans","Golos Text",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:20px}
.screen{display:flex;flex-direction:column;background:var(--bg);overflow:hidden}
/* шапка */
.hdr{height:56px;flex:none;background:var(--navy);color:var(--on-navy);display:flex;align-items:center;gap:12px;padding:0 16px 0 0}
.hdr .logo{width:164px;height:56px;display:flex;align-items:center;padding-left:24px;border-right:1px solid rgba(255,255,255,.14)}
.hdr .logo img{height:28px;width:auto}
.hdr .who{display:flex;flex-direction:column;min-width:0}
.hdr .name{font-family:var(--display);font-weight:700;font-size:20px;line-height:24px}
.hdr .sub{font-size:12px;line-height:16px;color:var(--on-navy-muted);white-space:nowrap}
.hdr .grow{flex-grow:1}
.btn{height:32px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;border:1px solid var(--border-control);background:var(--surface);color:var(--ink)}
.btn svg{width:14px;height:14px;flex:none}
.btn.onnavy{background:transparent;color:var(--on-navy);border-color:var(--on-navy-muted)}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.ghost{border-color:transparent;background:transparent;color:var(--ink2)}
.btn.sm{height:24px;padding:0 8px;font-size:12px;gap:4px;border-radius:8px}
.btn.sm svg{width:12px;height:12px}
.btn.iconly{width:32px;padding:0;justify-content:center}
.pill{height:24px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.pill.rec{background:var(--danger-soft);color:var(--danger)}
.pill.rec i{width:8px;height:8px;border-radius:50%;background:var(--danger);display:inline-block}
.pill.done{background:var(--fresh-soft);color:var(--fresh-ink)}
.tc{font-family:var(--mono);font-size:12px;line-height:16px}
/* каркас */
.body{flex-grow:1;display:flex;min-height:0}
.rail{width:72px;flex:none;background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0;border-right:1px solid var(--border-light)}
.rail a{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink2)}
.rail a.on{background:var(--primary-soft);color:var(--primary)}
.rail svg{width:16px;height:16px}
.work{flex-grow:1;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
/* сводка */
.summary{height:44px;flex:none;background:var(--surface);border-radius:12px;box-shadow:var(--sh-sm);display:flex;align-items:center;gap:20px;padding:0 16px;font-size:12px;color:var(--ink2)}
.summary b{color:var(--ink);font-weight:500}
.meter{width:120px;height:6px;border-radius:3px;background:var(--border-light);overflow:hidden}
.meter i{display:block;height:100%;background:var(--ink)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.dot.fresh{background:var(--fresh)}.dot.chg{background:var(--chg)}
.dot.unsure{background:transparent;border:2px solid var(--chg);width:10px;height:10px}
.sitem{display:flex;align-items:center;gap:6px;white-space:nowrap}
/* уточнения */
.ask{flex:none;background:var(--surface);border-radius:12px;box-shadow:var(--sh-sm);display:flex;flex-direction:column}
.askrow{display:flex;align-items:center;gap:12px;padding:8px 16px;min-height:44px}
.askrow+.askrow{border-top:1px solid var(--border-light)}
.ask .lead{font-size:13px;font-weight:600;font-family:var(--sans);color:var(--primary);display:flex;align-items:center;gap:6px;width:112px;flex:none}
.ask .q{flex-grow:1;font-size:14px}
.ask .q b{font-weight:600}
.chip{height:24px;display:inline-flex;align-items:center;padding:0 8px;border-radius:4px;background:var(--sunken);font-size:12px;color:var(--ink2);white-space:nowrap}
/* карточки */
.cols{flex-grow:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:0;align-items:start}
.col{display:flex;flex-direction:column;gap:16px}
.card{background:var(--surface);border-radius:12px;box-shadow:var(--sh-sm);padding:16px;display:flex;flex-direction:column;gap:8px}
.card .ch{display:flex;align-items:center;gap:8px;height:20px;margin-bottom:4px}
.card .ct{font-family:var(--sans);font-weight:600;font-size:14px;line-height:20px;color:var(--ink)}
.card .cc{margin-left:auto;font-size:12px;color:var(--ink2)}
.card .ch svg{width:14px;height:14px;color:var(--ink2)}
.sub-h{font-size:12px;font-weight:600;color:var(--ink2);display:flex;align-items:center;gap:8px;margin-top:4px}
.sub-h::after{content:"";flex-grow:1;height:1px;background:var(--border-light)}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
/* поле */
.f{position:relative;border-radius:8px;padding:8px 12px;background:var(--sunken);border:1px solid transparent;display:flex;flex-direction:column;min-height:54px}
.f .top{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:var(--ink2)}
.f .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f .tag{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-weight:500;white-space:nowrap}
.f .tag svg{width:12px;height:12px}
.f .val{font-size:14px;line-height:20px;color:var(--ink);font-weight:400}
.f .was{font-size:12px;line-height:16px;color:var(--chg-ink)}
.f .was s{opacity:.9}
.f .note{font-size:12px;line-height:16px;color:var(--ink2)}
.f .acts{display:flex;gap:8px;margin-top:6px}
.f.empty{background:transparent;border:1px dashed var(--border-control)}
.f.empty .val{color:var(--ink2);font-weight:400}
.f.fresh{background:var(--fresh-soft)}
.f.fresh .tag{color:var(--fresh-ink)}
.f.chg{background:var(--chg-soft);border-color:var(--chg)}
.f.chg .tag{color:var(--chg-ink)}
.f.manual{background:var(--manual-soft)}
.f.manual .tag{color:var(--manual)}
.f.fixed{background:var(--fresh-soft)}
.f.fixed .tag{color:var(--fresh-ink)}
.f.fixed .was{color:var(--fresh-ink)}
.f.unsure .tag{color:var(--chg-ink)}
.f.unsure .val span{text-decoration:underline dotted var(--chg);text-decoration-thickness:2px;text-underline-offset:4px}
.f.unsure.open{border-color:var(--chg);background:var(--surface);box-shadow:0 0 0 2px var(--chg-soft)}
.f.conflict{background:var(--primary-soft)}
.f.conflict .tag{color:var(--mentor-ink)}
.opt{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.opt button{height:28px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border-radius:8px;border:1px solid var(--border-control);background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer}
.opt button .tc{color:var(--ink2)}
.skills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sk{height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:4px;background:var(--sunken);font-size:12px;color:var(--ink)}
.sk.fresh{background:var(--fresh-soft);color:var(--fresh-ink)}
.sk.manual{background:var(--manual-soft)}
.sk svg{width:12px;height:12px}
.sk-empty{font-size:14px;color:var(--ink2);line-height:24px}
.sk-del{background:transparent;border:none;padding:0 0 0 4px;font-size:14px;line-height:1;color:var(--ink2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.sk-del:hover{color:var(--ink)}
.sk-add{display:inline-flex;align-items:center;gap:4px}
.sk-add input{height:24px;width:120px;padding:0 8px;border-radius:4px;border:1px solid #c3c5ca;background:#fff;font-family:var(--sans);font-size:12px;color:var(--ink);outline:none}
.sk-add input:focus{border-color:var(--primary)}
.sk-add input::placeholder{color:var(--ink2)}
.sk-add button{height:24px;width:24px;padding:0;border-radius:4px;border:1px solid #c3c5ca;background:#fff;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.sk-add button:hover{border-color:var(--primary);color:var(--primary)}
/* подсказка «не уверен» */
.pop{position:absolute;z-index:5;width:340px;background:var(--surface);border-radius:8px;box-shadow:var(--sh-md);padding:12px;display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:16px}
.pop .why{display:flex;gap:8px;align-items:flex-start;color:var(--chg-ink);font-weight:600;font-size:12px}
.pop .src{border-radius:8px;background:var(--cand-soft);padding:8px 10px;color:var(--ink);font-size:13px;line-height:18px}
.pop .src .who{font-size:12px;color:var(--cand-ink);font-weight:600;display:flex;gap:8px;margin-bottom:2px}
.pop mark{background:var(--chg-soft);color:var(--ink);padding:0 2px;border-radius:2px;box-shadow:inset 0 -2px 0 var(--chg)}
.pop .row{display:flex;gap:8px;align-items:center}
/* роли и реплики */
.role{height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 10px;border-radius:999px;font-family:var(--head);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid}
.role.m{color:var(--mentor-ink);border-color:var(--mentor);background:var(--surface)}
.role.c{color:var(--cand-ink);border-color:var(--cand);background:var(--surface)}
.role.q{border-style:dashed}
.turn{border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.turn.m{background:var(--mentor-soft)}
.turn.c{background:var(--cand-soft)}
.turn .th{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink2)}
.turn .tx{font-size:14px;line-height:20px}
.turn.src{box-shadow:0 0 0 2px var(--chg)}
.turn .prov{color:var(--ink2);font-style:italic}
.seam{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--chg-ink);padding:0 4px}
.seam::before,.seam::after{content:"";flex-grow:1;border-top:1px dashed var(--chg)}
/* таблицы */
table{border-collapse:collapse;width:100%}
th{font-size:12px;line-height:16px;font-weight:600;color:var(--ink2);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
td{font-size:14px;line-height:20px;padding:10px 12px;border-bottom:1px solid var(--border-light);white-space:nowrap}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}

/* ===== Чистая палитра v4 (после отклонения 24.09): нейтральные поверхности, один акцент, состояния — точкой и словом ===== */
:root{--bg:#f5f5f6;--line:#e6e6e9;--dot-fresh:#1f8a55;--dot-chg:#b7791f;--accent:#ac3c0c}
body{background:var(--bg)}
.screen{background:var(--bg)}
.hdr{background:#ffffff;color:var(--ink);border-bottom:1px solid var(--line)}
.hdr .logo{border-right:1px solid var(--line)}
.hdr .logo img{height:30px}
.hdr .name{color:var(--ink)}
.hdr .sub{color:var(--ink2)}
.btn.onnavy{background:#ffffff;color:var(--ink);border-color:#d4d5d9}
.btn{border-color:#d4d5d9}
.pill.rec{background:#f5f5f6;color:var(--ink);font-weight:500}
.pill.rec i{background:#d0342c}
.pill.done{background:#f5f5f6;color:var(--ink);font-weight:500}
.rail a.on{background:#f0f0f2;color:var(--ink)}
.summary,.ask,.card{box-shadow:none;border:1px solid var(--line)}
.meter i{background:var(--ink)}
.dot.fresh{background:var(--dot-fresh)}.dot.chg{background:var(--dot-chg)}
.dot.unsure{border-color:var(--dot-chg)}
.ask .lead{color:var(--ink)}
.chip{background:#f5f5f6}
/* поля: одна нейтральная подложка; цвет только у точки и метки */
.f{background:#f7f7f8}
.f.fresh,.f.fixed,.f.manual,.f.conflict{background:#f7f7f8}
.f.fresh .tag,.f.fixed .tag{color:var(--dot-fresh)}
.f.fixed .was{color:var(--ink2)}
.f.chg{background:#ffffff;border-color:var(--dot-chg)}
.f.chg .tag{color:#7a5312}
.f .was{color:var(--ink2)}
.f.manual .tag{color:var(--ink2)}
.f.unsure .tag{color:#7a5312}
.f.unsure .val span{text-decoration-color:var(--dot-chg)}
.f.unsure.open{background:#ffffff;border-color:var(--dot-chg);box-shadow:none}
.f.conflict .tag{color:var(--accent)}
.f.empty{background:transparent;border-color:#c3c5ca}
.opt button{border-color:#d4d5d9}
.sk,.sk.fresh,.sk.manual{background:#f5f5f6;color:var(--ink)}
.sk.fresh::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot-fresh);margin-right:2px}
/* подсказка и стенограмма без цветных плашек */
.pop{border:1px solid var(--line);box-shadow:0 8px 24px rgba(58,60,66,.12)}
.pop .why{color:#7a5312}
.pop .src{background:#f7f7f8}
.pop .src .who{color:var(--ink2)}
.pop mark{background:transparent;box-shadow:inset 0 -2px 0 var(--dot-chg)}
.turn.m,.turn.c{background:#ffffff;border:1px solid var(--line)}
.turn.src{border-color:var(--dot-chg);box-shadow:none}
.role{border:none;padding:0;background:transparent;height:auto;font-size:11px}
.role.m{color:var(--mentor-ink)}
.role.c{color:var(--cand-ink)}
.role.q::after{content:" ?"}
.seam{color:#7a5312}
.seam::before,.seam::after{border-top-color:#d9c08a}

/* ===== Правки Сергея 24.09 (2): крупный логотип, прозрачные подтверждённые поля, экран соискателя ===== */
.hdr{height:64px}
.hdr .logo{width:216px;height:64px;padding-left:24px}
.hdr .logo img{height:44px;width:auto}
/* подтверждено наставником / вручную: не выглядит как «надо править», правка по клику остаётся */
.f.manual,.f.ok{background:transparent;border:1px solid transparent}
.f.manual .tag,.f.ok .tag{color:var(--muted);font-weight:500}
.f.manual:hover,.f.ok:hover{border-color:var(--line);cursor:text}
.f .edit{display:none;margin-left:6px;color:var(--muted)}
.f.manual:hover .edit,.f.ok:hover .edit{display:inline-flex}
.btn .live{width:8px;height:8px;border-radius:50%;background:var(--dot-fresh);display:inline-block}
/* экран соискателя */
.cand{display:flex;flex-direction:column;background:#faf9f7;color:var(--ink);font-family:var(--sans)}
.cand .top{display:flex;align-items:center;justify-content:space-between}
.cand .ttl{font-family:var(--display);font-weight:700;color:#e44621}
.inp{height:64px;border-radius:12px;border:1px solid #d4d5d9;background:#fff;padding:0 20px;display:flex;align-items:center;font-size:22px;color:var(--ink)}
.inp.filled{background:#f7f7f8;border-color:transparent}
.inp.focus{border:2px solid var(--ink);box-shadow:0 0 0 4px #ececef}
.inp .ph{color:var(--muted)}
.inp .hint{margin-left:auto;font-size:15px;color:var(--ink2)}
.cbx{display:flex;gap:16px;align-items:flex-start;font-size:19px;line-height:28px}
.cbx i{width:28px;height:28px;border-radius:6px;border:2px solid var(--border-control);flex:none;display:inline-flex;align-items:center;justify-content:center;margin-top:0}
.cbx i.on{background:var(--ink);border-color:var(--ink)}
.cbx a{color:var(--ink);text-decoration:underline}

.hdr .who{min-width:0;flex-shrink:1}
.hdr .sub,.hdr .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role.q{border:none;text-decoration:underline dashed;text-underline-offset:3px}

/* Weight budget: values are regular; only the two anchors (ФИО, желаемая должность) stay semibold. */
.f[data-path="personal.full_name"]:not(.empty) .val,.f[data-path="target.title"]:not(.empty) .val{font-weight:600}
#v4Screen .f .alt.alt-titles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.alt-lead{font-size:12px;color:var(--ink2)}
