/* С-274 · Р-061: оболочка единого кабинета поверх styles.css (токены, кнопки, поля, плашки брендбука v1.1), crew.css и
   transport-portal.css (экраны пространств). Тёмная шапка Graphite со словом-логотипом (без знака КД), переключатель
   пространств, почта и «Выйти»; под шапкой — полоса цвета раздела 4 px. Выбранный пункт на тёмном — светлая плашка
   surface + ink (брендбук, с. 42). Главное действие — оранжевый Signal с тёмным текстом; цвет сервиса — полоса, иконка,
   выбранная вкладка, surface и ink; название сервиса всегда рядом с цветом. Контролы ≥ 44 px, радиус 8, фокус — синяя
   рамка 3 px. Ширина 360 px без горизонтальной прокрутки страницы. */

/* ---------- Цвета сервисов (output/brandbook/КиноДвиж-Брендбук-v1.1/service-colors.css) ---------- */
:root{
  --kd-service-crew-accent:#AD6049;--kd-service-crew-surface:#F8EEE8;--kd-service-crew-ink:#713E2F;--kd-service-crew-on-accent:#FFFFFF;--kd-service-crew-line:#E8D3C7;
  --kd-service-transport-accent:#47778F;--kd-service-transport-surface:#ECF2F6;--kd-service-transport-ink:#304F63;--kd-service-transport-on-accent:#FFFFFF;--kd-service-transport-line:#CBDAE3;
  --kd-service-equipment-accent:#555D91;--kd-service-equipment-surface:#EFF0F7;--kd-service-equipment-ink:#393F68;--kd-service-equipment-on-accent:#FFFFFF;--kd-service-equipment-line:#D3D5E6;
  /* С-285: «Сценарная мастерская» — чернильный фиолетовый (SPEC-156, NFR-PP-07): текст на акценте 5,4:1, ink на surface 9,0:1. */
  --kd-service-preprod-accent:#7556C7;--kd-service-preprod-surface:#F0EBFA;--kd-service-preprod-ink:#493178;--kd-service-preprod-on-accent:#FFFFFF;--kd-service-preprod-line:#DCD2F2;
  /* Текущий раздел: без сервиса — нейтральный Graphite/Paper (пространство «КиноДвиж», вход, выбор пространства). */
  --kd-svc-accent:var(--kd-color-graphite);--kd-svc-surface:var(--kd-color-paper);--kd-svc-ink:var(--kd-color-ink);--kd-svc-stripe:var(--kd-color-graphite);
  --kd-top-muted:#C9CCD2;--kd-top-line:#2C2F36;--kd-top-hover:#1D1F25;
}
body.svc-crew{--kd-svc-accent:var(--kd-service-crew-accent);--kd-svc-surface:var(--kd-service-crew-surface);--kd-svc-ink:var(--kd-service-crew-ink);--kd-svc-stripe:var(--kd-service-crew-accent)}
body.svc-transport{--kd-svc-accent:var(--kd-service-transport-accent);--kd-svc-surface:var(--kd-service-transport-surface);--kd-svc-ink:var(--kd-service-transport-ink);--kd-svc-stripe:var(--kd-service-transport-accent)}
body.svc-equipment{--kd-svc-accent:var(--kd-service-equipment-accent);--kd-svc-surface:var(--kd-service-equipment-surface);--kd-svc-ink:var(--kd-service-equipment-ink);--kd-svc-stripe:var(--kd-service-equipment-accent)}
body.svc-preprod{--kd-svc-accent:var(--kd-service-preprod-accent);--kd-svc-surface:var(--kd-service-preprod-surface);--kd-svc-ink:var(--kd-service-preprod-ink);--kd-svc-stripe:var(--kd-service-preprod-accent)}

/* ---------- Каркас ---------- */
body.kd-shell{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--kd-color-paper);overflow-x:hidden}
.kd-skip{position:absolute;left:12px;top:-64px;z-index:20;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--kd-radius-control);background:var(--kd-color-paper);color:var(--kd-color-ink);font-weight:800;text-decoration:none}
.kd-skip:focus{top:12px}
.kd-main{flex:1 0 auto;width:100%;max-width:1180px;margin:0 auto;padding:28px clamp(16px,3vw,32px) 56px;min-width:0}
.kd-main:focus{outline:none}
.kd-main .crew-screen,.kd-space,.kd-space-body{min-width:0}
.kd-test{max-width:1180px;width:100%;margin:12px auto 0;padding:0 clamp(16px,3vw,32px);font-size:.8125rem;color:var(--kd-status-warning-ink)}
.kd-test code{font-size:.8125rem}
.kd-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1180px;width:100%;margin:0 auto;padding:20px clamp(16px,3vw,32px) 28px;border-top:1px solid var(--kd-color-line);font-size:.8125rem;color:var(--kd-color-muted)}
.kd-shell .crew-limit{max-width:1180px}

/* ---------- Шапка ---------- */
.kd-top{background:var(--kd-color-graphite);color:var(--kd-color-paper);border-bottom:4px solid var(--kd-svc-stripe);transition:border-color var(--kd-motion-panel)}
/* Шапка в два ряда: логотип и аккаунт сверху, пространства — отдельной строкой вкладок (число пространств не двигает шапку). */
.kd-top-in{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;max-width:1180px;margin:0 auto;padding:8px clamp(16px,3vw,32px) 0}
.kd-brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;flex:0 0 auto;color:var(--kd-color-paper);text-decoration:none;border-radius:var(--kd-radius-control)}
.kd-brand:hover{color:var(--kd-color-paper)}
.kd-brand img{display:block;width:176px;height:auto}
.kd-service-name{padding:2px 0 2px 12px;border-left:1px solid #3A3D45;font-size:.8125rem;line-height:1.2;font-weight:700;color:var(--kd-top-muted);white-space:nowrap}
.kd-spaces{order:3;display:flex;flex-wrap:nowrap;gap:4px;flex:1 0 100%;min-width:0;margin-top:6px;padding-bottom:6px;overflow-x:auto;scrollbar-width:none}
.kd-spaces::-webkit-scrollbar{display:none}
.kd-spaces:empty{display:none}
.kd-top-in:has(.kd-spaces:empty),.kd-top-in:has(.kd-spaces[hidden]){padding-bottom:8px}
.kd-space-link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--kd-control-h);padding:0 14px;border-radius:var(--kd-radius-control);color:var(--kd-top-muted);font-size:.9375rem;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap}
.kd-space-link:hover{background:var(--kd-top-hover);color:var(--kd-color-paper)}
.kd-space-link[aria-current=page]{background:var(--kd-svc-surface);color:var(--kd-svc-ink);box-shadow:inset 0 -3px 0 var(--kd-svc-accent)}
.kd-space-short{display:none}
.kd-account{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto;min-width:0}
.kd-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px;font-size:.875rem;color:var(--kd-top-muted)}
.kd-bell,.kd-enter{display:inline-flex;align-items:center;gap:8px;min-height:var(--kd-control-h);padding:0 12px;border-radius:var(--kd-radius-control);color:var(--kd-top-muted);font-size:.9375rem;font-weight:700;text-decoration:none;white-space:nowrap}
.kd-bell:hover,.kd-enter:hover{background:var(--kd-top-hover);color:var(--kd-color-paper)}
.kd-bell svg{flex:0 0 auto}
.kd-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--kd-color-signal);color:var(--kd-color-ink);font-size:.75rem;font-weight:800}
.kd-enter{border:1px solid #3A3D45;color:var(--kd-color-paper)}
.kd-top button.kd-logout{min-height:var(--kd-control-h);padding:0 14px;background:transparent;border:1px solid #3A3D45;color:var(--kd-color-paper)}
.kd-top button.kd-logout:hover:not(:disabled){background:var(--kd-top-hover);border-color:#5A5E68;color:var(--kd-color-paper)}
.kd-top a:focus-visible,.kd-top button:focus-visible{outline:3px solid var(--kd-color-focus);outline-offset:2px}

/* ---------- Сообщения оболочки ---------- */
.kd-message{max-width:680px;padding-top:8px}
.kd-message h1{margin:6px 0 12px}
.kd-fine{margin-top:20px}

/* ---------- Вход ---------- */
.kd-entry{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,440px);gap:40px 56px;align-items:start;padding-top:8px}
.kd-entry-intro h1{font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:1.12;margin:10px 0 16px}
.kd-entry-intro .crew-lead{max-width:560px}
.kd-entry-list{display:grid;margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--kd-color-line)}
.kd-entry-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:2px 16px;padding:14px 0;border-bottom:1px solid var(--kd-color-line)}
.kd-entry-list strong{font-family:var(--kd-font-display);font-weight:600;font-size:1rem;line-height:1.35}
.kd-entry-list li>span:last-child{grid-column:2;font-size:.9375rem;color:var(--kd-color-muted)}
.kd-entry-dots{grid-row:span 2;display:flex;gap:4px;padding-top:5px}
.kd-entry-dots i,.kd-card-stripes i{display:block}
.kd-entry-dots i{width:12px;height:12px;border-radius:3px}
.kd-entry-dots:empty::before{content:"";display:block;width:12px;height:12px;border-radius:3px;background:var(--kd-color-graphite)}
.kd-stripe-crew{background:var(--kd-service-crew-accent)}
.kd-stripe-transport{background:var(--kd-service-transport-accent)}
.kd-stripe-equipment{background:var(--kd-service-equipment-accent)}
.kd-stripe-preprod{background:var(--kd-service-preprod-accent)}
.kd-entry-form{padding:8px 24px 24px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card);box-shadow:0 18px 40px rgba(11,12,15,.06)}
.kd-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:16px 0 20px;padding:4px;background:var(--kd-color-paper);border-radius:var(--kd-radius-control)}
.kd-seg a{display:flex;align-items:center;justify-content:center;min-height:var(--kd-control-h);border-radius:6px;color:var(--kd-color-muted);font-weight:800;text-decoration:none}
.kd-seg a:hover{color:var(--kd-color-ink)}
.kd-seg a[aria-current=page]{background:var(--kd-color-white);color:var(--kd-color-ink);box-shadow:0 1px 3px rgba(11,12,15,.12)}
.kd-intent{margin:-8px 0 16px}
.kd-auth-card{padding:0;border:0;background:transparent}
.kd-auth-card form{display:flex;flex-direction:column;gap:16px}
.kd-auth-card form>button{width:100%}
.kd-auth-card>.quiet{margin-top:8px}
.kd-auth-card>p.fine{margin:16px 0 0}
.kd-auth-card .crew-testbox form,.kd-public .crew-testbox form{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.crew-testbox>button{margin-top:8px}
.crew-testbox>p{margin:8px 0 0}
.kd-key-form{margin-top:8px}

/* ---------- Выбор пространства ---------- */
.kd-home h1{margin:6px 0 12px}
.kd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:28px}
.kd-card{position:relative;display:flex;flex-direction:column;gap:8px;min-height:220px;padding:28px 20px 20px;overflow:hidden;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card);color:var(--kd-color-ink);text-decoration:none;transition:border-color var(--kd-motion-fast),box-shadow var(--kd-motion-fast)}
.kd-card:hover{border-color:var(--kd-color-ink);color:var(--kd-color-ink);box-shadow:0 12px 32px rgba(11,12,15,.08)}
.kd-card-stripes{position:absolute;top:0;left:0;right:0;display:flex;height:4px}
.kd-card-stripes i{flex:1 1 0}
.kd-card-stripes:empty{background:var(--kd-color-graphite)}
.kd-card-title{font-family:var(--kd-font-display);font-size:1.25rem;font-weight:600;line-height:1.25}
.kd-card-text{color:var(--kd-color-muted);font-size:.9375rem}
.kd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.kd-chip{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:var(--kd-radius-doc);background:var(--kd-color-surface);color:var(--kd-color-ink);font-size:.75rem;font-weight:800;line-height:1.3}
.kd-chip-crew{background:var(--kd-service-crew-surface);color:var(--kd-service-crew-ink)}
.kd-chip-transport{background:var(--kd-service-transport-surface);color:var(--kd-service-transport-ink)}
.kd-chip-equipment{background:var(--kd-service-equipment-surface);color:var(--kd-service-equipment-ink)}
.kd-chip-preprod{background:var(--kd-service-preprod-surface);color:var(--kd-service-preprod-ink)}
.kd-card-orgs{font-size:.8125rem;color:var(--kd-color-muted);overflow-wrap:anywhere}
.kd-card-go{margin-top:auto;padding-top:8px;font-weight:800}

/* ---------- Вкладки сервисов пространства «Продакшен» ---------- */
.kd-service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,280px));gap:12px;margin:0 0 28px}
.kd-service-tab{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-control);background:var(--kd-color-white);color:var(--kd-color-ink);text-decoration:none;transition:border-color var(--kd-motion-fast)}
.kd-service-tab[hidden]{display:none}
.kd-service-tab:hover{border-color:var(--kd-color-ink);color:var(--kd-color-ink)}
.kd-tab-crew{--tab-accent:var(--kd-service-crew-accent);--tab-surface:var(--kd-service-crew-surface);--tab-ink:var(--kd-service-crew-ink);--tab-line:var(--kd-service-crew-line)}
.kd-tab-transport{--tab-accent:var(--kd-service-transport-accent);--tab-surface:var(--kd-service-transport-surface);--tab-ink:var(--kd-service-transport-ink);--tab-line:var(--kd-service-transport-line)}
.kd-tab-preprod{--tab-accent:var(--kd-service-preprod-accent);--tab-surface:var(--kd-service-preprod-surface);--tab-ink:var(--kd-service-preprod-ink);--tab-line:var(--kd-service-preprod-line)}
.kd-service-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:var(--kd-radius-control);background:var(--tab-accent);color:#FFFFFF}
.kd-service-mark svg{display:block}
.kd-service-text{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}
.kd-service-text strong{font-family:var(--kd-font-display);font-size:1.0625rem;font-weight:600}
.kd-service-text small{font-size:.75rem;font-weight:800;letter-spacing:.04em;color:var(--kd-color-muted)}
.kd-service-tab[aria-current=page]{background:var(--tab-surface);border-color:var(--tab-line);box-shadow:inset 0 -4px 0 var(--tab-accent)}
.kd-service-tab[aria-current=page] strong,.kd-service-tab[aria-current=page] small{color:var(--tab-ink)}

.kd-bell[aria-current=page]{background:var(--kd-svc-surface);color:var(--kd-svc-ink)}
.crew-card+.tp-empty{margin-top:16px}

/* Раздел транспорта — плашка организации и полоса заголовка в цвете текущего раздела. */
.svc-transport .tp-section-head{border-left-color:var(--kd-service-transport-accent)}
.svc-transport .eyebrow{color:var(--kd-service-transport-ink)}
.svc-preprod .eyebrow{color:var(--kd-service-preprod-ink)}

/* ---------- Узкий экран ---------- */
@media (max-width:900px){
  .kd-entry{grid-template-columns:1fr;gap:28px}
  .kd-entry-form{order:-1}
  .kd-email{display:none}
}
@media (max-width:760px){
  .kd-top-in{padding-top:8px}
  .kd-brand img{width:148px}
  .kd-service-name{display:none}
  .kd-account{order:2}
  .kd-spaces{order:3;flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:4px;padding-bottom:4px}
  .kd-spaces:has(> :nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .kd-space-link{padding:0 8px;font-size:.875rem}
  .kd-space-full{display:none}
  .kd-space-short{display:inline}
  .kd-bell-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .kd-bell,.kd-enter{padding:0 10px}
  .kd-top button.kd-logout{padding:0 12px}
  .kd-main{padding-top:20px}
  .kd-entry-form{padding:4px 16px 20px}
  .kd-service-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
  .kd-service-tab{gap:8px;padding:8px 10px;min-height:60px}
  .kd-service-mark{width:30px;height:30px}
  .kd-service-text strong{font-size:.9375rem}
  .kd-service-text small{font-size:.6875rem;letter-spacing:0}
  .kd-card{min-height:0}
}
@media (max-width:380px){
  .kd-brand img{width:132px}
}

/* ---------- С-278: два режима подбора продакшена — «С Петей» и «Ручной поиск» ---------- */
/* Сегментный переключатель (брендбук v1.2): ровные кнопки ≥ 44 px, радиус 8, выбранная — цвет сервиса вкладки, текст белый. */
.kd-mode{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;max-width:100%;margin:0 0 20px;padding:4px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-control)}
.kd-mode a{display:flex;align-items:center;justify-content:center;min-height:var(--kd-control-h);min-width:150px;padding:0 18px;border-radius:var(--kd-radius-control);color:var(--kd-color-ink);font-weight:700;text-decoration:none;white-space:nowrap}
.kd-mode a:hover{background:var(--mode-surface);color:var(--kd-color-ink)}
.kd-mode a[aria-current=page]{background:var(--mode-accent);color:var(--kd-color-white)}
.kd-mode-crew{--mode-accent:var(--kd-service-crew-accent);--mode-surface:var(--kd-service-crew-surface)}
.kd-mode-transport{--mode-accent:var(--kd-service-transport-accent);--mode-surface:var(--kd-service-transport-surface)}
.tp-kept{margin-top:12px;gap:8px}

.kd-petya{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:start}
.kd-petya-chat{display:flex;flex-direction:column;min-width:0;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card);overflow:hidden}
.kd-petya-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--kd-color-line)}
.kd-petya-head h2{margin:0;font-size:1.125rem}
.kd-petya-head p{margin:2px 0 0}
.kd-petya-messages{display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:480px;overflow-y:auto;padding:20px}
.kd-petya-bubble{max-width:92%;padding:12px 14px;border-radius:2px 12px 12px;background:var(--kd-color-surface);font-size:.9375rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.kd-petya-bubble.mine{align-self:flex-end;background:var(--kd-color-accent-soft);border-radius:12px 2px 12px 12px}
.kd-petya-bubble strong{display:block;margin-bottom:4px;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--kd-color-muted)}
.kd-petya-composer{display:grid;gap:10px;padding:16px 20px 20px;border-top:1px solid var(--kd-color-line)}
.kd-petya-label{font-weight:700;font-size:.875rem}
.kd-petya-composer textarea{width:100%;min-height:104px}
.kd-petya-actions{display:flex;flex-wrap:wrap;gap:12px}
.kd-petya-retry{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;background:var(--kd-status-warning-surface);color:var(--kd-status-warning-ink);border-radius:var(--kd-radius-control)}
.kd-petya-retry[hidden]{display:none}
.kd-petya-side{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.kd-petya-side>*,.kd-petya-variants>*{min-width:0}
.kd-petya .tag{white-space:normal;max-width:100%}
.kd-petya-side .crew-card+.crew-card{margin-top:0}
.kd-petya-variants{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.kd-petya-need-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.kd-petya-need-head h3{margin:0}
.kd-petya-need .tp-list{display:grid;gap:10px;margin-top:12px}
.kd-petya-need .crew-results{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:12px}
.kd-petya-unresolved ul{margin:8px 0 0;padding-left:20px}
@media (max-width:1023px){
  .kd-petya{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .kd-mode{display:grid;width:100%}
  .kd-mode a{min-width:0;padding:0 10px}
  .kd-petya-head,.kd-petya-messages,.kd-petya-composer{padding-left:16px;padding-right:16px}
  .kd-petya-composer button.primary{width:100%}
  .kd-petya-need .crew-results{grid-template-columns:minmax(0,1fr)}
  .kd-petya-side .crew-card{padding:16px}
}
