  /* ========================================================================== 
     Responsive — layout and component adjustments for smaller screens 
     ========================================================================== */
  @media (max-width: 900px) {
    .sidebar { display: none; }
    .main { padding: var(--shell-main-pad-block-compact) var(--shell-inline-pad-tablet); max-width: none; }
    .form-grid { grid-template-columns: 1fr; }
    .form-group.span2 { grid-column: span 1; }
  }

  /* ── Date picker ── */
  .date-field-wrap { display: flex; flex-direction: column; width: 100%; }
  .date-wrap { position: relative; display: block; width: 100%; }
  .tbc-check { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; border-radius: 3px; border: 1.5px solid rgba(255,255,255,0.2); background: transparent; cursor: pointer; flex-shrink: 0; position: relative; top: 1px; }
  .tbc-check:checked { background: var(--accent); border-color: var(--accent); background-image: url("data:image/svg+xml,%3Csvg width='9' height='7' viewBox='0 0 9 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 3.5l2.5 2.5 4.5-5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }
  .date-input { background: var(--control-bg); border: 1px solid var(--border2); border-radius: var(--radius-sm); color: var(--text); font-family: var(--font); font-size: var(--fs-sm); padding: 10px 40px 10px 14px; outline: none; width: 100%; transition: border-color var(--anim-fast), box-shadow var(--anim-fast); box-sizing: border-box; }
  .date-input::placeholder { color: var(--muted); }
  .date-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,192,0,0.1); }
  .date-input.has-value { border-color: rgba(255,255,255,0.28); }
  .date-cal-btn { position: absolute; right: 0; top: 0; bottom: 0; width: 38px; background: none; border: none; cursor: pointer; color: var(--muted); display: flex; align-items: center; justify-content: center; transition: color 0.15s; border-radius: 0 8px 8px 0; }
  .date-cal-btn:hover { color: var(--text); }
  .date-cal-btn svg { display: block; }
  .date-cal { position: fixed; z-index: 1000; background: var(--panel-bg); border: 1px solid var(--border2); border-radius: 12px; padding: 0; width: 272px; box-shadow: 0 12px 40px rgba(0,0,0,0.5); animation: fadeIn 0.15s ease; overflow: hidden; }
  .date-cal-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px 10px; border-bottom: 1px solid var(--border); }
  .date-cal-nav { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 16px; padding: 4px 8px; border-radius: 6px; transition: color var(--anim-fast), background var(--anim-fast); line-height: 1; }
  .date-cal-nav:hover { color: var(--text); background: rgba(255,255,255,0.06); }
  .date-cal-title { display: flex; gap: 6px; align-items: center; }
  .date-cal-month-btn, .date-cal-year-btn { background: none; border: none; color: var(--text); font-family: var(--font); font-size: 13px; font-weight: 600; cursor: pointer; padding: 4px 8px; border-radius: 6px; transition: background 0.15s; }
  .date-cal-month-btn:hover, .date-cal-year-btn:hover { background: rgba(255,255,255,0.08); }
  .date-cal-grid { padding: 10px 10px 12px; }
  .date-cal-dow { display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: 4px; }
  .date-cal-dow span { text-align: center; font-size: 10px; font-weight: 500; color: #555; text-transform: uppercase; letter-spacing: 0.06em; padding: 4px 0; }
  .date-cal-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
  .date-day { background: none; border: none; color: var(--muted); font-family: var(--font); font-size: 13px; padding: 6px 0; border-radius: 6px; cursor: pointer; transition: background 0.12s, color 0.12s; text-align: center; }
  .date-day:hover:not(.empty):not(.selected) { background: rgba(255,255,255,0.07); color: var(--text); }
  .date-day.other-month { color: #333; }
  .date-day.today { color: var(--accent); font-weight: 600; }
  .date-day.selected { background: var(--accent); color: #000; font-weight: 600; }
  .date-day.empty { cursor: default; }
  .date-cal-months, .date-cal-years { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 10px 10px 12px; }
  .date-cal-mth-btn, .date-cal-yr-btn { background: none; border: 1px solid transparent; color: var(--muted); font-family: var(--font); font-size: 12px; padding: 8px 4px; border-radius: 8px; cursor: pointer; transition: all 0.12s; text-align: center; }
  .date-cal-mth-btn:hover, .date-cal-yr-btn:hover { background: rgba(255,255,255,0.07); color: var(--text); }
  .date-cal-mth-btn.selected, .date-cal-yr-btn.selected { background: var(--selected-bg-strong); border-color: var(--accent); color: var(--accent); font-weight: 600; }

  .fieldset-static { cursor:default; }
  .fieldset-static .fieldset-header { cursor:default; pointer-events:none; }
  .fieldset-static .fieldset-title { color:var(--text); }
  .date-input.is-tbc { color:var(--muted); font-style:italic; }
  .date-tbc-label { display:flex; align-items:center; gap:var(--space-2); margin-top:var(--space-1); cursor:pointer; }
  .date-tbc-text { font-size:var(--fs-2xs); color:#909090; }
  .date-tbc-label.is-active .date-tbc-text { color:var(--text); }
  .date-cal-nav:disabled { opacity:0.2; cursor:default; }
  .date-cal-mth-btn:disabled { opacity:0.25; cursor:default; }
  .date-cal-static-title { font-size:var(--fs-body-sm); font-weight:600; color:var(--text); }
  .date-cal-spacer { width:32px; }

/* === 6.1 Step 2 — Card + container consistency === */

/* Shared default container family */
.summary-card,
.review-readiness,
.export-section-card,
.project-settings-card,
.project-settings-note,
.landing-decision-card,
.landing-card,
.fieldset,
.secondary-fset,
.objective-outcome-card,
.scope-refinement-source,
.scope-refinement-results,
.req-editor-section,
.objective-refinement-section,
.objective-details-column,
.app-dialog-section,
.tech-detail-summary,
.tech-detail-modal-body,
.test-shell-section,
.diag-block,
.diag-verdict,
.diag-summary-card,
.signal-registry-card {
  border-radius: 14px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: rgba(255,255,255,0.08) !important;
  box-shadow: none !important;
}

/* Quiet, default panel weight */
.summary-card,
.review-readiness,
.export-section-card,
.project-settings-card,
.project-settings-note,
.landing-decision-card,
.landing-card,
.fieldset,
.secondary-fset,
.objective-outcome-card,
.scope-refinement-source,
.scope-refinement-results,
.req-editor-section,
.objective-refinement-section,
.objective-details-column,
.app-dialog-section,
.tech-detail-summary,
.test-shell-section,
.diag-block,
.diag-summary-card,
.signal-registry-card {
  background: rgba(255,255,255,0.028) !important;
}

/* Keep semantic surfaces distinct but aligned */
.export-blocked,
.diag-verdict.warn,
.diag-verdict.error,
.diag-verdict.ok,
.landing-compliance {
  border-radius: 14px !important;
}

/* Standard large container padding */
.summary-card,
.review-readiness,
.export-section-card,
.project-settings-card,
.project-settings-note,
.landing-decision-card,
.landing-card,
.landing-compliance,
.objective-outcome-card,
.scope-refinement-source,
.scope-refinement-results,
.req-editor-section,
.objective-refinement-section,
.objective-details-column,
.tech-detail-summary,
.test-shell-section,
.diag-block,
.diag-verdict,
.diag-summary-card {
  padding: 1rem 1.05rem !important;
}

/* Standard compact utility container padding */
.app-dialog-section,
.signal-registry-card {
  padding: 0.9rem !important;
}

/* Fieldset shell stays lighter and relies on header/body spacing */
.fieldset,
.secondary-fset {
  margin-bottom: 0.9rem !important;
}

/* Tighten inconsistent internal heads slightly */
.export-section-head,
.req-section-head,
.req-subsection-head,
.objective-outcome-head,
.ds-modal-head {
  gap: 12px !important;
}

/* Responsive scaling */
@media (max-width: 1023px) {
  .summary-card,
  .review-readiness,
  .export-section-card,
  .project-settings-card,
  .project-settings-note,
  .landing-decision-card,
  .landing-card,
  .landing-compliance,
  .objective-outcome-card,
  .scope-refinement-source,
  .scope-refinement-results,
  .req-editor-section,
  .objective-refinement-section,
  .objective-details-column,
  .tech-detail-summary,
  .test-shell-section,
  .diag-block,
  .diag-verdict,
  .diag-summary-card {
    padding: 0.95rem 1rem !important;
  }

  .app-dialog-section,
  .signal-registry-card {
    padding: 0.85rem !important;
  }
}

@media (max-width: 767px) {
  .summary-card,
  .review-readiness,
  .export-section-card,
  .project-settings-card,
  .project-settings-note,
  .landing-decision-card,
  .landing-card,
  .landing-compliance,
  .objective-outcome-card,
  .scope-refinement-source,
  .scope-refinement-results,
  .req-editor-section,
  .objective-refinement-section,
  .objective-details-column,
  .tech-detail-summary,
  .test-shell-section,
  .diag-block,
  .diag-verdict,
  .diag-summary-card {
    padding: 0.85rem 0.9rem !important;
    border-radius: 12px !important;
  }

  .app-dialog-section,
  .signal-registry-card {
    padding: 0.8rem !important;
    border-radius: 12px !important;
  }

  .fieldset,
  .secondary-fset,
  .export-blocked,
  .landing-compliance {
    border-radius: 12px !important;
  }
}

/* === 6.1.199 — Manage project modal live-surface override === */
.project-settings-summary { gap:12px 18px !important; align-items:start !important; padding:0.2rem 0 !important; }
.project-settings-card,
.project-settings-card.is-highlight { background:none !important; border:none !important; border-radius:0 !important; box-shadow:none !important; padding:0.1rem 0 !important; }
.project-settings-summary > .project-settings-card + .project-settings-card { padding-left:18px !important; border-left:1px solid rgba(255,255,255,0.08) !important; }
.project-settings-card-title { color:#97a3aa !important; }
.project-settings-rename-row { grid-template-columns:repeat(2, minmax(0,1fr)) !important; align-items:center !important; }
.project-settings-rename-help { display:block !important; min-height:0 !important; padding:0 !important; border:none !important; border-radius:0 !important; background:none !important; box-shadow:none !important; }
@media (max-width: 900px) {
  .project-settings-summary > .project-settings-card + .project-settings-card { padding-left:0 !important; padding-top:12px !important; border-left:none !important; border-top:1px solid rgba(255,255,255,0.08) !important; }
  .project-settings-rename-row { grid-template-columns:1fr !important; }
}

/* === 6.1 Step 3 — Button hierarchy cleanup === */

/* Base button alignment */
.btn,
.doc-viewer-action,
.landing-action,
.landing-footer-action,
.export-page-action-back,
.export-page-action-primary,
.test-shell-action {
  min-height: 42px;
  border-radius: 10px;
  gap: 8px;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.btn.btn-compact {
  min-height: 32px;
  padding: var(--btn-s-pad-y) var(--btn-s-pad-x);
  font-size: var(--btn-s-font);
  border-radius: var(--radius-sm);
}

/* Shared primary / secondary visual owners */
.btn-primary {
  background: var(--accent) !important;
  color: #000 !important;
  border: none !important;
  box-shadow: none !important;
}

.btn-primary:hover:not(:disabled) {
  background: #ffd333 !important;
}

.btn-secondary {
  background: transparent !important;
  color: var(--muted) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
}

.btn-secondary:hover:not(:disabled) {
  color: var(--text) !important;
  border-color: rgba(255,255,255,0.28) !important;
  background: rgba(255,255,255,0.04) !important;
}

/* Context-only helper sizing */
.landing-action,
.landing-footer-action {
  font-size: var(--btn-l-font) !important;
  padding: var(--btn-l-pad-y) var(--btn-l-pad-x) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  position: relative;
  z-index: 2;
}

.landing-action:hover,
.landing-footer-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,192,0,0.2);
}

.doc-viewer-action {
  font-family: var(--font) !important;
  font-size: var(--btn-m-font) !important;
  font-weight: 500 !important;
  padding: var(--btn-m-pad-y) var(--btn-m-pad-x) !important;
}

.export-page-action-back,
.export-page-action-primary {
  font-size: var(--btn-m-font) !important;
  font-family: var(--font) !important;
  padding: var(--btn-m-pad-y) var(--btn-m-pad-x) !important;
  cursor: pointer;
  transition: all var(--anim-fast);
}

.export-page-action-primary {
  font-weight: 600 !important;
  display: flex;
}

.export-page-action-primary:hover:not(:disabled) {
  transform: translateY(-1px);
}

.export-page-action-primary:disabled {
  opacity: 0.4;
  cursor: default;
}

.test-shell-action {
  font-size: var(--btn-s-font) !important;
  padding: var(--btn-s-pad-y) var(--btn-s-pad-x) !important;
  font-weight: 500 !important;
}

/* Small / utility buttons */
.btn-sm,
.summary-edit,
.req-manage,
.req-remove-btn,
.req-restore-btn,
.req-delete-btn,
.export-colour-reset,
.objective-refine-btn,
.objective-refinement-link,
.objective-ai-meta-link,
.objective-refinement-actions .btn,
.objective-refinement-actions-right .btn,
.objective-ai-actions .btn {
  min-height: 32px !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
}

/* Tertiary / low priority inline actions */
.summary-edit,
.req-manage,
.req-remove-btn,
.req-restore-btn,
.objective-refinement-link,
.objective-ai-meta-link,
.objective-refinement-link:hover,
.objective-ai-meta-link:hover {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Reduce competing emphasis in utility zones */
.req-actions .summary-edit,
.req-actions .req-manage,
.project-settings-action {
  font-weight: 500 !important;
}

.project-settings-action {
  border-radius: 12px !important;
}

/* Responsive handling */
@media (max-width: 1023px) {
  .btn,
  .doc-viewer-action,
  .landing-action,
  .landing-footer-action,
  .export-page-action-back,
  .export-page-action-primary,
  .test-shell-action {
    min-height: 40px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}

@media (max-width: 767px) {
  .btn,
  .doc-viewer-action,
  .landing-action,
  .landing-footer-action,
  .export-page-action-back,
  .export-page-action-primary,
  .project-settings-modal-btn,
  .test-shell-action {
    min-height: 40px !important;
    border-radius: 9px !important;
  }

}

/* === 6.1 Step 5 — Button separation refinement === */

/* Tertiary — quieter */
.summary-edit,
.req-manage,
.req-remove-btn,
.req-restore-btn,
.objective-refine-btn {
  background: rgba(255,255,255,0.035) !important;
  color: #c0c9cf !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

.summary-edit:hover,
.req-manage:hover,
.req-remove-btn:hover,
.req-restore-btn:hover,
.objective-refine-btn:hover {
  background: rgba(255,255,255,0.055) !important;
  border-color: rgba(255,255,255,0.26) !important;
  color: #e6ecef !important;
}

/* Review-specific — slightly lifted tertiary */
.req-actions .summary-edit,
.req-actions .req-manage {
  background: rgba(255,255,255,0.045) !important;
  border-color: rgba(255,255,255,0.22) !important;
  color: #d2dbe0 !important;
}

.req-actions .summary-edit:hover,
.req-actions .req-manage:hover {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(255,255,255,0.32) !important;
  color: #ffffff !important;
}

/* === 6.1 Step 5c — Modal button hierarchy audit === */
.suggestion-modal-actions {
  gap: 10px !important;
}
.suggestion-modal-actions .btn.btn-secondary.btn-sm,
.suggestion-modal-actions .btn.btn-primary.btn-sm {
  min-height: 38px !important;
  padding: 9px 18px !important;
}
.scope-refinement-actions-right .btn.btn-secondary.btn-sm,
.scope-refinement-actions-right .btn.btn-primary.btn-sm {
  min-height: 36px !important;
}
.scope-refinement-actions-right {
  gap: 10px !important;
}

/* === 6.1 Step 5 — Sidebar structure and navigation clarity === */
.nav-group {
  padding: 0 0 0.35rem;
}
.nav-group + .nav-group {
  margin-top: 0.2rem;
}
.nav-group-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0.72rem 1.5rem 0.5rem;
  background: rgba(136,167,183,0.06);
  border: none;
  border-left: 3px solid rgba(136,167,183,0.18);
  color: #bcc6cd;
  text-align: left;
  cursor: pointer;
  transition: color var(--anim-fast), background var(--anim-fast), border-color var(--anim-fast);
}
.nav-group-toggle:hover,
.nav-group-toggle:focus-visible {
  color: var(--text);
  background: rgba(255,255,255,0.04);
  border-left-color: rgba(255,192,0,0.18);
  outline: none;
}
.nav-group.is-open .nav-group-toggle {
  background: linear-gradient(90deg, rgba(136,167,183,0.12), rgba(136,167,183,0.03));
  border-left-color: rgba(136,167,183,0.34);
}
.nav-group-copy {
  display: grid;
  gap: 0;
  min-width: 0;
}
.nav-group-title {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #d2d9de;
}

.nav-group-chevron {
  color: #8f9aa1;
  font-size: 14px;
  line-height: 1;
  transition: transform var(--anim-medium) ease, color var(--anim-fast);
}
.nav-group.is-open .nav-group-chevron {
  transform: rotate(180deg);
  color: #cfd7dc;
}
.nav-group.is-collapsed .nav-group-items {
  display: none;
}
.nav-publish-block {
  margin-top: 1rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.mobile-sidebar-toggle,
.sidebar-scrim {
  display: none;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .sidebar {
    display: flex !important;
    width: 248px !important;
    min-width: 248px !important;
    position: sticky !important;
    top: 0 !important;
    transform: none !important;
    box-shadow: none !important;
  }
}
@media (max-width: 767px) {
  .app {
    position: relative;
  }
  .sidebar {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(320px, 86vw) !important;
    min-width: 0 !important;
    z-index: 620 !important;
    transform: translateX(-104%);
    transition: transform 0.24s ease;
    box-shadow: 20px 0 48px rgba(0,0,0,0.42);
  }
  body.sidebar-open .sidebar {
    transform: translateX(0);
  }
  .mobile-sidebar-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 610;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(18,18,18,0.94);
    color: #edf2f5;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(0,0,0,0.32);
  }
  .mobile-sidebar-toggle-icon {
    font-size: 15px;
    line-height: 1;
  }
  .sidebar-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 615;
    background: rgba(0,0,0,0.48);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  body.sidebar-open .sidebar-scrim {
    opacity: 1;
    pointer-events: auto;
  }
  .main {
    width: 100%;
    max-width: none;
  }
}

/* === 6.1 Step 6 — Landing refinement + global footer === */
.landing-hero {
  padding-top: 3rem;
  padding-bottom: 1.25rem;
}
.landing-tag {
  margin-bottom: 1rem;
  letter-spacing: 0.08em;
}
.landing-h1 {
  margin-bottom: 1rem;
  max-width: none;
  width: 100%;
}
.landing-lead {
  max-width: none;
  margin-bottom: 1.25rem;
}
.landing-stats {
  margin-top: 1.5rem;
}
.landing-body {
  padding-top: 1.25rem;
}
.landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
  margin-bottom: 0.5rem;
}
.landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] > div {
  padding: 1.4rem 1.45rem;
}
.landing-action-intro {
  margin: 2rem 0 1.25rem;
}
#landingStartWrap {
  padding-bottom: 2.5rem;
}
.landing-action {
  min-width: 220px;
}

.app {
  flex-wrap: wrap;
}
.global-footer {
  border-top: 1px solid rgba(255,255,255,0.08);
}
.global-footer-landing {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.global-footer-app {
  width: 100%;
  margin-left: 0;
  padding: 0;
}
.global-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: min(var(--shell-frame-max), 100%);
  margin: 0 auto;
  padding: 1rem var(--shell-inline-pad) 0;
  font-size: 12px;
  color: #8f9ba2;
  line-height: 1.5;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.global-footer-links {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.global-footer a {
  color: #aeb7bd;
  text-decoration: none;
}
.global-footer a:hover,
.global-footer a:focus-visible {
  color: var(--text);
  text-decoration: underline;
  outline: none;
}
.global-footer-meta {
  color: #7f8b92;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .landing-hero {
    padding-top: 2.25rem;
  }
  .landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] > div {
    padding: 1.15rem 1.2rem;
  }
  .global-footer-landing,
  .global-footer-app {
    padding: 0;
  }
}

@media (max-width: 767px) {
  .landing-hero {
    padding-top: 1.5rem;
    padding-bottom: 0.9rem;
  }
  .landing-h1 {
    margin-bottom: 0.85rem;
  }
  .landing-lead {
    margin-bottom: 1rem;
  }
  .landing-stats,
  .landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: 1fr;
  }
  .landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] > div {
    padding: 1rem;
  }
  .landing-action-intro {
    margin: 1.35rem 0 0.95rem;
  }
  .global-footer-landing,
  .global-footer-app {
    padding: 0;
  }
  .global-footer-inner {
    justify-content: flex-start;
    gap: 8px 14px;
  }
}

/* === 6.1 Step 6b — Footer column alignment + landing hero widow fix === */
.global-footer-app {
  margin-left: 0;
  width: 100%;
}
.global-footer-app .global-footer-inner {
  max-width: none;
  margin: 0 auto;
}
.landing-h1 {
  max-width: none;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .global-footer-app {
    margin-left: 0;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .global-footer-app {
    margin-left: 0;
    width: 100%;
  }
  .landing-h1 {
    max-width: none;
  }
}

/* === 6.1 Step 6c — Workbench surface refinement === */
.landing-action-intro {
  margin: 1.85rem 0 1rem;
  align-items: flex-start;
}
.landing-action-divider {
  display: none;
}
.landing-action-tag {
  margin-bottom: 2px;
}
.landing-action-title {
  text-align: left;
  color: #d4dbe0;
  font-size: 15px;
}

.landing-decision-note,
.landing-start-note,
.landing-decision-card .landing-action,

@media (min-width: 768px) and (max-width: 1023px) {
}

@media (max-width: 767px) {
  .landing-action-intro {
    margin: 1.2rem 0 0.85rem;
  }
  .landing-action-title {
    font-size: 14px;
  }
}

/* === 6.1 Step 6d — Consolidated workbench actions === */
.landing-action-intro {
  margin: 1.65rem 0 0.95rem;
  align-items: flex-start;
}
.landing-action-divider {
  display: none;
}
.landing-action-title {
  text-align: left;
  color: #d4dbe0;
  font-size: 15px;
}

.landing-workbench {
  display: grid;
  gap: 14px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 1.15rem 1.25rem;
}
.landing-workbench-desc {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.65;
  color: #c1cbd1;
  max-width: 760px;
}
.landing-workbench-desc strong {
  color: var(--text);
  font-weight: 600;
}
.landing-workbench-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.landing-workbench-actions .landing-action {
  min-width: 0;
}
.landing-workbench-actions .btn.btn-secondary[disabled] {
  opacity: 0.45;
  background: rgba(255,255,255,0.04);
  color: #8d989f;
  border-color: rgba(255,255,255,0.12);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .landing-workbench {
    padding: 1rem 1.1rem;
  }
}

@media (max-width: 767px) {
  .landing-action-intro {
    margin: 1.15rem 0 0.8rem;
  }
  .landing-action-title {
    font-size: 14px;
  }
  .landing-workbench {
    padding: 1rem;
    gap: 12px;
  }
  .landing-workbench-actions {
    justify-content: flex-start;
  }
}

/* === 6.1 Step 6e — Workbench simplification and action ordering === */
.landing-action-intro {
  margin: 1.45rem 0 0.8rem;
  align-items: flex-start;
  gap: 6px;
}
.landing-action-divider {
  display: none;
}
.landing-action-tag {
  margin-bottom: 0;
}
.landing-action-title {
  text-align: left;
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.landing-workbench {
  display: grid;
  gap: 12px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 1.15rem 1.25rem;
}
.landing-workbench-copy {
  display: block;
}
.landing-workbench-desc {
  margin-top: 0;
  font-size: 13px;
  line-height: 1.65;
  color: #c1cbd1;
  max-width: 780px;
}
.landing-workbench-desc strong {
  color: var(--text);
  font-weight: 600;
}
.landing-workbench-status,
.landing-workbench-title,

.landing-workbench-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.landing-workbench-actions .landing-action,
.landing-workbench-actions .btn {
  min-width: 0;
}
.landing-workbench-actions .landing-continue-btn {
  min-width: 154px;
}
.landing-workbench-actions .btn.btn-secondary[disabled] {
  opacity: 0.42;
  background: rgba(255,255,255,0.03);
  color: #8d989f;
  border-color: rgba(255,255,255,0.10);
}
.landing-workbench-actions .btn.btn-secondary[disabled]:hover {
  background: rgba(255,255,255,0.03);
  color: #8d989f;
  border-color: rgba(255,255,255,0.10);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .landing-workbench {
    padding: 1rem 1.1rem;
  }
  .landing-action-title {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .landing-action-intro {
    margin: 1.05rem 0 0.7rem;
  }
  .landing-action-title {
    font-size: 14px;
  }
  .landing-workbench {
    padding: 1rem;
    gap: 10px;
  }
  .landing-workbench-actions {
    justify-content: flex-start;
  }
  .landing-workbench-actions .landing-continue-btn {
    min-width: 0;
  }
}

/* === 6.1 Step 6f — Parent workbench surface + returning-user copy === */
#landingStartWrap {
  padding-bottom: 2.5rem;
}
.landing-workbench {
  display: grid;
  gap: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 1.15rem 1.25rem;
}
.landing-action-intro-inline {
  margin: 0;
  padding: 0;
  align-items: flex-start;
  gap: 6px;
}
.landing-action-intro-inline .landing-action-divider {
  display: none;
}
.landing-action-intro-inline .landing-action-tag {
  margin-bottom: 0;
}
.landing-action-intro-inline .landing-action-title {
  text-align: left;
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}
.landing-workbench-copy {
  display: block;
}
.landing-workbench-desc {
  margin-top: 0;
  font-size: 13px;
  line-height: 1.65;
  color: #c1cbd1;
  max-width: 780px;
}
.landing-workbench-desc strong {
  color: var(--text);
  font-weight: 600;
}
.landing-workbench-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.landing-workbench-actions .landing-continue-btn {
  min-width: 154px;
}
.landing-workbench-actions .landing-action,
.landing-workbench-actions .btn {
  min-width: 0;
}
.landing-workbench-actions .btn.btn-secondary[disabled] {
  opacity: 0.42;
  background: rgba(255,255,255,0.03);
  color: #8d989f;
  border-color: rgba(255,255,255,0.10);
}
.landing-workbench-actions .btn.btn-secondary[disabled]:hover {
  background: rgba(255,255,255,0.03);
  color: #8d989f;
  border-color: rgba(255,255,255,0.10);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .landing-workbench {
    padding: 1rem 1.1rem;
  }
  .landing-action-intro-inline .landing-action-title {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .landing-workbench {
    padding: 1rem;
    gap: 10px;
  }
  .landing-action-intro-inline .landing-action-title {
    font-size: 14px;
  }
  .landing-workbench-actions {
    justify-content: flex-start;
  }
  .landing-workbench-actions .landing-continue-btn {
    min-width: 0;
  }
}

/* === 6.1 Step 6g — Workbench mobile fix + benefits block === */
.landing-workbench {
  padding: 0.95rem 1.15rem 1rem;
  gap: 10px;
}
.landing-action-intro-inline {
  gap: 4px;
}
.landing-action-intro-inline .landing-action-tag {
  margin-bottom: 0;
}
.landing-action-intro-inline .landing-action-title {
  margin-top: 0;
}
.landing-workbench-desc {
  margin-top: 0;
}
.landing-workbench-actions {
  margin-top: 2px;
}
.landing-benefit-list {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.landing-benefit-list li + li {
  margin-top: 6px;
}
.landing-benefit-list strong {
  color: var(--text);
  font-weight: 600;
}

@media (max-width: 767px) {
  .landing-workbench {
    padding: 0.85rem 0.95rem 0.95rem;
    gap: 8px;
  }
  .landing-action-intro-inline {
    gap: 3px;
  }
  .landing-workbench-actions {
    justify-content: flex-start;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .landing-workbench-actions .landing-action,
  .landing-workbench-actions .btn {
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
  }
}

/* === 6.1 Step 6h — Landing spacing and copy corrections === */
#landingStartWrap {
  padding-bottom: 1.5rem;
}
.landing-workbench {
  margin-bottom: 0;
}
.landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
  margin-top: 0;
  margin-bottom: 0.35rem;
}
.landing-body {
  padding-top: 0.85rem;
}
@media (max-width: 767px) {
  #landingStartWrap {
    padding-bottom: 1.1rem;
  }
  .landing-body {
    padding-top: 0.75rem;
  }
  .landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
    margin-bottom: 0.15rem;
  }
}

/* === 6.1 Step 6i — Landing vertical rhythm correction === */
.landing-stats {
  margin-top: 1.4rem;
  margin-bottom: 1.6rem;
}
.landing-body {
  padding-top: 0;
}
#landingStartWrap {
  padding-top: 0;
  padding-bottom: 1.6rem;
}
.landing-workbench {
  margin-top: 0;
  margin-bottom: 0;
}
.landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
  margin-top: 0;
  margin-bottom: 0;
}
.landing-action-intro {
  margin: 0 0 0.8rem;
}
@media (max-width: 767px) {
  .landing-stats {
    margin-top: 1rem;
    margin-bottom: 1.15rem;
  }
  #landingStartWrap {
    padding-bottom: 1.1rem;
  }
  .landing-action-intro {
    margin: 0 0 0.7rem;
  }
}

/* === 6.1 Step 6k — Landing rhythm consistency === */
.landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
  margin-bottom: 1.25rem;
}
#landingStartWrap {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .landing-body > div[style*="grid-template-columns:1fr 1fr 1fr"] {
    margin-bottom: 1rem;
  }
  #landingStartWrap {
    padding-bottom: 1rem;
  }
}

/* === 6.1 Step 6l — Mobile workbench action visibility + numbered bullet contrast === */
@media (max-width: 767px) {
  .landing-workbench {
    overflow: visible;
  }
  .landing-workbench-actions {
    display: flex;
    visibility: visible;
    opacity: 1;
    overflow: visible;
    max-height: none;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 4px;
  }
  .landing-workbench-actions .landing-action,
  .landing-workbench-actions .btn {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    position: static;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }
}

.landing-steps li {
  color: var(--text);
}
.landing-step-num {
  color: var(--text);
}

/* === 6.1 Step 6m — Numbered step design system update === */
.landing-step-num {
  background: transparent;
  color: #ffffff;
  border: 1.25px solid rgba(255,255,255,0.9);
  font-weight: 500;
}

/* Ensure consistent sizing */
.landing-step-num {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 0.8rem;
}

/* Mobile workbench fix (remove clipping/stack properly) */
@media (max-width: 767px) {
  .landing-workbench {
    overflow: visible;
    height: auto;
  }
  .landing-workbench-actions {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }
}

/* ==========================================================================
   Design system — layout, spacing, and surface primitives
   This is the single source of truth for UI rhythm and common surface patterns.
   Page-level overrides should only diverge where the design system does not yet
   define the required pattern.
   ========================================================================== */

:root {
  /* Spacing scale */
  --ds-space-xs: 4px;
  --ds-space-sm: 8px;
  --ds-space-md: 12px;
  --ds-space-lg: 16px;
  --ds-space-xl: 24px;
  --ds-space-2xl: 32px;

  /* Surface tokens */
  --ds-radius-card: 14px;
  --ds-radius-card-mobile: 12px;
  --ds-surface-card: rgba(255,255,255,0.028);
  --ds-surface-card-quiet: rgba(255,255,255,0.03);
  --ds-border-subtle: rgba(255,255,255,0.08);
  --ds-border-quiet: rgba(255,255,255,0.10);

  /* Semantic layout rules */
  --ds-card-padding: var(--ds-space-lg);
  --ds-card-padding-tablet: 15px;
  --ds-card-padding-mobile: 14px;
  --ds-card-gap: var(--ds-space-xl);
  --ds-section-gap: var(--ds-space-2xl);
  --ds-header-gap-eyebrow-title: var(--ds-space-sm);
  --ds-header-gap-title-copy: var(--ds-space-sm);
  --ds-block-gap-content-actions: var(--ds-space-md);
  --ds-action-gap: 10px;
}

/* Shared surface primitive */
.ds-surface-card {
  background: var(--ds-surface-card);
  border: 1px solid var(--ds-border-subtle);
  border-radius: var(--ds-radius-card);
  padding: var(--ds-card-padding);
}

/* Shared page-header primitive — canonical main page header pattern */
.ds-page-header,
.section-header.ds-page-header {
  display: grid;
  gap: 0;
}

.section-header.ds-page-header.section-header--illustrated {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 28px);
}

.section-header.ds-page-header .section-header-text {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 0;
}

.section-header.ds-page-header .section-header-illustration {
  width: 96px;
  height: 96px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
}

.section-header.ds-page-header .section-header-illustration svg {
  width: 96px;
  height: 96px;
  display: block;
}

.ds-page-header-eyebrow,
.section-tag.ds-page-header-eyebrow {
  margin-bottom: var(--ds-header-gap-eyebrow-title);
}

.ds-page-header-title,
.section-title.ds-page-header-title {
  margin-bottom: var(--ds-header-gap-title-copy);
}

.ds-page-header-copy,
.section-desc.ds-page-header-copy {
  margin-bottom: 0;
}

.ds-page-header--divided {
  padding-bottom: calc(var(--ds-space-xl) + 4px);
  margin-bottom: calc(var(--ds-space-xl) + 4px);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.ds-page-header-eyebrow,
.section-tag.ds-page-header-eyebrow {
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--accent);
}

.ds-page-header-title,
.section-title.ds-page-header-title {
  font-family:var(--serif);
  font-size:clamp(2.05rem, 3.2vw, 2.55rem);
  line-height:1.08;
  font-weight:400;
  color:var(--text);
}

.ds-page-header-copy,
.section-desc.ds-page-header-copy {
  max-width:none;
  width:100%;
  font-size:14px;
  line-height:1.72;
  color:#a8b3b9;
}

.section-header.ds-page-header .section-desc.ds-page-header-copy {
  max-width: 64ch;
}

@media (max-width: 500px) {
  .section-header.ds-page-header.section-header--illustrated {
    display: grid;
  }

  .section-header.ds-page-header .section-header-illustration {
    display: none;
  }

  .projects-home-header.projects-home-header--illustrated {
    display: grid;
  }

  .projects-home-header-illustration {
    display: none;
  }
}

/* Shared section utility header primitive */
.ds-section-utility-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-block-gap-content-actions);
  margin-bottom: var(--ds-space-md);
}

.ds-section-utility-copy {
  min-width: 0;
}

.ds-section-utility-copy .sublabel {
  margin-bottom: 0;
}

.ds-section-utility-actions {
  display: flex;
  align-items: center;
  gap: var(--ds-action-gap);
  flex-wrap: wrap;
}

/* Canonical surface header primitive */
.ds-surface-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--ds-block-gap-content-actions);
  margin-bottom:var(--ds-space-md);
}

.ds-surface-header-copy {
  min-width:0;
  display:grid;
  gap:6px;
}

.ds-surface-header-title {
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--text);
  line-height:1.4;
}

.ds-surface-header-copytext {
  font-size:var(--fs-xs);
  color:var(--text-supporting);
  line-height:1.6;
}

.ds-surface-header-actions {
  display:flex;
  align-items:center;
  gap:var(--ds-action-gap);
  flex-wrap:wrap;
}

/* Canonical tab primitives */
.ds-tablist {
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
}

.ds-tablist-primary {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  min-width:0;
  flex:1 1 auto;
}

.ds-tablist-reference {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-left:auto;
  flex:0 0 auto;
}

.ds-tab {
  background:rgba(255,255,255,0.03);
  color:var(--muted);
  border:1px solid var(--border2);
  border-radius:999px;
  padding:9px 14px;
  font-family:var(--font);
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.15s;
}

.ds-tab:hover:not(.active):not(.reference-tab),
.ds-tab:focus-visible:not(.active):not(.reference-tab) {
  color:var(--text);
  border-color:rgba(255,255,255,0.25);
  background:var(--panel-hover-soft);
  outline:none;
}

.ds-tab.active {
  background:var(--selected-bg-strong);
  color:var(--text);
  border-color:rgba(255,192,0,0.34);
  box-shadow: inset 0 0 0 1px rgba(255,192,0,0.22);
}

.ds-tab.reference-tab {
  background:rgba(255,255,255,0.02);
  color:#b9c4cb;
  border-style:dashed;
}

.ds-tab.reference-tab.active {
  background:rgba(136,167,183,0.14);
  border-color:rgba(136,167,183,0.34);
  box-shadow:none;
}

/* Canonical selectable card primitives */
.ds-select-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:1rem;
}

.ds-select-card {
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:rgba(255,255,255,0.03);
  border:1.5px solid rgba(255,255,255,0.12);
  border-radius:12px;
  padding:14px 16px;
  cursor:pointer;
  transition:border-color var(--anim-fast), background var(--anim-fast), opacity var(--anim-fast), transform var(--anim-fast);
  user-select:none;
}

.ds-select-card:hover:not(.disabled):not(.ds-select-card--primary-selected):not(.ds-select-card--secondary-selected) {
  border-color:rgba(255,255,255,0.28);
  background:rgba(255,255,255,0.05);
  transform:translateY(-1px);
}

.ds-select-card--primary-selected {
  border:1.5px solid rgba(240,189,42,0.5);
  background:rgba(240,189,42,0.16);
}

.ds-select-card--secondary-selected {
  border:1.5px solid rgba(240,189,42,0.26);
  background:rgba(240,189,42,0.08);
}

.ds-select-card.disabled {
  opacity:1;
  cursor:default;
  pointer-events:none;
  background:rgba(255,255,255,0.018);
  border-color:rgba(255,255,255,0.08);
}

.ds-choice-list {
  display:grid;
  gap:10px;
}

.ds-choice-list--two-col {
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.ds-choice-card {
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  row-gap:0;
  padding:12px 14px;
  border:1.5px solid rgba(255,255,255,0.12);
  border-radius:11px;
  background:rgba(255,255,255,0.03);
  color:var(--text);
  text-align:left;
  font-family:var(--font);
  font-size:var(--fs-sm);
  cursor:pointer;
  transition:border-color var(--anim-fast), background var(--anim-fast), transform var(--anim-fast), box-shadow var(--anim-fast), opacity var(--anim-fast);
  user-select:none;
  appearance:none;
  -webkit-appearance:none;
}

.ds-choice-card:hover:not(.is-readonly):not(.is-disabled):not(.is-selected),
.ds-choice-card:focus-visible:not(.is-readonly):not(.is-disabled):not(.is-selected) {
  border-color:rgba(255,255,255,0.26);
  background:rgba(255,255,255,0.05);
  transform:translateY(-1px);
  outline:none;
}

.ds-choice-card.is-selected {
  border-color:rgba(240,189,42,0.42);
  background:rgba(240,189,42,0.12);
  box-shadow:inset 0 0 0 1px rgba(240,189,42,0.12);
}

.ds-choice-card.is-readonly {
  cursor:default;
}

.ds-choice-card.is-readonly:not(.is-selected) {
  background:rgba(255,255,255,0.024);
  border-color:rgba(255,255,255,0.08);
}

.ds-choice-card.is-disabled {
  opacity:0.6;
  cursor:default;
  pointer-events:none;
}

.ds-choice-card-icon {
  width:32px;
  height:32px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  justify-self:center;
  background:rgba(255,255,255,0.06);
  font-size:17px;
  flex-shrink:0;
}

.ds-choice-card.is-selected .ds-choice-card-icon {
  background:rgba(255,255,255,0.16);
}

.ds-choice-card-copy {
  min-width:0;
  display:grid;
  gap:4px;
  align-content:center;
}

.ds-choice-card-title {
  font-size:13px;
  font-weight:400;
  color:#d1dbe0;
  line-height:1.35;
}

.ds-choice-card-desc {
  font-size:12px;
  line-height:1.55;
  color:var(--muted);
}

.ds-choice-card-rank {
  position:absolute;
  top:10px;
  right:10px;
  min-width:24px;
  height:24px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(12,12,12,0.88);
  color:#f0bd2a;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.04em;
}

.ds-choice-card-lock {
  position:absolute;
  top:10px;
  right:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(0,163,136,0.24);
  background:rgba(0,163,136,0.1);
  color:#9ad1c4;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

@media (max-width: 767px) {
  .ds-choice-list--two-col {
    grid-template-columns:1fr;
  }
}



.ptype-primary-actions {
  justify-content:flex-end;
}

.ptype-secondary-empty {
  background: rgba(226,75,74,0.08);
  box-shadow: inset 0 0 0 1px rgba(226,75,74,0.16);
  border-radius: 10px;
  border-color: rgba(226,75,74,0.22);
}

.ptype-secondary-empty .ptype-secondary-helper {
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:12px;
  color:#f3b4b4;
  line-height:1.55;
}

.ptype-secondary-empty .ptype-secondary-helper::before {
  content:'⚠';
  flex-shrink:0;
  width:14px;
  text-align:center;
  color:#ef8f8f;
}
.ds-choice-commit-note {
  font-size:12px;
  line-height:1.6;
  color:#b8c6cd;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:12px 14px;
}

.ds-choice-commit-note.is-confirmed {
  border-color:rgba(0,163,136,0.22);
  background:rgba(0,163,136,0.06);
  color:#b9d7d0;
}

.ds-choice-commit-note strong {
  color:var(--text);
}

.ds-choice-readonly-grid {
  display:grid;
  gap:10px;
}

/* Global guidance / hint primitives */
.ds-guidance-block {
  font-size:12px;
  color:var(--text);
  padding:14px 16px;
  background:rgba(136,167,183,0.08);
  border-left:2px solid rgba(136,167,183,0.45);
  border-radius:0 10px 10px 0;
  line-height:1.65;
}
.ds-guidance-block strong {
  color:var(--req-id);
  font-weight:500;
}
.ds-guidance-block .tech-detail-summary-copy {
  display:grid;
  gap:8px;
}
.ds-guidance-block .tech-detail-summary-copy ul {
  margin:0;
  padding-left:20px;
  list-style-position:outside;
}
.ds-guidance-block .tech-detail-summary-copy li + li {
  margin-top:4px;
}
.ds-guidance-block .tech-detail-summary-copy > div {
  margin:0;
}
.repeatable-list-item .ds-icon-button {
  flex-shrink:0;
}
.repeatable-list-item .ds-icon-button:hover, .repeatable-list-item .ds-icon-button:focus-visible {
  background:rgba(255,255,255,0.08);
}
.ds-hint-block {
  display:grid;
  gap:6px;
  margin-top:12px;
  padding:0 0 0 14px;
  border-left:2px solid rgba(255,255,255,0.14);
  border-radius:0;
  background:none;
  font-size:12px;
  color:#9eafb8;
  line-height:1.6;
}

/* Canonical audit primitives */
.ds-audit-surface {
  display:grid;
  gap:12px;
}

.ds-audit-bar {
  display:flex;
  align-items:stretch;
  gap:1rem;
  margin-bottom:1.6rem;
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  flex-wrap:wrap;
}

.ds-audit-launch {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  width:100%;
}

.ds-audit-results-shell {
  display:none;
  margin-top:0.8rem;
}

.ds-audit-results-shell.visible {
  display:block;
}

.ds-audit-results {
  background:var(--panel-bg);
  border:1px solid var(--border2);
  border-radius:12px;
  overflow:hidden;
}

.ds-audit-body.collapsed,
.ds-audit-footer.collapsed {
  display:none;
}

.ds-audit-row {
  display:flex;
  gap:12px;
  padding:1rem 1.25rem;
  border-bottom:0.5px solid var(--border);
}

.ds-audit-row:last-child {
  border-bottom:none;
}

.ds-audit-row-text {
  display:grid;
  flex:1;
  min-width:0;
  gap:16px;
  font-size:var(--fs-body-sm);
  color:var(--text);
  line-height:1.6;
}

.ds-audit-note {
  margin-top:2px;
}
.ds-guidance-block.ds-audit-note,
.ds-audit-note {
  font-size:12px;
  color:var(--text);
  padding:14px 16px;
  background:rgba(136,167,183,0.08);
  border-left:2px solid rgba(136,167,183,0.45);
  border-radius:0 10px 10px 0;
  line-height:1.65;
}

.ds-guidance-block.ds-audit-note strong,
.ds-audit-note strong {
  color:var(--req-id);
  font-weight:500;
}

.ds-audit-clean {
  display:flex;
  align-items:center;
  gap:10px;
  padding:1.25rem;
  font-size:13px;
  color:var(--accent2);
}

.ds-audit-action {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  justify-content:flex-end;
  margin-top:6px;
}

.ds-audit-go { align-self:flex-start; margin-left:auto; }
  .ds-audit-go:hover, .ds-audit-go:focus-visible { outline:none; }
.ds-audit-ignore { align-self:flex-start; }
.ds-audit-correct {
  align-self:flex-start;
  color:var(--text) !important;
  border-color:rgba(255,255,255,0.28) !important;
  background:rgba(255,255,255,0.055) !important;
}
.ds-audit-correct:hover:not(:disabled),
.ds-audit-correct:focus-visible {
  color:#ffffff !important;
  border-color:rgba(255,255,255,0.38) !important;
  background:rgba(255,255,255,0.08) !important;
}

.sanity-target-arrival {
  position:relative;
  padding:14px;
  border-radius:12px;
  background:rgba(255,255,255,0.028);
  box-shadow:inset 0 0 0 1px rgba(216,178,74,0.16);
}

.sanity-target-arrival::before {
  content:'';
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:999px;
  background:rgba(216,178,74,0.44);
}

.sanity-target-arrival-cue {
  margin:0 0 12px;
}

.field-label.sanity-target-label {
  color:var(--text);
}

.field-label.sanity-target-label .hint {
  color:#bcc8ce;
}

.sanity-target-arrival-target {
  scroll-margin-top:96px;
}

.sanity-target-arrival-focus {
  border-color:rgba(216,178,74,0.34) !important;
  box-shadow:0 0 0 3px rgba(216,178,74,0.08), inset 0 0 0 1px rgba(216,178,74,0.08);
}

.sanity-results-legend {
  margin:0 0 12px;
  font-size:12px;
  line-height:1.55;
  color:#97aab4;
  opacity:0.9;
}

.sanity-finding-structure {
  display:grid;
  gap:12px;
}

.sanity-finding-summary {
  display:grid;
  gap:8px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
}

.sanity-finding-summary-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.sanity-finding-ref {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#f5fbff;
}

.sanity-finding-section {
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#b8c8d0;
}

.sanity-finding-summary-text {
  font-size:14px;
  line-height:1.6;
  font-weight:600;
  color:var(--text);
}

.sanity-finding-block {
  display:grid;
  gap:10px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  background:rgba(255,255,255,0.025);
}

.sanity-finding-block-title {
  font-size:11px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#cbd5db;
}

.sanity-finding-problem-copy {
  font-size:13px;
  line-height:1.65;
  color:var(--text);
}

.sanity-finding-block--evidence {
  background:rgba(255,255,255,0.018);
}

.sanity-finding-block--fix {
  background:rgba(117,177,150,0.08);
  border-color:rgba(117,177,150,0.18);
}

.sanity-trigger-list,
.sanity-resolution-list {
  display:grid;
  gap:8px;
}

.sanity-trigger-item,
.sanity-resolution-item,
.sanity-related-requirement {
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(255,255,255,0.08);
}

.sanity-trigger-item {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
}

.sanity-trigger-copy,
.sanity-resolution-stack {
  display:grid;
  gap:8px;
}

.sanity-trigger-label,
.sanity-resolution-label,
.sanity-related-kicker {
  font-size:12px;
  line-height:1.45;
  font-weight:600;
  color:var(--text);
}

.sanity-trigger-detail,
.sanity-resolution-copy,
.sanity-related-source,
.sanity-trigger-empty,
.sanity-related-text {
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}

.sanity-trigger-role {
  align-self:start;
  font-size:10px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#c3ccd2;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,0.05);
}

.sanity-related-text {
  color:var(--text);
}

.sanity-related-findings-note {
  margin-top:2px;
  font-size:12px;
  line-height:1.55;
  color:#a6b7c0;
}

.sanity-related-findings-note strong {
  color:var(--text);
}

.sanity-modal-issue {
  display:grid;
  gap:8px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
}

.sanity-modal-issue-ref {
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#b7c8d1;
}

.sanity-modal-issue-copy {
  font-size:14px;
  line-height:1.6;
  font-weight:600;
  color:var(--text);
}

.sanity-correction-modal.ds-modal-shell.ds-modal-shell-wide {
  width:min(1040px, calc(100vw - 40px));
}

.sanity-correction-body {
  display:grid;
  gap:14px;
}

.sanity-correction-copy-block {
  color:var(--ink-700);
}

.sanity-correction-task {
  display:grid;
  gap:12px;
}

.sanity-correction-field-wrap .form-grid.single {
  gap:14px;
  margin-top:0;
}

.sanity-correction-choice-grid {
  gap:10px;
}

.sanity-correction-choice-grid .radio-inline,
.sanity-correction-choice-grid .check-card {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  text-align:left;
}

.sanity-correction-actions {
  align-items:flex-end;
  gap:12px;
}

.sanity-correction-actions-copy {
  color:var(--ink-600);
  font-size:0.92rem;
  line-height:1.45;
}

.sanity-correction-actions-right {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-left:auto;
}

.sanity-correction-nudge {
  margin-top:0;
}

.sanity-resolution-nudge {
  font-size:13px;
  line-height:1.6;
  color:var(--text);
}

.sanity-correction-disclosures {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  align-items:stretch;
}

.sanity-disclosure-tile {
  appearance:none;
  -webkit-appearance:none;
  min-height:74px;
  width:100%;
  display:grid;
  align-content:start;
  gap:6px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  background:rgba(255,255,255,0.02);
  padding:10px 12px;
  cursor:pointer;
  text-align:left;
  color:inherit;
}

.sanity-disclosure-copy {
  display:grid;
  gap:4px;
  min-width:0;
}

.sanity-disclosure-title-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.sanity-disclosure-title {
  min-width:0;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sanity-disclosure-summary {
  font-size:11px;
  line-height:1.35;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sanity-disclosure-icon {
  flex:0 0 auto;
  width:16px;
  height:16px;
  line-height:1;
  color:#b8c8d0;
  transition:transform 160ms ease;
}

.sanity-disclosure-tile.is-open .sanity-disclosure-icon {
  transform:rotate(90deg);
}

.sanity-correction-disclosure-panels {
  display:grid;
  gap:8px;
  margin-top:8px;
}

.sanity-disclosure-panel {
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  background:rgba(255,255,255,0.02);
}

.sanity-disclosure-body {
  display:grid;
  gap:10px;
  padding:12px;
}

.sanity-disclosure-lead {
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}

.sanity-provenance-stack {
  display:grid;
  gap:6px;
}

.sanity-correction-date-field {
  margin-top:0;
}

.ds-hint-block.ds-audit-footer,
.ds-audit-footer {
  display:grid;
  gap:6px;
  margin-top:12px;
  padding:0 0 0 14px;
  border-left:2px solid rgba(255,255,255,0.14);
  border-radius:0;
  background:none;
  font-size:12px;
  color:#9eafb8;
  line-height:1.6;
  font-style:normal;
}

/* Shared stacking primitives */
.ds-stack-cards > * + * {
  margin-top: var(--ds-card-gap);
}

.ds-stack-sections > * + * {
  margin-top: var(--ds-section-gap);
}

.ds-actions-row {
  display: flex;
  align-items: center;
  gap: var(--ds-action-gap);
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .sanity-correction-modal.ds-modal-shell.ds-modal-shell-wide {
    width:min(100vw - 20px, 680px);
  }

  .sanity-correction-disclosures {
    grid-template-columns:1fr;
  }

  .sanity-finding-block {
    padding:12px;
    border-radius:10px;
  }

  .sanity-finding-summary,
  .sanity-modal-issue {
    padding:12px;
    border-radius:10px;
  }

  .sanity-trigger-item {
    grid-template-columns:1fr;
  }

  .sanity-correction-actions {
    align-items:stretch;
  }

  .sanity-disclosure-copy {
    gap:6px;
  }

  .sanity-disclosure-body {
    padding:10px;
  }

  .sanity-correction-actions-right {
    width:100%;
    margin-left:0;
    justify-content:stretch;
  }

  .sanity-correction-actions-right .btn {
    flex:1 1 100%;
  }

  .ds-section-utility-header {
    flex-direction: column;
    align-items: stretch;
  }

  .ds-section-utility-actions {
    justify-content: flex-start;
  }

  .ds-surface-header {
    flex-direction:column;
    align-items:stretch;
  }

  .ds-surface-header-actions {
    justify-content:flex-start;
  }

  .ds-tablist {
    flex-wrap:wrap;
  }

  .ds-tablist-primary {
    flex:1 1 100%;
  }

  .ds-tablist-reference {
    width:100%;
    justify-content:flex-start;
    margin-left:0;
    padding-top:4px;
  }

  .ds-select-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width: 1023px) {
  .ds-surface-card {
    padding: var(--ds-card-padding-tablet);
  }
}

@media (max-width: 767px) {
  .ds-surface-card {
    padding: var(--ds-card-padding-mobile);
    border-radius: var(--ds-radius-card-mobile);
  }

  .ds-stack-cards > * + * {
    margin-top: var(--ds-space-lg);
  }

  .ds-stack-sections > * + * {
    margin-top: var(--ds-space-xl);
  }

  .ds-actions-row {
    gap: var(--ds-space-sm);
  }

  .sanity-target-arrival {
    padding:12px;
    border-radius:10px;
  }
}

/* === 6.1 Step 7e — Separate entered-information view === */
.review-page-shell {
  display: grid;
  gap: var(--ds-space-md);
  margin-bottom: var(--ds-space-xl);
}

.review-page-linkbar {
  font-size: 13px;
  color: #9fb0b8;
}

.review-page-linkbar a {
  color: #e6edf1;
  text-decoration: underline;
}

.review-page-linkbar a:hover,
.review-page-linkbar a:focus-visible {
  color: #ffffff;
}

.entered-info-surface {
  background: var(--panel-bg);
  border: 1px solid var(--border2);
  border-radius: 14px;
  overflow: hidden;
}

.entered-info-head {
  padding: var(--ds-card-padding) var(--ds-card-padding) calc(var(--ds-card-padding) - var(--ds-space-xs));
  border-bottom: 1px solid rgba(255,255,255,0.08);
  display: grid;
  gap: var(--ds-space-xs);
}

.entered-info-backlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #c6d0d6;
  text-decoration: none;
}

.entered-info-backlink:hover,
.entered-info-backlink:focus-visible {
  color: #ffffff;
  text-decoration: underline;
}

.entered-info-kicker {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9fb0ba;
}

.entered-info-title {
  font-family: var(--serif);
  font-size: 1.35rem;
  line-height: 1.2;
  color: var(--text);
}

.entered-info-desc {
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
  max-width: 760px;
}


#enteredInfoContent {
  padding: 1rem 1.1rem 1.1rem;
}

@media (max-width: 767px) {
  .review-page-shell {
    gap: var(--ds-space-sm);
    margin-bottom: var(--ds-space-lg);
  }
  .entered-info-head {
    padding: 0.95rem 1rem 0.9rem;
  }
  #enteredInfoContent {
    padding: 0.9rem 1rem 1rem;
  }
}

/* === 6.1 targeted review fixes === */
.rv2-section-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:var(--space-3) !important;
  flex-wrap:wrap !important;
}
.rv2-section-head .req-section-meta{
  flex:1 1 auto !important;
  min-width:0 !important;
}
.rv2-section-head .rv2-section-actions{
  margin-left:auto !important;
  align-items:flex-start !important;
}
.rv2-entered-page[hidden],
.rv2-surface[hidden]{
  display:none !important;
}
.rv2-item--stale{
  background: var(--danger-bg) !important;
  box-shadow: inset 0 0 0 1px rgba(226,75,74,0.22) !important;
}
@media (max-width: 767px){
  .rv2-section-head .rv2-section-actions{
    width:100%;
    margin-left:0 !important;
    justify-content:flex-start !important;
  }
}

/* === 6.1 Inline cleanup — structural/composite pass === */
.ds-card-strip-surface {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:var(--radius-2sm);
  overflow:hidden;
  margin-bottom:1.6rem;
}
.ds-card-strip-panel {
  background:var(--surface);
  padding:1.75rem;
}
.ds-card-plain {
  border-radius:0 !important;
  border:none !important;
}
.ds-body-copy {
  font-size:var(--fs-body-sm);
  color:var(--muted);
  line-height:1.7;
}
.ds-text-strong {
  color:var(--text);
}
.ds-start-wrap {
  padding:0 0 4rem;
  position:relative;
  z-index:30;
  pointer-events:auto;
}

.ds-form-group-tight {
  gap:var(--space-1-5);
}
.ds-wrap-reset {
  max-width:none;
  margin:0;
}
.ds-grid-single-col {
  grid-template-columns:1fr;
}
.ds-panel-reset {
  position:static;
  display:block;
  min-width:0;
  box-shadow:none;
  border:none;
  padding:0;
  background:transparent;
}
.ds-note-top-2 {
  margin-top:var(--space-2);
}
.ds-note-top-2-5 {
  margin-top:var(--space-2-5);
}
.ds-info-box-spaced {
  margin-bottom:var(--space-4-5);
}
.ds-input-reveal {
  margin-top:var(--space-2-5);
}
.ds-intro-copy {
  font-size:var(--fs-body-sm);
  color:var(--muted);
  margin-bottom:var(--space-4-5);
}
.ds-criteria-suggestion {
  font-size:var(--fs-2xs);
  color:var(--text-faint);
  margin-left:var(--space-1-5);
}
.ds-total-bar {
  margin-top:var(--space-4);
  padding:var(--space-2-5) var(--space-3-5);
  background:var(--surface2);
  border-radius:var(--radius-sm);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.ds-total-bar-label {
  font-size:var(--fs-body-sm);
  color:var(--muted);
}
.ds-total-bar-value {
  font-size:var(--fs-body-md);
  font-weight:500;
  color:var(--accent2);
}
.ds-summary-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:var(--space-4);
}
.ds-pill-link {
  font-size:var(--fs-2xs);
  color:var(--muted);
  text-decoration:none;
  border:1px solid var(--border2);
  border-radius:var(--radius-xs);
  padding:var(--space-0-5) var(--space-2);
  margin-top:var(--space-1-5);
  display:inline-block;
  transition:color 0.15s, border-color 0.15s, background 0.15s;
}
.ds-pill-link:hover,
.ds-pill-link:focus-visible {
  color:var(--text);
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.24);
  outline:none;
}
.ds-micro-badge {
  font-size:var(--fs-xxs);
  color:var(--text-supporting);
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:var(--space-1-5);
}
.ds-icon-offset {
  margin-top:var(--space-0-5);
}

@media (max-width: 767px) {
  .ds-card-strip-surface {
    grid-template-columns:1fr;
  }
  .ds-card-strip-panel {
    padding:1rem;
  }
}



/* === 6.1 diagnostics-led correction — landing/start transition + secondary empty warning === */
#landingStartWrap.ds-start-wrap {
  margin-top: 1.6rem !important;
}

.secondary-fset.ptype-secondary-empty {
  background: rgba(226,75,74,0.08) !important;
  border-color: rgba(226,75,74,0.22) !important;
  box-shadow: inset 0 0 0 1px rgba(226,75,74,0.16) !important;
}

.secondary-fset.ptype-secondary-empty .ptype-secondary-helper,
.secondary-fset.ptype-secondary-empty .secondary-fset-hint {
  color: #f3b4b4 !important;
}



/* === 6.1 Step 7m — shell polish restoration === */
input[type=text],
select,
textarea {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

input[type=text],
textarea {
  background: rgba(255,255,255,0.032);
}

textarea {
  min-height: 118px;
  padding: 15px 16px 42px;
  line-height: 1.72;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03), inset 0 -10px 18px rgba(0,0,0,0.08);
}

input[type=text]:hover,
textarea:hover,
.ds-select-trigger:hover {
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.04);
}

input[type=text]:focus,
textarea:focus,
.ds-select.is-open .ds-select-trigger,
.ds-select-trigger:focus-visible {
  border-color: rgba(216,178,74,0.4);
  box-shadow: 0 0 0 3px rgba(216,178,74,0.08), inset 0 0 0 1px rgba(216,178,74,0.14);
  background: rgba(255,255,255,0.042);
  outline: none;
}

.fieldset-header {
  position: relative;
}

.fieldset.active {
  background: rgba(255,255,255,0.028);
  border-color: rgba(255,255,255,0.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
}

.fieldset.active .fieldset-header {
  background: rgba(255,255,255,0.048);
  border-bottom-color: rgba(255,255,255,0.12);
}

.fieldset.active .fieldset-header::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 14px 0 0 14px;
  background: rgba(255,255,255,0.28);
}

.fieldset.active .fieldset-title {
  color: #ffffff;
}

.radio-inline.selected {
  border-color: rgba(216,178,74,0.44);
  background: rgba(216,178,74,0.14);
  box-shadow: inset 0 0 0 1px rgba(216,178,74,0.12);
}

.nav-item:hover {
  color: var(--text) !important;
  border-left-color: rgba(216,178,74,0.16) !important;
  background: linear-gradient(90deg, rgba(216,178,74,0.08), rgba(216,178,74,0.02)) !important;
}

.nav-item:hover .nav-dot {
  display:none !important;
}

.ds-select {
  position: relative;
}

.ds-select-native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.ds-select-trigger {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  font-family: var(--font);
  font-size: var(--fs-sm);
  line-height: 1.45;
  cursor: pointer;
  transition: border-color var(--anim-fast), box-shadow var(--anim-fast), background var(--anim-fast), transform var(--anim-fast);
}

.ds-select-trigger-label {
  min-width: 0;
  text-align: left;
  color: inherit;
}

.ds-select:not(.has-value) .ds-select-trigger-label {
  color: #8f9ba2;
}

.ds-select-trigger-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  color: #d6dde2;
  transition: background var(--anim-fast), transform var(--anim-fast);
}

.ds-select-trigger-icon svg {
  display: block;
}

.ds-select.is-open .ds-select-trigger-icon {
  background: rgba(216,178,74,0.14);
  transform: rotate(180deg);
}

.ds-select-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 80;
  display: none;
  padding: 8px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(22,22,22,0.98);
  box-shadow: 0 18px 40px rgba(0,0,0,0.34);
  max-height: 260px;
  overflow: auto;
}

.ds-select.is-open .ds-select-menu {
  display: grid;
  gap: 6px;
}

.ds-select-option {
  width: 100%;
  display: block;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: rgba(255,255,255,0.025);
  color: var(--text);
  font-family: var(--font);
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
  transition: border-color var(--anim-fast), background var(--anim-fast), color var(--anim-fast);
}

.ds-select-option:hover,
.ds-select-option:focus-visible {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.14);
  outline: none;
}

.ds-select-option.is-selected {
  background: rgba(216,178,74,0.1);
  border-color: rgba(216,178,74,0.28);
  color: #f5e2aa;
}


.review-answers-body{
  display:grid;
  gap:8px;
}
.review-answers-body .summary-row{
  margin-bottom:0;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,0.06);
}
.review-answers-body .summary-row:first-child{
  border-top:none;
  padding-top:0;
}
