/* С-268 · SPEC-150 П2: портал специалистов — поверх styles.css (токены, кнопки, поля, плашки брендбука v1.1).
   С-274: экраны монтируются в пространства единого кабинета (shell.css — шапка и каркас); мастер профиля — до 760 px.
   Все элементы управления — 44 px, радиус 8, подписи-метки сверху; ширина 360 px без горизонтальной прокрутки (NFR-CR-07). */

body.crew-portal{display:flex;flex-direction:column;min-height:100vh}

/* С-274: шапка, тестовая плашка, колонка контента и подвал — у оболочки единого кабинета (shell.css). */
.crew-loading{color:var(--kd-color-muted)}

/* ---------- Общие блоки экранов ---------- */
.crew-screen>h1{margin:6px 0 12px}
.crew-lead{max-width:640px;font-size:1.0625rem;color:var(--kd-color-muted)}
.crew-card{background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card);padding:24px}
.crew-card+.crew-card{margin-top:16px}
/* С-273 (П15): пустой блок рядом с карточкой (экран удаления без профилей) — тот же отступ, что между карточками. */
.crew-screen>.crew-empty+.crew-card,.crew-screen>.crew-card+.crew-empty{margin-top:16px}
.crew-card>h2,.crew-card>h3{margin-top:0}
.crew-card h2{font-size:1.25rem}
.crew-card h3:not(:first-child){margin-top:20px}
.crew-kv+p,.crew-actions+p,.crew-actions+.crew-out,.crew-card>div+p.fine{margin-top:16px}
.crew-screen>.notice{margin:16px 0 0}
.crew-back{display:flex;margin:0 0 12px -12px}
.crew-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:6px 0 20px}
.crew-title h1{margin:0}
.crew-narrow{max-width:560px}
.crew-mid{max-width:760px}
.crew-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.crew-actions.end{justify-content:flex-end}
.crew-stack{display:flex;flex-direction:column;gap:16px}
.crew-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start}
.crew-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;align-items:start}
.crew-field{display:flex;flex-direction:column;min-width:0}
.crew-field.wide{grid-column:1/-1}
.crew-hint{margin-top:6px}
.crew-inline{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}
.crew-yesno{padding-bottom:6px}
.crew-radios{display:flex;flex-direction:column;align-items:flex-start}
.crew-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 16px}
.crew-out{margin:12px 0 0;font-size:.9375rem;min-height:0}
.crew-out:empty{display:none}
.crew-out.error{color:var(--kd-status-error-ink);font-weight:700}
.crew-out.good{color:var(--kd-status-success-ink);font-weight:700}
.crew-sep{height:1px;margin:24px 0;background:var(--kd-color-line);border:0}
.crew-kv{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:8px 16px;margin:0;font-size:.9375rem}
.crew-kv dt{color:var(--kd-color-muted);font-weight:600}
.crew-kv dd{margin:0;overflow-wrap:anywhere}
.crew-list{margin:8px 0 0;padding-left:20px}
.crew-list li{margin:4px 0}

/* ---------- Вход и регистрация ---------- */
.crew-auth{max-width:520px;margin:8px auto 0}
.crew-auth h1{font-size:clamp(1.5rem,3vw,2rem)}
.crew-auth form{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.crew-auth form>button{width:100%}
.crew-auth .crew-card>form{margin-top:0}
.crew-consents{display:flex;flex-direction:column;gap:4px;padding:8px 0}
.crew-consents label{align-items:flex-start;padding:10px 0;line-height:1.45}
.crew-consents label input{margin-top:1px}
.crew-code{font-size:1.5rem!important;letter-spacing:.3em;font-variant-numeric:tabular-nums;text-align:center}
.crew-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.crew-choice button{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-height:132px;padding:20px;white-space:normal;text-align:left;border-radius:var(--kd-radius-card)}
.crew-choice button strong{font-family:var(--kd-font-display);font-size:1.125rem;font-weight:600}
.crew-choice button span{font-weight:500;color:var(--kd-color-muted)}
.crew-testbox{margin-top:16px;padding:12px 16px;border:1px dashed var(--kd-color-border);border-radius:var(--kd-radius-control);font-size:.875rem;color:var(--kd-color-muted)}
.crew-testbox form{margin-top:8px!important;gap:10px!important}

/* ---------- Мастер профиля ---------- */
.crew-wizard{max-width:760px}
.crew-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 20px;padding:0;list-style:none}
.crew-steps li{min-width:0}
.crew-steps a{display:flex;flex-direction:column;gap:6px;padding:6px 0 0;border-top:4px solid var(--kd-color-line);font-size:.75rem;font-weight:700;color:var(--kd-color-muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crew-steps a[aria-current=step]{border-top-color:var(--kd-color-signal);color:var(--kd-color-ink)}
.crew-steps a.done{border-top-color:var(--kd-color-ink)}
.crew-progress{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:.875rem;color:var(--kd-color-muted)}
.crew-progress .bar{flex:1 1 auto;height:8px;background:#E4E3DD;border-radius:4px;overflow:hidden}
.crew-progress .bar i{display:block;height:100%;background:var(--kd-color-ink);border-radius:4px}
.crew-missing{margin:12px 0 0;padding:12px 16px;background:var(--kd-status-warning-surface);color:var(--kd-status-warning-ink);border-radius:var(--kd-radius-control);font-size:.875rem}
.crew-missing ul{margin:6px 0 0;padding-left:18px}
.crew-film{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,190px);gap:12px 16px;align-items:end;padding:16px 0;border-bottom:1px solid var(--kd-color-line)}
.crew-film:first-child{padding-top:0}
.crew-film .crew-field.wide{grid-column:1/-1}
.crew-film-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.crew-suggest{position:relative}
.crew-suggest ul{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;margin:0;padding:6px;list-style:none;background:var(--kd-color-white);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-control);box-shadow:0 12px 32px rgba(11,12,15,.14)}
.crew-suggest li button{width:100%;justify-content:flex-start;border:0;background:transparent;font-weight:600;white-space:normal;text-align:left}
.crew-suggest li button:hover{background:var(--kd-color-surface)}
.crew-suggest li small{margin-left:auto;padding-left:12px}
.crew-portrait{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.crew-portrait img,.crew-avatar{width:120px;height:150px;object-fit:cover;border-radius:var(--kd-radius-control);background:#E4E3DD;border:1px solid var(--kd-color-line)}
.crew-avatar{display:grid;place-items:center;color:var(--kd-color-muted);font-size:.75rem;text-align:center;padding:8px}
.crew-wizard-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.crew-wizard-nav .primary{margin-left:auto}

/* ---------- Поиск продакшена ---------- */
.crew-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px 16px;align-items:end;padding:20px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card)}
.crew-filter-flags{grid-column:span 2;align-self:end;gap:0 24px}
.crew-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:20px}
.crew-person{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card)}
.crew-person img,.crew-person .crew-avatar{width:96px;height:120px}
.crew-person h3{margin:4px 0 2px;font-family:var(--kd-font-body);font-weight:800;font-size:1.0625rem}
.crew-person .price{margin:8px 0 4px;font-family:var(--kd-font-display);font-weight:600;font-size:1.125rem}
.crew-person .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.crew-person .crew-actions{grid-column:1/-1;margin-top:4px}
.crew-person .crew-actions button{flex:1 1 auto}
.crew-profile-head{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start}
.crew-profile-head img,.crew-profile-head .crew-avatar{width:160px;height:200px}

/* ---------- Очереди персонала ---------- */
.crew-queue{display:flex;flex-direction:column}
.crew-queue-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--kd-color-line)}
.crew-queue-row:last-child{border-bottom:0}
.crew-queue-row .crew-actions{margin-top:0}
.crew-unread{box-shadow:inset 3px 0 0 var(--kd-color-signal);padding-left:12px}
.crew-queue-row .crew-actions select{width:auto;min-width:150px}
/* С-273 (П15): назначение администратора — выбор аккаунта рядом с кнопкой; на узком экране — столбиком. */
.crew-adminless-row{align-items:flex-end}
.crew-adminless-row .crew-field{margin:0;flex:1 1 240px;min-width:0}
.crew-adminless-row .crew-field select{width:100%;min-width:0}
.crew-adminless-row>.crew-out{flex-basis:100%;margin:0}
.crew-media{display:flex;flex-wrap:wrap;gap:16px}
.crew-media figure{margin:0;display:flex;flex-direction:column;gap:10px;width:260px}
.crew-media img{width:260px;height:325px;object-fit:cover;border-radius:var(--kd-radius-control);border:1px solid var(--kd-color-line);background:#E4E3DD}
.crew-media .crew-actions{margin-top:0;gap:8px}
.crew-media .crew-actions button{flex:1 1 0;padding:0 8px}
.crew-decision{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;align-items:end}
.crew-decision .crew-field.wide{grid-column:1/-1}

/* ---------- Узкие экраны: 360 px без горизонтальной прокрутки (NFR-CR-07) ---------- */
@media (max-width:760px){
  .crew-grid-2,.crew-grid-3,.crew-decision{grid-template-columns:1fr}
  .crew-filters{grid-template-columns:1fr;padding:16px}
  .crew-filter-flags{grid-column:auto}
  .crew-film{grid-template-columns:1fr}
  .crew-choice{grid-template-columns:1fr}
  .crew-card{padding:18px 16px}
  .crew-kv{grid-template-columns:1fr;gap:2px 0}
  .crew-kv dd{margin-bottom:8px}
  .crew-profile-head{grid-template-columns:1fr}
  .crew-steps a{font-size:0;gap:0}
  .crew-wizard-nav{flex-wrap:wrap}
  .crew-wizard-nav button{flex:1 1 auto}
  .crew-results{grid-template-columns:1fr}
  .crew-rates,.crew-rates tbody,.crew-rates tr,.crew-rates td{display:block}
  .crew-rates tr:first-child{display:none}
  .crew-rates tr{padding:10px 0;border-bottom:1px solid var(--kd-color-line)}
  .crew-rates td{padding:2px 0;border:0}
  .crew-rates td::before{content:attr(data-label) ': ';color:var(--kd-color-muted)}
  .crew-rates td:first-child{font-weight:700}
  .crew-rates td:first-child::before{content:none}
  .crew-media figure{width:calc(50% - 8px)}
  .crew-media img{width:100%;height:auto;aspect-ratio:4/5}
}
.crew-screen .cal-actions{align-items:center}
.crew-groups{margin:12px 0 0}
@media (max-width: 620px){
  .crew-screen .cal-legend-item{flex:1 1 calc(50% - 6px)}
}
/* П8: строка документа — текст слева, решение и действия справа в одну линию; сообщение и форма — на всю ширину. */
.crew-doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}
.crew-doc-row>.crew-actions{justify-content:flex-end;flex-wrap:nowrap}
.crew-doc-row>.crew-out,.crew-doc-row>.crew-doc-form{grid-column:1/-1}
.crew-doc-row>.crew-out:empty{display:none}
.crew-doc-form{align-items:end;padding:12px 0 4px}
@media (max-width: 760px){
  .crew-doc-row{grid-template-columns:1fr}
  .crew-doc-row>.crew-actions{justify-content:flex-start;flex-wrap:wrap}
}
.crew-doc-row details>summary{cursor:pointer;font-weight:600;color:var(--kd-color-muted);padding:4px 0}

/* ---------- С-273 · цвет сервиса «Съёмочная группа» (брендбук v1.1, с. 34, 38, 40–42; сервис № 10, терракотовый) ----------
   Токены скопированы из output/brandbook/КиноДвиж-Брендбук-v1.1/service-colors.css. Правила с. 40: один сервисный акцент на
   рабочую область — полоса 4 px у заголовка раздела, иконка, выбранная вкладка и пункт меню; фон карточки раздела — surface,
   заголовки и подписи раздела — ink; главное действие остаётся оранжевым Signal; статусы — отдельные плашки с текстом.
   Контраст (service-colors.json): onAccent/accent 4,62:1, ink/surface 7,56:1, ink/white 8,63:1. Правила только под
   `.svc-crew` (страница /crew): портал транспорта подключает crew.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}

.svc-crew .eyebrow{color:var(--kd-service-crew-ink)}
/* Меню на тёмной шапке: выбранная область — светлая плашка surface + ink и полоса акцента (с. 42: прямые пары ink/graphite не разрешены). */

/* Плашка сервиса: иконка на акценте + название текстом. */
.crew-service{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:3px 12px 3px 3px;border-radius:var(--kd-radius-control);background:var(--kd-service-crew-surface);color:var(--kd-service-crew-ink);font-size:.8125rem;font-weight:800;line-height:1.2;white-space:nowrap}
.crew-service-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:6px;background:var(--kd-service-crew-accent);color:var(--kd-service-crew-on-accent)}
.crew-service-mark svg{display:block}

/* Заголовок рабочей области: полоса акцента 4 px, надзаголовок и h1 цветом ink, плашка сервиса справа. */
.crew-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:6px 0 20px;padding:2px 0 2px 16px;border-left:4px solid var(--kd-service-crew-accent)}
.crew-head-text{flex:1 1 320px;min-width:0}
.crew-head-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.crew-head h1{margin:4px 0 0;overflow-wrap:anywhere}
.crew-head .eyebrow{color:var(--kd-service-crew-ink)}
.crew-head+.crew-tabs{margin-top:-4px}
/* Вкладки области: выбранная — подчёркивание акцентом 3 px и текст ink; остальные — нейтральные. */
.crew-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--kd-color-line)}
.crew-tabs a{display:inline-flex;align-items:center;min-height:var(--kd-control-h);margin-bottom:-1px;padding:0 14px;border-bottom:3px solid transparent;color:var(--kd-color-muted);font-weight:700;text-decoration:none}
.crew-tabs a:hover{color:var(--kd-color-ink)}
.crew-tabs a[aria-current=page]{color:var(--kd-service-crew-ink);border-bottom-color:var(--kd-service-crew-accent)}

/* Карточка раздела: фон surface, полоса акцента, заголовки ink. Одна такая карточка на экран — ключевая сводка. */
.svc-crew .crew-card.crew-accent{background:var(--kd-service-crew-surface);border-color:var(--kd-service-crew-line);border-left:4px solid var(--kd-service-crew-accent)}
.svc-crew .crew-accent h2,.svc-crew .crew-accent h3,.svc-crew .crew-accent .crew-kv dt{color:var(--kd-service-crew-ink)}
.crew-kv-top{margin-top:16px}

/* Выбранное: шаг мастера, отметка «новое», выбранный день календаря — акцентом сервиса; смысл несут текст и плашки. */
.svc-crew .crew-steps a[aria-current=step]{border-top-color:var(--kd-service-crew-accent);color:var(--kd-service-crew-ink)}
.svc-crew .crew-unread{box-shadow:inset 3px 0 0 var(--kd-service-crew-accent)}
.svc-crew .cal-selected{outline-color:var(--kd-service-crew-ink)}
.crew-hero-eyebrow{display:block;margin-top:16px}

@media (max-width:760px){
  .crew-head{padding-left:12px;gap:10px}
  .crew-head-text{flex-basis:100%}
  .crew-tabs a{padding:0 10px;font-size:.875rem}
}

/* ---------- С-273 · П6: запросы и брони (списки, таймер, смета, контакты) ---------- */
.crew-group{margin:0 0 24px}
.crew-group>h2{margin:0 0 12px;font-size:1.125rem}
.crew-rows{display:flex;flex-direction:column;gap:12px}
.crew-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:16px 18px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card)}
.crew-row h3{margin:2px 0 4px;font-family:var(--kd-font-body);font-weight:800;font-size:1rem;overflow-wrap:anywhere}
.crew-row .crew-inline{gap:6px 8px;margin-top:6px}
.crew-row .crew-actions{margin-top:0;justify-content:flex-end}
.crew-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.875rem;color:var(--kd-color-muted)}
.crew-timer{display:block;margin-top:8px;font-size:.875rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--kd-status-warning-ink)}
.crew-timer.late{color:var(--kd-status-error-ink)}
.crew-accent .crew-timer{font-size:1rem}
.crew-empty{background:var(--kd-color-white);border:1px dashed var(--kd-color-border);border-radius:var(--kd-radius-card)}
.crew-estimate{margin-top:20px;padding-top:16px;border-top:1px solid var(--kd-color-line)}
.crew-estimate h3{margin:0 0 8px;font-family:var(--kd-font-body);font-weight:800;font-size:1rem}
.crew-parts{width:100%;border-collapse:collapse;font-size:.9375rem}
.crew-parts td{padding:6px 0;border-bottom:1px solid var(--kd-color-line)}
.crew-parts td:last-child{padding-left:12px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.crew-parts tr.total td{border-bottom:0;padding-top:10px;font-weight:800}
.crew-parts tr.total td:last-child{font-family:var(--kd-font-display);font-weight:600;font-size:1.125rem}
.crew-picked{margin:8px 0 12px;font-weight:700;color:var(--kd-service-crew-ink)}
.crew-cal-pick{padding:12px;border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-control);background:var(--kd-color-white)}
.crew-cal-pick .cal-month-title:first-of-type{margin-top:4px}
.crew-contact-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start}
.crew-contact-card>h2,.crew-contact-card>p{grid-column:1/-1}
.crew-contact-photo{width:112px;height:140px;object-fit:cover;border-radius:var(--kd-radius-control);border:1px solid var(--kd-service-crew-line);background:#E4E3DD}
.crew-contacts{margin-bottom:12px}
.crew-contacts dd a{font-weight:700;color:var(--kd-service-crew-ink)}
@media (max-width:760px){
  .crew-row{grid-template-columns:1fr}
  .crew-row .crew-actions{justify-content:flex-start}
  .crew-row .crew-actions button{flex:1 1 auto}
  .crew-contact-card{grid-template-columns:1fr}
  .crew-cal-pick{padding:8px}
}
/* Дни календаря только для чтения (карточка профиля, занятые дни в выборе дат): статус остаётся виден цветом и
   подписью, а не серым фоном `button:disabled` (цвет — вместе с текстом «своб.», «зан.», «опц.», «бронь»). */
.svc-crew .cal-day:disabled{color:var(--kd-color-ink);cursor:default}
.svc-crew .cal-day.cal-free-l1:disabled{background:var(--kd-status-success-surface);border-color:#9CC9AE}
.svc-crew .cal-day.cal-free-l0:disabled{background:var(--kd-status-warning-surface);border-color:#E3C76F}
.svc-crew .cal-day.cal-busy:disabled{background:var(--kd-status-error-surface);border-color:#DDA1A7}
.svc-crew .cal-day.cal-unavailable:disabled{background:#E6E7EB;border-color:#B3B8C2}
.svc-crew .cal-day.cal-held:disabled{background:var(--kd-color-accent-soft);border-color:#F2B196}
.svc-crew .cal-day.cal-confirmed:disabled{background:var(--kd-status-info-surface);border-color:#9DB2F0}
@media (max-width:760px){
  .svc-crew .crew-card .crew-actions>button{flex:1 1 100%}
}

/* ---------- С-273 · П9: «Поделиться» — подборка в выдаче, ссылки продакшена, страница получателя ----------
   Страница получателя — как share.css транспорта (карточки 12 px, секции капсом, форма отметки), но в акценте сервиса
   «Съёмочная группа»: полоса заголовка, плашка сервиса, карточка-вступление surface/ink. Отправка отметки — Signal. */
.crew-selbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:16px 0 0;padding:10px 12px 10px 16px;background:var(--kd-service-crew-surface);border:1px solid var(--kd-service-crew-line);border-left:4px solid var(--kd-service-crew-accent);border-radius:var(--kd-radius-control);color:var(--kd-service-crew-ink);font-weight:800}
.crew-selbar>span{margin-right:auto}
.crew-pick{flex:0 0 auto;font-size:.875rem}
.crew-person .crew-actions{justify-content:space-between}
.crew-feedback{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:.875rem}
.crew-feedback li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.crew-feedback q{flex-basis:100%;color:var(--kd-color-muted)}
.crew-share-row{align-items:start}

.crew-shared .crew-accent p{max-width:720px}
.crew-shared .crew-accent p:last-child{margin-bottom:0}
.crew-share-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px;margin:20px 0 0;align-items:start}
.crew-share-grid.single{grid-template-columns:minmax(0,640px)}
.crew-share-card{padding:20px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card);overflow-wrap:anywhere}
.crew-share-card.gone{border-style:dashed;color:var(--kd-color-muted)}
.crew-share-card.gone h2{font-size:1.125rem}
.crew-share-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}
.crew-share-head h2{margin:4px 0 8px;font-size:1.125rem;line-height:1.3}
.crew-share-head .crew-inline{gap:6px}
.crew-share-photo,.crew-share-head .crew-avatar{width:96px;height:120px;object-fit:cover;border-radius:var(--kd-radius-control);border:1px solid var(--kd-color-line);background:#E4E3DD}
.crew-share-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--kd-color-line)}
.crew-share-section h3{margin:0 0 6px;font-family:var(--kd-font-body);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--kd-service-crew-ink)}
.crew-share-section p,.crew-share-section .crew-list{margin:0;font-size:.9375rem}
.crew-share-media{display:flex;flex-wrap:wrap;gap:8px}
.crew-share-media img{width:96px;height:72px;object-fit:cover;border-radius:var(--kd-radius-control);border:1px solid var(--kd-color-line);background:var(--kd-color-surface)}
.crew-share-feedback{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;border-top:2px solid var(--kd-service-crew-line)}
.crew-share-feedback .crew-actions{margin-top:4px}
.crew-verdicts{display:flex;flex-wrap:wrap;gap:4px 24px}
.crew-shared-gone{max-width:560px;margin:48px auto 0;text-align:center}
.crew-shared-gone h1{margin:16px 0 8px;font-size:1.5rem}
@media (max-width:760px){
  .crew-selbar{padding:10px 12px}
  .crew-selbar>span{flex-basis:100%}
  .crew-share-card{padding:16px}
  .crew-share-head{grid-template-columns:80px minmax(0,1fr)}
  .crew-share-photo,.crew-share-head .crew-avatar{width:80px;height:100px}
}

/* ---------- С-273 · П12: сотрудники продакшена и приглашения ---------- */
.crew-invite-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:12px 16px;align-items:end;margin:16px 0 0}
.crew-invite-form>button{align-self:end}
.crew-invite-form+.fine{margin:8px 0 0}
.crew-invite-form .field-error{position:absolute}
.crew-invite-form .crew-field{position:relative}
.crew-member .crew-actions select{width:auto;min-width:180px}
.crew-member>.crew-out,.crew-member>.crew-member-form{flex-basis:100%}
.crew-member-form{display:flex;flex-direction:column;gap:12px;padding:12px 16px;background:var(--kd-color-surface);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-control)}
.crew-member-form .crew-actions{margin-top:0}
.crew-invite .crew-accent{margin-top:20px}
.crew-invite h1{margin-top:8px}
@media (max-width:760px){
  .crew-invite-form{grid-template-columns:1fr}
  .crew-invite-form .field-error{position:static}
  .crew-member .crew-actions select{flex:1 1 100%;min-width:0}
}

/* ---------- С-273 · П14: срочный набор (П7) ----------
   Места набора — строки очереди; форма снятия — вложенная панель на всю ширину строки. Подтверждение опасного
   действия (`confirmBox`) — вопрос строкой над кнопками. Расширение набора — свёрнутая карточка до 30 минут. */
.crew-place>.crew-member-form{flex-basis:100%}
.crew-confirm-q{flex-basis:100%;color:var(--kd-color-ink);font-weight:600}
.crew-expand>summary{min-height:var(--kd-control-h);display:flex;align-items:center;font-family:var(--kd-font-display);font-weight:600;font-size:1.125rem;cursor:pointer}
.crew-expand fieldset{margin-top:12px}
.crew-expand .crew-radios label,.crew-expand fieldset>label{min-height:var(--kd-control-h)}
.crew-accent .crew-kv-top{margin-top:12px}
@media (max-width:760px){
  .crew-place .crew-actions button{flex:1 1 auto}
}

/* ---------- С-273 · П14: несовершеннолетние (П10) ----------
   Мастер ребёнка — 6 шагов; согласие представителя — вложенная панель; предупреждение ТК РФ у продакшена — плашка
   предупреждения с текстом (цвет статуса, не сервиса); условия для ребёнка в запросе — отдельная группа полей. */
.crew-steps.crew-steps-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.crew-consent{margin-top:4px}
.crew-consent>.crew-inline{gap:8px 12px}
.crew-consent label{align-items:flex-start;line-height:1.45;padding:6px 0}
.crew-minor-warning{margin:0;padding:14px 16px;background:var(--kd-status-warning-surface);color:var(--kd-status-warning-ink);border-radius:var(--kd-radius-control);font-size:.9375rem}
.crew-minor-warning h3{margin:0 0 6px;font-family:var(--kd-font-body);font-weight:800;font-size:1rem;color:var(--kd-status-warning-ink)}
.crew-minor-warning p{margin:6px 0 0}
.crew-minor-terms{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-control)}
.crew-minor-terms legend{padding:0 6px;font-weight:800}

/* ---------- С-273 · П14: статистика и лимиты (П13) ----------
   Показатели — плитки с числом шрифтом заголовков; доли — нейтральные полосы (данные, не статус и не цвет сервиса),
   значение всегда текстом. Плашка лимита 429 — предупреждение над экраном: что ограничено и когда повторить. */
.crew-statbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 20px}
.crew-statbar select{width:auto;min-width:220px}
.crew-segment{display:inline-flex;flex-wrap:wrap;gap:0}
.crew-segment button{border-radius:0;margin-left:-1px}
.crew-segment button:first-child{border-radius:var(--kd-radius-control) 0 0 var(--kd-radius-control);margin-left:0}
.crew-segment button:last-child{border-radius:0 var(--kd-radius-control) var(--kd-radius-control) 0}
.crew-segment button.on{background:var(--kd-color-graphite);border-color:var(--kd-color-graphite);color:var(--kd-color-paper)}
.crew-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:0 0 16px}
.crew-kpi{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--kd-color-white);border:1px solid var(--kd-color-line);border-radius:var(--kd-radius-card)}
.crew-kpi strong{font-family:var(--kd-font-display);font-weight:600;font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}
.crew-kpi span{font-weight:700}
.crew-kpi small{color:var(--kd-color-muted);font-size:.8125rem}
.crew-meter{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.crew-meter-head{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem}
.crew-meter-head strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.crew-meter-bar{height:10px;background:#E4E3DD;border-radius:5px;overflow:hidden}
.crew-meter-bar i{display:block;height:100%;background:var(--kd-color-graphite);border-radius:5px}
.crew-days>summary{min-height:var(--kd-control-h);display:flex;align-items:center;cursor:pointer;font-weight:700}
.crew-days .crew-list{margin-top:0}
.crew-limit{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;max-width:1120px;width:calc(100% - 2 * clamp(16px,3vw,32px));margin:12px auto 0;padding:10px 12px 10px 16px;background:var(--kd-status-warning-surface);color:var(--kd-status-warning-ink);border-left:4px solid var(--kd-status-warning-ink);border-radius:var(--kd-radius-control);font-size:.9375rem}
.crew-limit[hidden]{display:none}
.crew-limit>span{flex:1 1 280px}
.crew-limit button.quiet{color:var(--kd-status-warning-ink)}
@media (max-width:760px){
  .crew-statbar select{flex:1 1 100%;min-width:0}
  .crew-segment{flex:1 1 100%}
  .crew-segment button{flex:1 1 0;padding:0 8px}
  .crew-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crew-kpi strong{font-size:1.625rem}
}

/* ---------- С-273 · П14: тот же телефон и смена адреса входа (П16) ----------
   Три пути — карточки столбцом, рекомендованный (перенос) — карточкой раздела; код для звонка — крупно, цифры моноширинно. */
.crew-paths{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.crew-paths .crew-card+.crew-card{margin-top:0}
.crew-paths .eyebrow{display:block;margin-bottom:4px}
.crew-phone{font-family:var(--kd-font-display);font-weight:600;font-size:1.25rem;color:var(--kd-color-ink)}
.crew-callcode{font-family:var(--kd-font-display);font-weight:600;font-size:1.75rem;letter-spacing:.2em;font-variant-numeric:tabular-nums}
.crew-accent .crew-actions+.crew-actions{margin-top:12px}

/* ---------- С-273 · П14: сводная очередь персонала ----------
   Вкладки очередей с числом; ненулевое число — плашка ink/surface сервиса (выбор и внимание, не статус). */
.crew-queue-total{margin:-8px 0 12px}
.crew-queue-tabs a{gap:8px}
.crew-count{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:11px;background:#E4E3DD;color:var(--kd-color-muted);font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.crew-count.on{background:var(--kd-service-crew-surface);color:var(--kd-service-crew-ink);box-shadow:inset 0 0 0 1px var(--kd-service-crew-line)}
.crew-doc-form select{min-width:0;max-width:100%}
@media (max-width:760px){
  /* Строка с длинным списком решений (скрейпинг) не распирает экран: колонка сжимается до ширины экрана. */
  .crew-doc-row{grid-template-columns:minmax(0,1fr)}
  .crew-doc-form select{flex:1 1 100%}
  .crew-queue-tabs a{padding:0 8px}
}

/* ---------- С-273 · П11: удаление профиля и аккаунта ----------
   Последствия — списком; подтверждение словом «УДАЛИТЬ» — в рамке акцента сервиса, кнопка удаления — danger. */
.crew-erase-list{margin:12px 0 0;padding-left:20px;color:var(--kd-color-ink)}
.crew-erase-list li+li{margin-top:6px}
.crew-erase-list+.fine{margin-top:12px}
.crew-erase-confirm{flex-basis:100%;display:flex;flex-direction:column;gap:12px;padding:12px 16px;background:var(--kd-service-crew-surface);border:1px solid var(--kd-service-crew-line);border-left:4px solid var(--kd-service-crew-accent);border-radius:var(--kd-radius-control)}
.crew-erase-confirm input{max-width:240px;letter-spacing:.04em}
/* С-273 (П15): на телефоне поле слова «УДАЛИТЬ» — во всю ширину, вровень с кнопками подтверждения. */
@media (max-width:760px){.crew-erase-confirm input{max-width:none}}
.crew-erase-link h3{margin-top:0}

/* ---------- С-273 · Б1 (SPEC-150b): импорт резюме — экран проверки ----------
   Строка поля: название и флажок «верно» сверху, правка, источник под раскрытием (цитата с полосой акцента сервиса).
   Отмеченный «верно» — плашка surface/ink сервиса (выбор, не статус). Строка без основной профессии приглушена
   и сопровождается подсказкой текстом (смысл не только цветом). */
.crew-import-row{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--kd-color-line);min-width:0}
.crew-card>h2+.crew-import-row{border-top:0;padding-top:4px}
.crew-import-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}
.crew-import-head strong{overflow-wrap:anywhere}
.crew-import-ok{display:inline-flex;align-items:center;gap:8px;min-height:var(--kd-control-h);padding:0 12px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-control);font-weight:700;cursor:pointer}
.svc-crew .crew-import-ok:has(input:checked){background:var(--kd-service-crew-surface);border-color:var(--kd-service-crew-accent);color:var(--kd-service-crew-ink)}
.crew-import-ok:has(input:disabled){cursor:not-allowed;opacity:.6}
.crew-import-row.off .crew-import-edit{opacity:.6}
.crew-import-edit>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crew-import-edit input,.crew-import-edit select,.crew-import-edit textarea{max-width:100%}
.crew-import-value{margin:0;overflow-wrap:anywhere}
.crew-import-source>summary{cursor:pointer;font-size:.875rem;font-weight:600;color:var(--kd-color-muted);padding:4px 0}
.crew-import-source blockquote{margin:6px 0 0;padding:8px 12px;border-left:3px solid var(--kd-service-crew-accent);background:var(--kd-service-crew-surface);color:var(--kd-color-ink);font-size:.875rem;white-space:pre-line;overflow-wrap:anywhere}
.crew-import-professions{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0;min-width:0}
.crew-import-professions legend{margin-bottom:6px;font-weight:800}
.crew-import-option{display:flex;flex-direction:column;min-width:0}
.crew-import-choice{display:inline-flex;align-items:center;gap:8px;min-height:var(--kd-control-h);overflow-wrap:anywhere}
.crew-import-discard{margin-top:12px}
/* Плашка «черновик из резюме» в мастере — между полосой заполненности и карточкой шага. */
.crew-screen.crew-wizard>.notice{margin:0 0 16px}
.crew-import-busy{height:6px;margin-top:12px;background:#E4E3DD;border-radius:3px;overflow:hidden}
.crew-import-busy i{display:block;width:30%;height:100%;background:var(--kd-service-crew-accent);border-radius:3px;animation:crew-import-run 1.6s ease-in-out infinite}
@keyframes crew-import-run{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
@media (prefers-reduced-motion:reduce){.crew-import-busy i{animation:none;width:100%;opacity:.4}}
/* С-273 (Б2, SPEC-150b FR-CR-103): экран «Петя в Telegram» — код подключения на плашке раздела персонала, ссылка-кнопка. */
.crew-tg-code{margin-top:16px;padding:16px 20px;background:var(--kd-service-crew-surface);border:1px solid var(--kd-service-crew-line);border-left:4px solid var(--kd-service-crew-accent);border-radius:var(--kd-radius-control);color:var(--kd-service-crew-ink)}
.crew-tg-code .crew-code{margin:0;font-weight:800;letter-spacing:.12em;word-break:break-all;color:var(--kd-service-crew-ink)}
.crew-tg-open{display:inline-flex;align-items:center;justify-content:center;min-height:var(--kd-control-h);padding:0 var(--kd-control-px);border:1px solid transparent;border-radius:var(--kd-radius-control);font-size:.9375rem;line-height:1.2;text-decoration:none;white-space:nowrap}
