/* ==========================================================================
   НЕЙРОЦЕХ — бриф-визард (стили поверх дизайн-системы styles.css)
   Палитра/переменные — из :root в styles.css.
   ========================================================================== */

.brief{ text-align:left; }

/* ---------- Прогресс «наряд собирается» ---------- */
.brief-progress{ display:flex; align-items:center; gap:14px; margin-bottom:26px; }
.brief-progress-label{
  font-family:var(--font-head); font-size:12px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--blue); white-space:nowrap;
}
.brief-track{
  flex:1; height:6px; border-radius:999px; background:var(--bg-2);
  border:1px solid var(--line); overflow:hidden;
}
.brief-fill{
  height:100%; border-radius:999px;
  background:linear-gradient(90deg, var(--blue-bright), var(--orange));
  transition:width .45s var(--ease);
}

/* ---------- Реплика мастера ---------- */
.brief-say{
  display:flex; align-items:flex-start; gap:12px; margin-bottom:8px;
  font-size:18px; font-weight:700; color:var(--ink); line-height:1.35;
}
.say-ic{
  flex:0 0 auto; width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:19px;
  background:var(--blue-soft); border:1px solid rgba(43,111,224,.3);
}
.brief-sub{ color:var(--ink-dim); font-size:14px; margin:4px 0 10px 50px; }
.brief-restored{ margin-left:0; }

/* ---------- Тело шага ---------- */
.brief-step{ animation:briefIn .35s var(--ease); }
@keyframes briefIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.brief-body{ margin:18px 0 4px; }
.brief-body .field label i{ font-style:normal; font-weight:400; color:var(--ink-dim); }
.brief-body input[type=date], .brief-body input[type=url]{
  width:100%; padding:13px 16px; border-radius:12px; font-family:inherit; font-size:15px;
  background:#fff; border:1px solid var(--steel-light); color:var(--ink);
  transition:border-color .2s, box-shadow .2s;
}
.brief-body input[type=date]:focus{ outline:none; border-color:var(--blue-bright); box-shadow:0 0 0 3px var(--blue-soft); }

/* ---------- Крупные кнопки-варианты ---------- */
.opts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px; }
.opt{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  padding:14px 16px; border-radius:14px; cursor:pointer; text-align:left;
  background:#fff; border:1px solid var(--steel-light); font-family:inherit;
  transition:border-color .2s, background .2s, transform .15s var(--ease), box-shadow .2s;
}
.opt:hover{ border-color:var(--blue-bright); transform:translateY(-2px); box-shadow:var(--shadow); }
.opt.on{
  background:var(--blue-soft); border-color:var(--blue-bright);
  box-shadow:0 0 0 1px var(--blue-bright), var(--shadow);
}
.opt-ic{ font-size:22px; line-height:1; margin-bottom:4px; }
.opt-t{ font-weight:700; font-size:15px; color:var(--ink); }
.opt.on .opt-t{ color:var(--blue); }
.opt-d{ font-size:13px; color:var(--ink-dim); }

/* чипы-стартеры (подставляют текст в поле) */
.chips-starter{ margin:-8px 0 20px; }
.chips-starter .chip{ font-size:13px; }

/* ---------- Навигация шага ---------- */
.brief-nav{ display:flex; align-items:center; gap:14px; margin-top:26px; flex-wrap:wrap; }
.brief-spacer{ flex:1; }
.brief-skip{
  background:none; border:none; cursor:pointer; font-family:inherit;
  color:var(--ink-dim); font-size:14px; text-decoration:underline dotted;
  padding:8px 4px; transition:color .2s;
}
.brief-skip:hover{ color:var(--blue); }
.brief-hint{ margin-top:16px; color:var(--orange); font-weight:600; font-size:14px; }
.brief-go{ min-width:220px; }

/* ---------- Рефлексия «Собрал наряд» ---------- */
.summary{ border-top:1px solid var(--line); }
.sum-row{
  display:flex; align-items:baseline; gap:12px;
  padding:11px 0; border-bottom:1px dashed var(--line); font-size:15px;
}
.sum-k{ flex:0 0 108px; color:var(--ink-dim); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.sum-v{ flex:1; color:var(--ink); overflow-wrap:anywhere; }
.sum-row.miss .sum-v{ color:var(--ink-dim); }
.sum-fix{
  background:none; border:none; cursor:pointer; font-family:inherit;
  color:var(--blue); font-size:13px; text-decoration:underline dotted; padding:0;
}
.sum-fix:hover{ color:var(--blue-bright); }

/* ---------- Экран успеха ---------- */
.brief-done{ text-align:center; padding:26px 0 10px; animation:briefIn .35s var(--ease); }
.brief-done-ic{ font-size:52px; margin-bottom:14px; }
.brief-done h3{ font-size:24px; margin-bottom:10px; }
.brief-done p{ color:var(--ink-dim); margin-bottom:26px; }

/* ---------- Адаптив ---------- */
@media (max-width:560px){
  .opts{ grid-template-columns:1fr 1fr; }
  .brief-say{ font-size:16px; }
  .brief-sub{ margin-left:0; }
  .sum-k{ flex-basis:86px; }
  /* Кнопки шага: «Далее» во всю ширину сверху, под ней «Назад» и «Пропустить» */
  .brief-nav{ margin-top:20px; }
  .brief-nav .btn-fire{ order:-1; flex:1 1 100%; }
  .brief-spacer{ display:none; }
  .brief-nav .btn-ghost{ flex:0 1 auto; }
  .brief-skip{ margin-left:auto; }
}
