/* Кабінет ЦК — вхід, реєстрація, профіль. Спирається на tokens.css і site.css (form.cf). */

/* Атрибут [hidden] має завжди ховати: інакше display:grid/flex/inline-flex (.kab-dl, .btn,
   form.cf, .kab-pane) перекриває його за однаковою специфічністю. */
[hidden]{display:none!important}

.kab{max-width:760px;padding-top:8px;padding-bottom:64px}
.kab .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-bottom:10px}
.kab h1{margin:0 0 16px}
.kab .lead{color:var(--ink-60);max-width:56ch;margin:0 0 28px}

/* Тимчасовий рядок стану (як в анкеті) */
.kab-status{position:fixed;top:12px;right:16px;background:var(--blue);color:#fff;padding:6px 12px;border-radius:20px;font-size:13px;z-index:5;opacity:.95}

/* Дії: кнопки в ряд, з переносом на мобільному */
.kab-actions{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0 22px}
.kab-reg{font-size:15px;color:var(--ink-60);margin:12px 0 0}
.kab-reg a{color:var(--blue);text-decoration:none}
.kab-reg a:hover{text-decoration:underline}

/* Вкладки кабінету — підкреслення, без коробок */
.kab-tabs{display:flex;gap:28px;margin:4px 0 24px;border-bottom:1px solid var(--tech-40)}
.kab-tab{appearance:none;background:none;border:0;padding:0 0 12px;margin:0;cursor:pointer;
  font:inherit;font-size:16px;color:var(--ink-60);position:relative;transition:color var(--t-fast)}
.kab-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-menu) var(--ease)}
.kab-tab:hover{color:var(--ink-80)}
.kab-tab.is-active{color:var(--black);font-weight:600}
.kab-tab.is-active::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.kab-tab::after{transition:none}}

/* Блоки профілю — заголовок + кнопка, дані рядками з лініями (без карток) */
.kab-block{margin:0 0 32px}
.kab-block-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 4px}
.kab-block-head h2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);margin:0}
.kab-dl{margin:0;display:grid;gap:0}
.kab-dl > div{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:baseline;
  padding:14px 0;border-bottom:1px solid var(--tech-40)}
.kab-dl dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60)}
.kab-dl dd{margin:0;font-size:17px;color:var(--black);word-break:break-word}
@media(max-width:560px){.kab-dl > div{grid-template-columns:1fr;gap:4px;padding:12px 0}}

/* Мала кнопка (для «Виправити», «Зберегти», «Скасувати») */
.btn.sm{padding:8px 16px;font-size:14px}
.kab-form .form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:6px}
.kab-form[hidden]{display:none}
.kab-pane[hidden]{display:none}
.kab-actions-foot{margin-top:16px}

/* Форма реєстрації: сітку/поля дає form.cf у site.css; додаємо помилки й дрібниці */
.kab-form{margin-top:8px}
/* form.cf{display:grid} перекриває атрибут [hidden] — повертаємо приховування */
.kab-form[hidden]{display:none}
.kab-form .opt-note{text-transform:none;letter-spacing:0;color:var(--ink-note);font-weight:400}
.kab-form .err{font-size:13px;line-height:1.4;color:var(--ink-80);margin:6px 0 0;text-transform:none;letter-spacing:0}
.kab-form .err::before{content:"⚠ ";color:var(--blue)}
.kab-form input[aria-invalid="true"],.kab-form .err:not([hidden])+input{border-bottom-color:var(--blue)}
.kab-form .form-err{margin-top:14px}
.kab-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kab-form .btn{margin-top:4px}

/* Історія анкет — рядки з лініями-роздільниками */
.kab-history{margin:8px 0 28px}
.kab-history h2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);margin:0 0 12px}
.kab-hist-note{color:var(--ink-60);font-size:15px;margin:0}
.kab-hist{list-style:none;margin:0;padding:0}
.hist-item{display:grid;grid-template-columns:1fr auto auto;gap:12px 24px;align-items:center;
  padding:16px 0;border-top:1px solid var(--tech-40)}
.hist-item:last-child{border-bottom:1px solid var(--tech-40)}
.hist-main{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-width:0}
.hist-badge{font-size:12px;padding:3px 10px;border-radius:20px;white-space:nowrap}
.hist-badge.ok{background:var(--tech-20);color:var(--innovation-ink)}
.hist-badge.draft{background:var(--tech-20);color:var(--ink-60)}
.hist-type{font-size:16px;color:var(--black)}
.hist-date{font-size:14px;color:var(--ink-note)}
.hist-scores{display:flex;gap:18px}
.hist-score{display:flex;flex-direction:column;line-height:1.1;text-align:center}
.hist-score b{font-size:20px;color:var(--blue);font-weight:700}
.hist-score i{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-note);font-style:normal}
.hist-act{white-space:nowrap}
.hist-link{color:var(--blue);text-decoration:none;font-size:15px}
.hist-link:hover{text-decoration:underline}
@media(max-width:640px){
  .hist-item{grid-template-columns:1fr;gap:8px}
  .hist-scores{gap:24px}
}

/* Динаміка балів між хвилями */
.kab-dyn{margin:0 0 32px}
.kab-dyn h2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);margin:0 0 4px}
.kab-dyn-note{color:var(--ink-60);font-size:15px;margin:0 0 16px;max-width:56ch}
.dyn-chart{width:100%;max-width:640px}
.dyn-svg{width:100%;height:auto;display:block}
.dyn-grid{stroke:var(--tech-40);stroke-width:1}
.dyn-yl,.dyn-xl{fill:var(--ink-note);font-size:11px}
.dyn-line{stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.dyn-line.s-lord{stroke:var(--blue)}
.dyn-line.s-dma{stroke:var(--carbon)}
.dyn-dot.s-lord{fill:var(--blue)}
.dyn-dot.s-dma{fill:var(--carbon)}
.dyn-vl{font-size:12px;font-weight:700}
.dyn-vl.s-lord{fill:var(--blue)}
.dyn-vl.s-dma{fill:var(--carbon)}
.dyn-legend{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:14px}
.dyn-leg{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-80)}
.dyn-sw{width:14px;height:3px;border-radius:2px;display:inline-block}
.dyn-sw.s-lord{background:var(--blue)}
.dyn-sw.s-dma{background:var(--carbon)}
.dyn-name{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60)}
.dyn-last{font-size:18px;color:var(--black)}
.dyn-delta{font-size:13px;padding:2px 8px;border-radius:20px;background:var(--tech-20)}
.dyn-delta.up{color:var(--innovation-ink)}
.dyn-delta.down{color:var(--ink-80)}
.dyn-delta.flat{color:var(--ink-60)}
.kab-hist-h{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-60);margin:0 0 12px}

/* Успішна реєстрація */
.kab-done{margin:8px 0 24px}
.kab-done h2{margin:0 0 10px}
.kab-done p{color:var(--ink-60);max-width:56ch;margin:0 0 20px}
