/* Фирменный стиль Группы ОСК (Руководство ОСК.КСМК 00.050-2025)
   Signal Red #B21E28 · White Aluminium #CDD1D4 · White · Iron Grey #4E5A64
   Шрифты: OSK Headline (заголовки, только заглавные), OSK Text (основной), OSK Bold (акценты). */
@font-face{font-family:'OSK Text';src:url(fonts/OSK-Regular.woff2) format('woff2'),url(fonts/OSK-Regular.woff) format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'OSK Text';src:url(fonts/OSK-Bold.woff2) format('woff2'),url(fonts/OSK-Bold.woff) format('woff');font-weight:600 800;font-display:swap}
@font-face{font-family:'OSK Headline';src:url(fonts/OSK-Headline.woff2) format('woff2'),url(fonts/OSK-Headline.woff) format('woff');font-display:swap}

:root{
  --osk-red:#B21E28;--osk-red-dark:#8E1720;--osk-red-soft:#F7E8E9;--osk-alu:#CDD1D4;--osk-grey:#4E5A64;--osk-grey-dark:#333C43;
  --navy:#333C43;--navy-deep:#4E5A64;--blue:#B21E28;--teal:#4E5A64;
  --text:#262E35;--muted:#66717B;--line:#DCDFE2;--bg:#F3F4F5;--paper:#fff;--soft:#ECEEF0;
  --red:#B21E28;--green:#2E6B4F;--green-bg:#EDF4F0;--amber:#8A6418;--amber-bg:#FBF5E8;
  --shadow:0 4px 18px rgba(38,46,53,.05);
  font-family:'OSK Text',Arial,sans-serif;
}
body{font-family:'OSK Text',Arial,sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font-family:inherit}
strong,b,h2,h3,h4,th,.btn{font-weight:600}
h1,.page-head h1,.welcome h1,.screen h1{font-family:'OSK Headline','OSK Text',Arial,sans-serif;text-transform:uppercase;font-weight:400;letter-spacing:.5px;line-height:1.12}
.page-head h1{font-size:30px}
.page-head h1::before{content:'';display:block;width:44px;height:4px;background:var(--osk-red);margin-bottom:16px}
.eyebrow{color:var(--osk-red);letter-spacing:1.6px}
a{color:var(--osk-red)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(178,30,40,.45)}
input:hover,textarea:hover,select:hover{border-color:#8A949C}
input:focus,textarea:focus,select:focus{border-color:var(--osk-grey);outline:none;box-shadow:0 0 0 3px rgba(78,90,100,.15)}

/* Кнопки: красный — главный акцент бренда */
.btn{background:var(--osk-red);border-radius:4px;letter-spacing:.2px}
.btn:hover{background:var(--osk-red-dark)}
.btn.teal{background:var(--osk-red)}.btn.teal:hover{background:var(--osk-red-dark)}
.btn.secondary{border-color:#B9BFC4;color:var(--osk-grey-dark);background:#fff}.btn.secondary:hover{background:var(--soft);border-color:var(--osk-grey)}
.btn.quiet{color:var(--muted)}.btn.quiet:hover{background:var(--soft);color:var(--osk-grey-dark)}
.btn.danger{background:var(--osk-grey-dark)}.btn.danger:hover{background:#1E252A}
.card,.right-panel,.info-card,.option,.fact,.team-tile,dialog,.control-bar,.registration-grid,.step-action,.host-summary>div{border-radius:6px}
.card{border-color:var(--line)}

/* Шапка: логотипы партнёров через вертикальный разделитель (п. 1.1.12) */
.topbar{border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 var(--osk-red)}
.brand{gap:14px}
.logos{display:flex;align-items:center;gap:14px;flex:none}
.logo-osk{height:26px;width:auto;display:block}
.logo-sep{width:1px;height:34px;background:var(--osk-alu);display:block}
.logo-ranepa{height:32px;width:auto;display:block}
.brand-word{color:var(--osk-grey-dark);border-left:1px solid var(--line);padding-left:14px}
.brand-word small{color:var(--muted)}
.team-label strong{color:var(--osk-grey-dark)}

/* Навигация */
.nav-button.active{background:#fff;color:var(--osk-grey-dark);box-shadow:inset 3px 0 0 var(--osk-red)}
.nav-button:hover:not(:disabled){background:#fff;color:var(--osk-grey-dark)}
.nav-button.active .nav-icon{background:var(--osk-red);border-color:var(--osk-red)}
.nav-icon{border-color:#BFC5CA;border-radius:3px}
.flow-list li.current{border-color:var(--osk-red);color:var(--osk-red)}.flow-list li.done{border-color:var(--osk-grey);color:var(--osk-grey)}
.tabs button.active{border-color:var(--osk-red);color:var(--osk-grey-dark)}

/* Выбор вариантов */
.option{border-color:#C9CED2}.option:hover{border-color:var(--osk-grey);background:#FAFAFB}
.option.selected{border-color:var(--osk-red);background:var(--osk-red-soft)}
.option input{accent-color:var(--osk-red)}
.option .option-letter{background:var(--soft);border-color:#C9CED2;border-radius:3px;color:var(--osk-grey-dark)}
.option.selected .option-letter{background:var(--osk-red);border-color:var(--osk-red);color:#fff}
.question-tabs button.active{border-color:var(--osk-grey);background:#fff;color:var(--osk-grey-dark)}
.question-tabs button.answered>span{background:var(--osk-grey)}
.mode-option input,input[type=checkbox]{accent-color:var(--osk-red)}

/* Плашки, выноски, панели */
.pill{background:var(--soft);color:var(--osk-grey-dark);border-radius:3px}
.callout{background:#F6F7F8;border-color:var(--line);border-left-color:var(--osk-grey)}
.callout.loss{background:var(--osk-red-soft);border-color:#EBC9CB;border-left-color:var(--osk-red)}
.section-number{background:var(--soft);border-color:var(--line);color:var(--osk-grey-dark)}
.right-panel{border-top:3px solid var(--osk-red)}
.branch-picker{background:var(--soft)}.branch-picker button.active{color:var(--osk-grey-dark);box-shadow:0 1px 4px rgba(38,46,53,.15)}
.metric-main .value{color:var(--osk-grey-dark)}
.before-after strong,.kpi strong,.intro-kpis strong,.score-box strong,.rank-score b,.host-summary strong,.result-changes>div>strong{color:var(--osk-grey-dark)}
.score-progress{color:var(--osk-grey)}
.mini-timeline{background:#F7F8F9}.timeline-dot{border-color:var(--osk-red)}
thead th{background:#ECEEF0;color:var(--osk-grey-dark)}
.step-action{background:#fff;border:1px solid var(--line);border-left:4px solid var(--osk-red);position:relative;overflow:hidden}
.step-action::after{content:'';position:absolute;right:20px;bottom:14px;width:220px;height:4px;background:url(brand/morse-grey.svg) repeat-x;background-size:auto 4px;opacity:.9}
.outcome-head{border-left:3px solid var(--osk-red)}
.reference-option.preferred,.option-key.preferred{border-left-color:var(--osk-red);background:#FBF7F7}
.theory-item h3{color:var(--osk-grey-dark)}
.timer-chip{background:#fff;border-color:var(--line)}.timer-chip .tl{color:var(--muted)}.timer-chip .tv{color:var(--osk-grey-dark)}
.timer-chip.ending{border-color:var(--osk-red);background:var(--osk-red-soft)}
.phase-banner{background:var(--osk-grey);border-radius:6px;position:relative;overflow:hidden}
.phase-banner .eyebrow{color:var(--osk-alu)}
.phase-banner::after{content:'';position:absolute;left:20px;bottom:8px;width:260px;height:4px;background:url(brand/morse-white.svg) repeat-x;opacity:.25}
.member{background:var(--soft);color:var(--osk-grey-dark);border-radius:3px}.member.me{background:var(--osk-red)}
.team-tile:hover{border-color:var(--osk-grey)}.team-tile.active{border-color:var(--osk-red);background:var(--osk-red-soft)}
.team-tile b{color:var(--osk-grey-dark)}
.pin{background:var(--soft);border-color:var(--line);color:var(--osk-grey-dark);border-radius:3px}
.badge{background:var(--osk-red)}
.progress-pills span{background:var(--soft);border-radius:3px}.progress-pills span.ok{background:var(--osk-grey);color:#fff}
.conn.ok{background:#3E8A62}
.text-bad{color:var(--osk-red)!important}
.change-metric.bad .delta,.change-metric.bad strong{color:var(--osk-red)}
.risk-item{background:var(--osk-red-soft);border-color:#EBC9CB;border-left-color:var(--osk-red);color:var(--osk-red-dark)}
.condition-row b{color:var(--osk-grey)}
.condition-grid b{color:var(--osk-grey-dark)}
.fact.granted{border-color:var(--osk-grey)}
.fact.locked{background:repeating-linear-gradient(135deg,#F7F8F9,#F7F8F9 10px,#F0F1F3 10px,#F0F1F3 20px)}
.opt-editor.s3{border-left-color:var(--osk-red)}.opt-editor.s0{border-left-color:var(--osk-grey)}
#toast{background:var(--osk-grey-dark);border-radius:4px}#toast.bad{background:var(--osk-red)}#toast.good{background:var(--osk-grey)}
.dirty-bar{background:var(--osk-grey-dark);border-radius:6px}
.demo-banner{border-radius:6px}

/* Рейтинг */
.rank-bar i{background:var(--osk-red)}
.rank-row.top1 .rank-place{color:var(--osk-red)}
.rank-row.mine{background:var(--osk-red-soft)}
.rank-place{font-family:'OSK Headline','OSK Text',Arial,sans-serif;font-weight:400}
.stage-dots i.done{background:var(--osk-red)}.stage-dots i.cur{background:var(--osk-grey)}
.rank-name{color:var(--osk-grey-dark)}

/* Экран входа: красное поле с белым логотипом и паттерном «азбука Морзе» */
.welcome{background:var(--osk-red);position:relative;overflow:hidden}
.welcome .eyebrow{color:#fff;opacity:.85}
.welcome p{color:#F6DADC}
.welcome-line{border-top-color:rgba(255,255,255,.3)}.welcome-line span,.welcome-note,.welcome-footer{color:#F1C9CC!important}
.welcome::after{content:'';position:absolute;left:36px;right:36px;bottom:26px;height:4px;background:url(brand/morse-white.svg) repeat-x;opacity:.35}
.welcome-logos{display:flex;align-items:center;gap:16px;margin-bottom:34px}
.welcome-logos img.osk{height:44px}.welcome-logos i{width:1px;height:46px;background:rgba(255,255,255,.45)}.welcome-logos img.ranepa{height:42px}

/* Подвал с партнёрами */
.brand-footer{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:26px 16px 34px;color:var(--muted);font-size:12px}
.brand-footer img.osk{height:20px}.brand-footer img.ranepa{height:28px}.brand-footer i{width:1px;height:28px;background:var(--osk-alu)}
.brand-footer span{max-width:360px;line-height:1.5}

@media(max-width:1180px){.logo-ranepa{height:28px}.logo-osk{height:22px}}
@media(max-width:960px){.brand-word{display:none}}
@media(max-width:700px){.logos{gap:8px}.logo-sep{height:24px}.logo-ranepa{height:22px}.logo-osk{height:15px}.page-head h1{font-size:24px}.welcome-logos img.osk{height:32px}.welcome-logos img.ranepa{height:30px}.welcome::after{bottom:14px}}
@media print{.logos img{height:22px}.topbar{box-shadow:none}}
