:root{--terra-navy:#0f1d3d;--terra-blue:#1d4ed8;--terra-soft:#eef4fb;--terra-border:#d7e2f0;--terra-orange:#f97316}
.v2-mode-switch{display:flex;align-items:center;background:#e8f0f8;border:1px solid rgba(255,255,255,.35);border-radius:14px;padding:4px;min-width:260px;gap:4px}
.v2-mode-switch button{flex:1;border:0;background:transparent;border-radius:10px;padding:10px 14px;font-weight:900;color:#64748b}
.v2-mode-switch button.active{background:#fff;color:#0f172a;box-shadow:0 6px 16px rgba(15,23,42,.12)}
.v2-scope-line{font-size:.72rem;color:rgba(255,255,255,.72);font-weight:700;margin-top:2px}
.v2-status-panel{background:#fff;border:1px solid var(--terra-border);border-right:5px solid var(--terra-blue);border-radius:16px;padding:18px;margin:0 0 18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.v2-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v2-status-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;padding:7px 12px;font-weight:900;font-size:.78rem}
.v2-range-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.v2-range-card{border:1px solid #dbeafe;background:#f8fbff;border-radius:12px;padding:12px;text-align:center}
.v2-range-card strong{display:block;font-size:1.05rem;color:#0f172a}.v2-range-card span{display:block;color:#64748b;font-weight:800;font-size:.74rem;margin-top:4px}
.v2-audit-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.v2-audit-chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;color:#475569}
.v2-blockers{margin:12px 0 0;padding:10px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;font-size:.82rem;font-weight:700;color:#7c2d12}.v2-blockers ul{margin:6px 0 0;padding-right:18px}
.v2-engineer-panel{background:#f8fafc;border:1px solid #dbe5f0;border-radius:14px;padding:16px;margin-top:16px}.v2-engineer-panel h5{font-weight:900;color:#172554}
.v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v2-grid label{font-size:.78rem;font-weight:900;color:#475569}.v2-grid input,.v2-grid select{font-weight:700}
body.v2-mode-general .v2-engineer-only{display:none!important}
.v2-privacy{position:fixed;z-index:1085;left:50%;bottom:14px;transform:translateX(-50%);width:min(1180px,calc(100% - 24px));background:#fff;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 14px 40px rgba(15,23,42,.2);padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.v2-privacy p{margin:0;font-size:.78rem;color:#64748b;font-weight:700}.v2-privacy strong{display:block;color:#0f172a}.v2-privacy-actions{display:flex;gap:8px;align-items:center}.v2-privacy.is-hidden{display:none}
.v2-file-status{font-size:.7rem;font-weight:800;margin-top:3px}.v2-file-status.ok{color:#047857}.v2-file-status.warn{color:#b45309}
.v2-export-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.wiz-total-banner.v2-incomplete{background:linear-gradient(135deg,#991b1b,#b91c1c)}
@media(max-width:900px){.v2-range-grid{grid-template-columns:1fr 1fr}.v2-grid{grid-template-columns:1fr 1fr}.v2-mode-switch{min-width:220px}}
@media(max-width:560px){.v2-mode-switch{order:3;width:100%;min-width:0}.v2-range-grid,.v2-grid{grid-template-columns:1fr}.v2-privacy{bottom:8px}.v2-privacy-actions{width:100%}.v2-privacy-actions button{flex:1}}

/* V2 responsive baseline: keep the app independent from third-party CSS resets. */
html, body.wizard-active { margin: 0; max-width: 100%; }
body.wizard-active *, body.wizard-active *::before, body.wizard-active *::after { box-sizing: border-box; }
.v2-privacy { box-sizing: border-box; max-width: calc(100vw - 24px); }
.v2-mode-switch, .v2-mode-switch button, .wiz-brand, .wiz-titles { min-width: 0; }
@media (max-width: 560px) {
  .wiz-top-bar { padding: 10px 12px; }
  .wiz-top-inner { width: 100%; min-width: 0; flex-wrap: wrap; }
  .wiz-brand { flex: 1 1 auto; }
  .wiz-titles h1, .wiz-titles span { overflow-wrap: anywhere; }
  .wiz-top-inner > .d-flex { flex: 0 0 auto; min-width: 0; }
  .v2-mode-switch { flex: 1 1 100%; width: auto; max-width: 100%; }
  .v2-mode-switch button { min-width: 0; padding: 8px 6px; white-space: normal; line-height: 1.2; }
  .v2-privacy { left: 12px; right: 12px; width: auto; max-width: none; transform: none; }
}
