/* SignalSprint Builder v2 — premium, mobile-first, keyboard-safe */
:root{
  --b2-bg:#070b14;
  --b2-surface:rgba(255,255,255,.03);
  --b2-surface2:rgba(255,255,255,.05);
  --b2-border:rgba(255,255,255,.12);
  --b2-text:#eaf2ff;
  --b2-muted:#a8b6d9;
  --b2-accent:#22d3ee;
  --b2-accent2:#8b5cf6;
  --b2-radius:18px;
  --b2-shadow:0 18px 55px rgba(2,8,23,.65);
}

/* Feature flag: only visible when ?builder=v2 */
#briefing-flow-v2{display:none}
body.ss-builder-v2 #briefing-flow-v2{display:block}
body.ss-builder-v2 #briefing-flow{display:none}

#briefing-flow-v2{
  margin-top:18px;
  border:1px solid var(--b2-border);
  border-radius:var(--b2-radius);
  background:linear-gradient(180deg, rgba(34,211,238,.06), rgba(139,92,246,.04));
  box-shadow:var(--b2-shadow);
  overflow:hidden;
}

.ssb2{
  display:grid;
  grid-template-columns: 1.7fr 1fr;
  gap:0;
}
@media (max-width: 980px){
  .ssb2{grid-template-columns:1fr}
}

.ssb2-main{padding:18px 18px 22px; background:rgba(0,0,0,.15)}
.ssb2-side{padding:18px; border-left:1px solid var(--b2-border); background:rgba(255,255,255,.02)}
@media (max-width: 980px){
  .ssb2-side{border-left:none;border-top:1px solid var(--b2-border)}
}

.ssb2-top{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding-bottom:12px; margin-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.ssb2-top h2{margin:0;font-weight:950;letter-spacing:-.02em;font-size:1.2rem}
.ssb2-pill{font-size:.86rem;color:#bfeeff;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.22);padding:6px 10px;border-radius:999px}

.ssb2-stepTitle{font-weight:900;margin:0 0 10px}
.ssb2-help{color:var(--b2-muted);margin:0 0 14px;line-height:1.45}

.ssb2-card{border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.03); padding:14px; margin-bottom:12px}

.ssb2-field{display:grid; gap:6px; margin-bottom:12px}
.ssb2-label{font-weight:800; font-size:.92rem}
.ssb2-input,
.ssb2-select,
.ssb2-textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  color:var(--b2-text);
  padding:12px 12px;
  outline:none;
}
.ssb2-input:focus,
.ssb2-select:focus,
.ssb2-textarea:focus{border-color:rgba(34,211,238,.55); box-shadow:0 0 0 4px rgba(34,211,238,.12)}

.ssb2-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.ssb2-btn{border-radius:14px; padding:11px 14px; font-weight:900; letter-spacing:.01em; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:10px}
.ssb2-btn.primary{background:linear-gradient(90deg,var(--b2-accent2),var(--b2-accent)); color:white; border:1px solid rgba(255,255,255,.12)}
.ssb2-btn.ghost{background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.12); color:var(--b2-text)}
.ssb2-btn[aria-disabled="true"]{opacity:.55; pointer-events:none}

/* Mobile: keyboard-safe by design (no fixed bottom sheets). */

/* Mobile overlap hardening */
#briefing-flow-v2,
#briefing-flow-v2 *,
#briefing-flow-v2 *::before,
#briefing-flow-v2 *::after{box-sizing:border-box}
.ssb2-top{flex-wrap:wrap}
.ssb2-input,.ssb2-select,.ssb2-textarea{max-width:100%}
.ssb2-card,.ssb2-plan{overflow-wrap:anywhere;word-break:break-word}
@media (max-width: 430px){
  .ssb2-main{padding:12px}
  .ssb2-side{padding:12px}
  .ssb2-card{padding:12px}
  .ssb2-top h2{font-size:1.05rem}
  .ssb2-pill{font-size:.78rem;padding:5px 8px}
  .ssb2-plan{padding:12px 10px 12px 40px}
  .ssb2-plan input{left:12px;top:12px}
  .ssb2-summaryLine{flex-direction:column;align-items:flex-start;gap:4px}
}

/* Summary */
.ssb2-summaryLine{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08)}
.ssb2-summaryLine:last-child{border-bottom:none}
.ssb2-k{color:var(--b2-muted)}
.ssb2-v{font-weight:850}

.ssb2-planGrid{display:grid; gap:10px; margin-top:12px}
.ssb2-plan{
  border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.03);
  padding:12px 12px 12px 44px; position:relative; cursor:pointer;
}
.ssb2-plan input{position:absolute; left:14px; top:14px; width:18px; height:18px; accent-color:#22d3ee}
.ssb2-plan.sel{border-color:rgba(34,211,238,.65); background:rgba(34,211,238,.10); box-shadow:0 0 0 1px rgba(34,211,238,.22) inset}
.ssb2-planName{font-weight:950}
.ssb2-planMeta{color:var(--b2-muted); font-size:.9rem; margin-top:2px; line-height:1.35}

.ssb2-accordion{border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; background:rgba(255,255,255,.02)}
.ssb2-accBtn{width:100%; display:flex; justify-content:space-between; gap:10px; align-items:center; padding:12px 14px; background:transparent; border:0; color:var(--b2-text); font-weight:900; cursor:pointer}
.ssb2-accBody{padding:12px 14px; border-top:1px solid rgba(255,255,255,.10)}

.ssb2-error{color:#ffb4b4; font-size:.9rem; margin-top:8px}
