:root {
  --bg: #edf2f7;
  --bg-accent: radial-gradient(circle at 4% 3%, rgba(50, 107, 196, 0.12), transparent 29%), radial-gradient(circle at 92% 10%, rgba(57, 160, 133, 0.10), transparent 22%), linear-gradient(180deg, #f8fafc 0%, #eef3f8 58%, #e9eff6 100%);
  --panel: rgba(255, 255, 255, 0.94);
  --panel-strong: #ffffff;
  --text: #11233f;
  --muted: #667794;
  --line: rgba(17, 35, 63, 0.09);
  --primary: #075a9e;
  --primary-deep: #0b3159;
  --primary-soft: rgba(7, 90, 158, 0.09);
  --success: #16826c;
  --danger: #cc4359;
  --shadow: 0 24px 55px rgba(26, 54, 87, 0.10);
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 12px;
  --font-sans: "IBM Plex Sans", sans-serif;
  --font-display: "IBM Plex Sans Condensed", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  background: var(--bg-accent);
  color: var(--text);
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
button, input, textarea {
  font: inherit;
}
input, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 1rem 1rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
textarea { resize: vertical; }
label { display: grid; gap: 0.5rem; color: var(--muted); font-size: 0.95rem; }
label span { color: var(--text); font-weight: 600; }
small { color: var(--danger); }
input:focus, textarea:focus {
  outline: none;
  border-color: rgba(22, 93, 255, 0.45);
  box-shadow: 0 0 0 4px rgba(22, 93, 255, 0.1);
}

.page-shell {
  width: min(1180px, calc(100vw - 2rem));
  margin: 0 auto;
  padding: 1rem 0 3rem;
}
.site-header { display: flex; align-items: center; min-height: 72px; }
.brand-logo-link { display: inline-flex; align-items: center; }
.brand-logo { display: block; width: 174px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 1.2rem; margin-left: auto; color: #587188; font-size: 0.85rem; font-weight: 700; }
.site-nav a:hover, .site-nav button:hover { color: #0875b9; }
.site-nav .nav-login, .site-nav .nav-register { padding: 0.5rem 0.75rem; border: 1px solid #cdd9e3; border-radius: 5px; color: #24435d; }
.site-nav .nav-login:hover, .site-nav .nav-register:hover { border-color: #0875b9; color: #0875b9; }
.site-nav form { margin: 0; }
.site-nav button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.hero,
.auth-shell,
.dashboard-shell,
.results-shell,
.question-shell {
  padding-top: 1rem;
}
.hero {
  min-height: calc(100vh - 7.75rem);
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2.5rem;
  align-items: center;
}
.hero-copy h1,
.auth-card h1,
.topbar h1,
.progress-copy h1 {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4.4vw, 4.65rem);
  font-weight: 600;
  line-height: 1.06;
  margin: 0.4rem 0 1rem;
  letter-spacing: -0.022em;
}
.hero-copy p,
.topbar p,
.auth-card p,
.progress-copy p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.72;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary-deep);
}
.hero-stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.stat-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.8rem 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 30px rgba(29, 57, 102, 0.08);
  color: var(--primary-deep);
  font-weight: 600;
}
.hero-actions,
.card-actions,
.panel-header,
.topbar,
.question-topbar,
.question-footer,
.score-grid,
.meeting-layout {
  display: flex;
  gap: 1rem;
}
.button {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 0.98rem 1.45rem;
  transition: transform 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
  font-weight: 700;
}
.button:hover { transform: translateY(-1px); }
.button[disabled] { opacity: 0.45; cursor: not-allowed; transform: none; }
.button-primary {
  background: linear-gradient(135deg, #064b86 0%, #0c77ac 100%);
  color: #fff;
  box-shadow: 0 12px 28px rgba(7, 90, 158, 0.23);
}
.button-secondary {
  background: rgba(255, 255, 255, 0.72);
  color: var(--text);
  border: 1px solid rgba(16, 33, 58, 0.08);
}
.button-ghost {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--line);
}
.button-block { width: 100%; }

.glass-card,
.auth-card,
.panel,
.question-card,
.score-card,
.assessment-card {
  background: var(--panel);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(17, 35, 63, 0.08);
  box-shadow: var(--shadow);
  border-radius: var(--radius-xl);
}
.glass-card,
.auth-card,
.panel,
.question-card,
.score-card {
  padding: 1.6rem;
}
.hero-panel { display: flex; justify-content: center; }
.card-label { font-weight: 700; margin-top: 0; }
.hero-preview-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.feature-list,
.roadmap-list { padding-left: 1.2rem; color: var(--muted); line-height: 1.8; }
.preview-card-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9rem;
  margin-top: 1.25rem;
}
.preview-card {
  padding: 1rem;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.86) 0%, rgba(240,246,255,0.88) 100%);
  border: 1px solid rgba(17, 35, 63, 0.06);
}
.preview-card span,
.preview-card small {
  color: var(--muted);
}
.preview-card strong {
  display: block;
  margin: 0.35rem 0;
  font-size: 1.5rem;
}
.mini-grid,
.dashboard-grid,
.results-grid,
.roadmap-grid {
  display: grid;
  gap: 1rem;
}
.mini-grid {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2rem;
}
.mini-grid article,
.assessment-card,
.score-card {
  padding: 1.15rem;
  background: rgba(255, 255, 255, 0.72);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.7);
}
.mini-grid strong,
.assessment-card strong,
.score-card strong {
  display: block;
  margin-bottom: 0.4rem;
}
.auth-shell { display: flex; justify-content: center; }
.auth-card {
  width: min(680px, 100%);
}
.auth-card h1 {
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.auth-card-wide { width: min(840px, 100%); }
.stack-lg { display: grid; gap: 1rem; }
.grid-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.span-2 { grid-column: span 2; }
.auth-divider {
  text-align: center;
  color: var(--muted);
  margin: 1.25rem 0;
  position: relative;
}
.auth-divider::before,
.auth-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 42%;
  height: 1px;
  background: var(--line);
}
.auth-divider::before { left: 0; }
.auth-divider::after { right: 0; }
.oauth-stack { display: grid; gap: 0.75rem; }
.oauth-button { justify-content: flex-start; }
.fine-print { color: var(--muted); }
.notice {
  padding: 1rem 1.2rem;
  border-radius: var(--radius-md);
  margin: 1rem 0;
}
.notice-success { background: rgba(15, 186, 129, 0.12); color: #0a6b4b; }
.notice-error { background: rgba(207, 77, 88, 0.12); color: #8c2532; }

.dashboard-grid,
.results-grid {
  grid-template-columns: 1fr;
}
.panel-header,
.topbar,
.question-topbar,
.question-footer,
.category-score-row,
.card-meta,
.card-actions {
  justify-content: space-between;
  align-items: center;
}
.assessment-list,
.category-score-list,
.insight-list {
  display: grid;
  gap: 1rem;
}
.assessment-card {
  display: grid;
  gap: 1rem;
}
.assessment-card p,
.insight-list p { color: var(--muted); margin-bottom: 0; }
.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary-deep);
  font-size: 0.8rem;
  font-weight: 700;
}

.progress-block,
.score-card-primary {
  background: linear-gradient(135deg, #102d79 0%, #165dff 46%, #5c9bff 100%);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: 1.5rem;
  box-shadow: var(--shadow);
}
.progress-copy p,
.score-card-primary p,
.score-card-primary span { color: rgba(255, 255, 255, 0.8); }
.progress-block .eyebrow,
.progress-block .eyebrow i { color: #fff; }
.progress-bar {
  width: 100%;
  height: 10px;
  background: rgba(16, 33, 58, 0.08);
  border-radius: 999px;
  overflow: hidden;
}
.progress-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #0fba81 0%, #7edfbf 100%);
  border-radius: inherit;
}
.question-card {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}
.question-weight,
.save-state {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--primary-deep);
}
.option-stack {
  display: grid;
  gap: 0.75rem;
}
.option-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.84);
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}
.option-card.selected {
  border-color: rgba(22, 93, 255, 0.42);
  background: rgba(22, 93, 255, 0.09);
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(22, 93, 255, 0.08);
}
.option-card input {
  width: 18px;
  height: 18px;
}
.back-link { color: var(--muted); font-weight: 700; }
.score-grid,
.roadmap-grid {
  margin: 1rem 0;
  align-items: stretch;
}
.score-grid { grid-template-columns: 1fr; }
.roadmap-grid { grid-template-columns: repeat(3, 1fr); }
.meeting-panel { margin-top: 1rem; }
.meeting-layout { align-items: flex-start; }
.roadmap-list li {
  margin-bottom: 0.55rem;
}

@media (min-width: 821px) {
  .dashboard-grid {
    grid-template-columns: 0.82fr 1.18fr;
  }
}

@media (max-width: 820px) {
  .page-shell {
    width: min(100vw - 1rem, 100%);
  }
  .portal-label { display: none; }
  .hero,
  .mini-grid,
  .grid-form,
  .score-grid,
  .roadmap-grid,
  .meeting-layout {
    grid-template-columns: 1fr;
    display: grid;
  }
  .hero-copy h1,
  .auth-card h1,
  .topbar h1,
  .progress-copy h1 {
    font-size: 2.3rem;
  }
  .hero-actions,
  .panel-header,
  .topbar,
  .question-topbar,
  .question-footer,
  .card-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-preview-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .span-2 { grid-column: span 1; }
}

/* The public entry point is intentionally calm and assessment-led. */
.assessment-landing { min-height: calc(100vh - 72px); display: grid; align-content: center; gap: 2.5rem; padding: 1rem 0 7rem; }
.landing-ai-banner { position: relative; height: clamp(180px, 18vw, 220px); overflow: hidden; border-radius: 10px; background: #031528 url('/assets/ai-assure-hero-wide.png') center / cover no-repeat; box-shadow: 0 14px 34px rgba(16, 62, 100, 0.12); }
.landing-ai-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16, 62, 100, 0.25), rgba(16, 62, 100, 0.06) 55%, rgba(16, 62, 100, 0.28)); }
.landing-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.8fr); gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.landing-copy { display: grid; justify-items: start; text-align: left; }
.landing-kicker, .modal-kicker, .overview-label { margin: 0 0 1rem; color: #0a5f9f; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.landing-copy h1 { max-width: 680px; margin: 0; color: #102a43; font-family: var(--font-display); font-size: clamp(2.35rem, 4.2vw, 4.25rem); font-weight: 600; line-height: 1.08; letter-spacing: -0.024em; }
.landing-summary { max-width: 620px; margin: 1.35rem 0 1.75rem; color: #526b84; font-size: 1.13rem; line-height: 1.7; }
.landing-cta, .modal-primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 0.7rem; border: 0; border-radius: 5px; background: #0875b9; color: #fff; font-weight: 700; text-decoration: none; transition: background 150ms ease, transform 150ms ease; }
.landing-cta { padding: 1rem 1.35rem; }
.landing-cta:hover, .modal-primary-action:hover { background: #075f98; color: #fff; transform: translateY(-1px); }
.landing-secondary-cta { display: block; margin-top: 0.8rem; padding: 0; border: 0; background: transparent; color: #416580; font: inherit; font-size: 0.88rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.landing-sign-in { display: block; width: fit-content; margin-top: 1.2rem; color: #416580; font-size: 0.88rem; text-decoration: underline; text-underline-offset: 3px; }
.landing-reassurance { margin: 0.85rem 0 0; color: #58728a; font-size: 0.82rem; font-weight: 700; }
.landing-trust { margin: 1.35rem 0 0; color: #49667d; font-size: 0.84rem; }
.landing-trust i { margin-right: 0.4rem; color: #0875b9; }
.result-preview { padding: 1.75rem; border: 1px solid #d9e5ed; border-radius: 12px; background: #fff; box-shadow: 0 18px 44px rgba(22, 59, 87, 0.11); }
.result-preview-header, .result-preview-score, .result-preview-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.result-preview-header { color: #47708f; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.result-preview-header i { color: #0875b9; font-size: 1.1rem; }
.result-preview-score { margin-top: 1.6rem; }
.result-preview-score > div > span { display: block; color: #597188; font-size: 0.8rem; font-weight: 700; }
.result-preview-score strong { display: block; margin-top: 0.2rem; color: #183b56; font-size: 3rem; line-height: 1; letter-spacing: -0.06em; }
.result-preview-score strong small { color: #60788c; font-size: 1.15rem; letter-spacing: -0.03em; }
.risk-chip { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.48rem 0.6rem; border-radius: 999px; font-size: 0.76rem; font-weight: 800; white-space: nowrap; }
.risk-chip-amber { background: #fff4db; color: #926313; }
.risk-chip-red { border: 1px solid #9f2430; background: #fff; color: #9f2430; }
.risk-chip-green { background: #e9f6f2; color: #17725e; }
.result-preview-divider { height: 1px; margin: 1.55rem 0 0.45rem; background: #e4edf3; }
.result-preview-row { padding: 0.9rem 0; border-bottom: 1px solid #edf2f5; color: #294e6a; font-size: 0.88rem; }
.result-preview-row span { display: inline-flex; align-items: center; gap: 0.55rem; font-weight: 700; }
.result-preview-row i { width: 14px; text-align: center; }
.result-preview-row .preview-category { display: grid; gap: 0.12rem; }
.result-preview-row .preview-category small { color: #71879a; font-size: 0.72rem; font-weight: 700; }
.result-preview-row .fa-check { color: #1b8d71; }
.result-preview-row .fa-triangle-exclamation { color: #c47c18; }
.preview-good { color: #17725e; font-size: 0.78rem; }
.preview-watch { color: #a46c17; font-size: 0.78rem; }
.result-preview > p { margin: 1rem 0 0; color: #71879a; font-size: 0.75rem; line-height: 1.5; }
.result-preview-report { padding: 1.45rem; }
.result-preview-report .result-preview-header { margin-bottom: 1rem; font-weight: 700; }
.preview-summary-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.preview-summary-cards > div { min-height: 108px; padding: 0.9rem; border-radius: 8px; }
.preview-readiness { background: #123e64; color: #fff; }
.preview-risk { background: #b66c12; color: #fff; }
.preview-summary-cards span { display: block; color: rgba(255, 255, 255, 0.8); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.preview-summary-cards strong { display: block; margin-top: 0.35rem; font-size: 1.8rem; font-weight: 600; line-height: 1; letter-spacing: -0.05em; }
.preview-summary-cards strong small { margin-left: 0.08rem; font-size: 0.7rem; letter-spacing: 0; }
.preview-readiness b, .preview-risk strong { display: inline-flex; align-items: center; justify-content: center; margin-top: 0.55rem; padding: 0.28rem 0.48rem; border: 1px solid rgba(255, 255, 255, 0.7); border-radius: 999px; color: #fff; font-size: 0.66rem; font-weight: 600; line-height: 1; }
.preview-risk strong { border: 0; background: #fff; color: #9c6210; font-size: 0.72rem; letter-spacing: 0; }
.preview-meaning, .preview-priorities { margin-top: 0.65rem; padding: 0.8rem; border: 1px solid #dce7ef; border-radius: 7px; background: #fff; }
.preview-meaning { border-top: 3px solid #b66c12; }
.preview-meaning > span, .preview-priorities > span { display: block; color: #47708f; font-size: 0.61rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.preview-meaning > strong, .preview-priorities > strong { display: block; margin-top: 0.35rem; color: #24435d; font-size: 0.72rem; font-weight: 600; line-height: 1.35; }
.preview-priorities > div { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding-top: 0.55rem; margin-top: 0.55rem; border-top: 1px solid #edf2f5; color: #294e6a; font-size: 0.68rem; }
.preview-priorities b { font-weight: 600; }
.preview-priorities em { padding: 0.2rem 0.36rem; border: 1px solid #c9902e; border-radius: 999px; color: #9c6210; font-size: 0.6rem; font-style: normal; font-weight: 600; }
.result-preview-report > p { margin-top: 0.75rem; font-size: 0.68rem; }
.assessment-benefits { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #dce7ef; border-radius: 10px; background: #fff; box-shadow: 0 12px 34px rgba(34, 70, 105, 0.06); }
.assessment-benefits article { display: flex; gap: 0.9rem; padding: 1.15rem 1.35rem; border-right: 1px solid #e5edf2; }
.assessment-benefits article:last-child { border-right: 0; }
.assessment-benefits i { width: 20px; margin-top: 0.15rem; color: #0875b9; font-size: 1.05rem; text-align: center; }
.assessment-benefits strong, .assessment-benefits span { display: block; }
.assessment-benefits strong { color: #183b56; font-size: 0.92rem; }
.assessment-benefits span { margin-top: 0.25rem; color: #6b7f91; font-size: 0.8rem; line-height: 1.45; }
.report-overview { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.8fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: center; }
.report-overview h1 { max-width: 620px; margin: 0.35rem 0 0; color: #102a43; font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.7rem); font-weight: 600; line-height: 1.08; letter-spacing: -0.024em; }
.report-overview-copy { max-width: 590px; margin: 1.25rem 0 1.4rem; color: #526b84; font-size: 1.05rem; line-height: 1.65; }
.report-client { margin: 0 0 1.45rem; color: #668096; font-size: 0.82rem; font-weight: 700; }
.report-result-preview { margin: 0; }
.overview-item { display: flex; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid #e7edf2; }
.overview-item i { width: 20px; margin-top: 0.15rem; color: #0875b9; font-size: 1.05rem; text-align: center; }
.overview-item strong, .overview-item span { display: block; }
.overview-item strong { color: #183b56; font-size: 0.96rem; }
.overview-item span { margin-top: 0.25rem; color: #6b7f91; font-size: 0.84rem; line-height: 1.45; }
.landing-value { padding-top: 1.5rem; border-top: 1px solid #dce7ef; color: #567089; font-size: 0.9rem; }
.landing-value p { margin: 0 0 0.9rem; }
.landing-value div { display: flex; flex-wrap: wrap; gap: 1.6rem; color: #193c58; font-weight: 700; font-size: 0.82rem; }
.landing-value span::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0.55rem 0.1rem 0; border-radius: 50%; background: #2b9a85; }
.account-modal { border: 0; border-radius: 8px; box-shadow: 0 22px 70px rgba(16, 42, 67, 0.24); }
.start-assessment-modal { max-width: 640px; }
.account-modal .modal-header { padding: 1.75rem 1.75rem 0; border: 0; align-items: flex-start; }
.account-modal .modal-header h2 { margin: 0; color: #102a43; font-size: 1.65rem; letter-spacing: -0.03em; }
.account-modal .modal-body { padding: 1rem 1.75rem 1.75rem; }
.account-modal .modal-body p { margin: 0 0 1.5rem; color: #60788e; line-height: 1.6; }
.modal-primary-action { width: 100%; padding: 0.95rem 1rem; }
.modal-secondary-action { display: block; margin-top: 1.15rem; color: #37627f; text-align: center; font-size: 0.9rem; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 820px) { .assessment-landing { min-height: auto; gap: 2rem; padding: 2.5rem 0 2rem; } .landing-ai-banner { height: 112px; border-radius: 8px; background-position: 70% center; } .landing-intro { grid-template-columns: 1fr; gap: 2rem; } .landing-copy { justify-items: center; text-align: center; } .landing-copy h1 { font-size: clamp(2.25rem, 10vw, 3.25rem); } .landing-summary { font-size: 1rem; } .landing-cta { width: 100%; } .result-preview { width: 100%; padding: 1.4rem; text-align: left; } .assessment-benefits { grid-template-columns: 1fr; } .assessment-benefits article { border-right: 0; border-bottom: 1px solid #e5edf2; } .assessment-benefits article:last-child { border-bottom: 0; } .report-overview { grid-template-columns: 1fr; gap: 2rem; } .report-overview h1 { font-size: 2.15rem; } .report-result-preview { width: 100%; } .landing-value div { gap: 0.9rem 1.2rem; } }

/* Working application UI: compact, neutral and deliberately separate from the landing page. */
body { background: #f6f8fb; }
.page-shell { width: min(1120px, calc(100vw - 3rem)); padding: 0 0 3rem; }
.auth-shell, .dashboard-shell, .results-shell, .question-shell { padding-top: 3rem; }
.auth-shell { align-items: flex-start; }
.auth-card { width: min(580px, 100%); padding: 2rem; border: 1px solid #e0e7ee; border-radius: 10px; background: #fff; box-shadow: 0 8px 28px rgba(28, 57, 85, 0.07); }
.auth-card-wide { width: min(760px, 100%); }
.auth-card h1 { margin: 0.35rem 0 1.75rem; font-size: 30px; line-height: 1.22; }
.auth-card > div:first-child .eyebrow { margin-bottom: 0.25rem; }
.eyebrow { color: #47708f; font-size: 0.7rem; letter-spacing: 0.07em; }
input, textarea { border-color: #cdd9e3; border-radius: 6px; padding: 0.78rem 0.85rem; background: #fff; box-shadow: none; color: #18344d; }
select { width: 100%; border: 1px solid #cdd9e3; border-radius: 6px; padding: 0.78rem 2.2rem 0.78rem 0.85rem; background: #fff; color: #18344d; }
input:focus, textarea:focus { border-color: #1874ae; box-shadow: 0 0 0 3px rgba(24, 116, 174, 0.12); }
label { gap: 0.42rem; color: #60788c; font-size: 0.86rem; }
label span { color: #294860; font-weight: 700; }
.grid-form { gap: 1.2rem; }
.stack-lg { gap: 1.1rem; }
.button { min-height: 44px; border-radius: 6px; padding: 0.7rem 1rem; font-size: 0.9rem; box-shadow: none; }
.button-primary { background: #0875b9; box-shadow: none; }
.button-primary:hover { background: #075f98; }
.button-secondary { background: #fff; border-color: #cdd9e3; color: #24435d; }
.button-ghost { border-color: #d8e1e8; }
.fine-print { margin: 1.5rem 0 0; font-size: 0.85rem; }
.fine-print a { color: #0875b9; font-weight: 700; }
.form-intro { margin: 0 0 1.5rem; color: #60788c; font-size: 0.92rem; line-height: 1.6; }
.conditional-field.is-hidden { display: none; }
.topbar { gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid #e1e8ee; }
.topbar h1 { margin: 0.35rem 0 0.6rem; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.15; letter-spacing: -0.018em; }
.topbar p { margin: 0; font-size: 0.95rem; line-height: 1.6; }
.report-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2rem; border-radius: 10px; background: #103e64; box-shadow: 0 10px 28px rgba(16, 62, 100, 0.14); }
.report-hero .eyebrow { color: #b8d9ed; }
.report-hero h1 { margin: 0.35rem 0 0.55rem; color: #fff; font-family: var(--font-display); font-size: clamp(1.85rem, 3vw, 2.55rem); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.report-hero p { margin: 0; color: rgba(255, 255, 255, 0.84); font-size: 0.92rem; line-height: 1.55; }
.report-hero .report-prepared { margin-top: 0.18rem; color: rgba(255, 255, 255, 0.64); font-size: 0.8rem; }
.report-hero .button-secondary { border-color: rgba(255, 255, 255, 0.48); background: #fff; color: #183b56; }
.report-hero .button-secondary:hover { border-color: #fff; background: #f1f7fb; }
.panel, .question-card, .score-card, .assessment-card { border: 1px solid #e0e7ee; border-radius: 10px; background: #fff; box-shadow: 0 6px 20px rgba(28, 57, 85, 0.05); }
.panel, .question-card, .score-card { padding: 1.6rem; }
.panel h2, .question-card h2, .meeting-panel h2 { margin: 0; color: #183b56; font-family: var(--font-display); font-size: 1.22rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.012em; }
.panel > p { margin: 1rem 0 0; color: #60788c; font-size: 0.92rem; line-height: 1.65; }
.dashboard-grid { gap: 1.5rem; margin-top: 1.75rem; }
.panel-header { gap: 1rem; }
.assessment-card { gap: 1rem; padding: 1.25rem; border-radius: 8px; box-shadow: none; }
.assessment-card strong { color: #193b56; font-size: 0.98rem; }
.assessment-card p, .insight-list p { font-size: 0.86rem; line-height: 1.5; }
.card-meta { color: #61778a; font-size: 0.83rem; }
.pill { padding: 0.35rem 0.65rem; border-radius: 4px; font-size: 0.72rem; }
.progress-block { border-radius: 10px; padding: 1.65rem; background: #103e64; box-shadow: none; }
.progress-copy h1 { margin: 0.35rem 0; font-size: 1.55rem; line-height: 1.25; letter-spacing: -0.012em; }
.progress-copy p { margin: 0; font-size: 0.9rem; }
.progress-bar { height: 7px; background: #e5edf3; }
.progress-block .progress-bar { margin-top: 1.25rem; background: rgba(255, 255, 255, 0.2); }
.progress-bar span { background: #1aa384; }
.progress-bar span.progress-red { background: #9f2430; }
.progress-bar span.progress-amber { background: #b66c12; }
.progress-bar span.progress-green { background: #19785f; }
.question-shell { width: min(800px, 100%); margin: 0 auto; }
.question-topbar { margin-bottom: 1rem; }
.question-topbar .save-state:only-child { margin-left: auto; }
.question-card { gap: 1.5rem; }
.question-comment-block { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid #e7edf2; }
.question-comment-block p { margin: 0.5rem 0 0; color: #6b8295; font-size: 0.84rem; line-height: 1.55; }
.question-comment-block textarea { width: 100%; min-height: 112px; }
.question-weight, .save-state { font-size: 0.78rem; color: #46708e; }
.question-back { min-height: 38px; padding: 0.5rem 0.75rem; }
.save-state { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 32px; padding: 0.35rem 0.6rem; border-radius: 4px; background: #e9f6f2; color: #17725e; font-weight: 800; }
.option-stack { gap: 0.6rem; }
.option-card { min-height: 56px; padding: 0.85rem 0.95rem; border-color: #d6e0e8; border-radius: 7px; background: #fff; font-size: 0.92rem; }
.option-card:hover { border-color: #8bb4d1; }
.option-card.selected { border-color: #0875b9; background: #f0f8fc; box-shadow: none; }
.question-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.85rem; margin-top: 1.25rem; }
.question-actions { display: flex; gap: 0.65rem; }
.question-review { width: 100%; border: 1px solid #dce6ee; border-radius: 7px; background: #fff; }
.question-review summary { display: flex; align-items: center; gap: 0.5rem; padding: 0.7rem 0.85rem; color: #244c6d; font-size: 0.84rem; font-weight: 800; cursor: pointer; }
.question-review-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0.45rem; padding: 0 0.85rem 0.85rem; }
.question-review-item { display: grid; min-height: 30px; place-items: center; border: 1px solid #cbdbe7; border-radius: 4px; color: #306382; font-size: 0.78rem; font-weight: 800; text-decoration: none; }
.question-review-item:hover { border-color: #0875b9; color: #0875b9; }
.question-review-item.is-current { border-color: #0875b9; background: #0875b9; color: #fff; }
.question-review-item.is-locked { border-color: #edf1f4; background: #f6f8fa; color: #a9b7c2; }
.results-shell { display: grid; gap: 1.5rem; }
.score-grid, .roadmap-grid { gap: 1.25rem; margin: 0; }
.score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.score-grid .score-card { width: auto; }
.score-card { padding: 1.75rem 2rem; }
.score-card strong { margin: 0.4rem 0; color: #183b56; font-size: 2rem; line-height: 1; }
.score-card p { margin: 0.75rem 0 0; color: #61778a; font-size: 0.86rem; line-height: 1.55; }
.score-card-primary { background: #103e64; }
.score-card-primary strong { color: #fff; }
.score-card-primary span, .score-card-primary p { color: rgba(255, 255, 255, 0.82); }
.score-card-primary.readiness-red { background: #9f2430; }
.score-card-primary.readiness-amber { background: #b66c12; }
.score-card-primary.readiness-green { background: #19785f; }
.score-card-primary.risk-red { background: #9f2430; }
.score-card-primary.risk-amber { background: #b66c12; }
.score-card-primary.risk-green { background: #19785f; }
.score-card .readiness-band { display: inline-flex; width: fit-content; margin-top: 0.2rem; padding: 0.28rem 0.55rem; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 999px; color: #fff; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.02em; line-height: 1; }
.guest-results-shell { gap: 1.25rem; }
.guest-results-shell .eyebrow { font-size: 0.82rem; letter-spacing: 0.07em; }
.guest-results-intro h1 { margin: 0.35rem 0 0; color: #183b56; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -0.02em; }
.guest-results-intro p { margin: 0.55rem 0 0; color: #60788c; }
.result-summary-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.result-summary-card > div { padding: 1.75rem 2rem; border: 1px solid #dbe6ee; border-radius: 10px; background: #fff; box-shadow: 0 6px 20px rgba(28, 57, 85, 0.05); text-align: center; }
.result-summary-card > .result-summary-score { border-color: #123e64; background: #123e64; }
.result-summary-score > span:not(.result-band), .result-summary-risk > span { display: block; color: #637b8f; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.result-summary-score > strong { display: block; margin: 0.45rem 0; color: #183b56; font-size: 3rem; line-height: 1; letter-spacing: -0.05em; }
.result-summary-score > strong small { margin-left: 0.15rem; color: #60788c; font-size: 1.05rem; letter-spacing: 0; }
.result-summary-score > span, .result-summary-score > strong, .result-summary-score > strong small { color: #fff; }
.result-summary-score > .result-band { display: inline-flex; margin-inline: auto; }
.result-band { display: inline-flex; padding: 0.48rem 0.95rem; border: 1px solid currentColor; border-radius: 999px; background: #fff; font-size: 0.9rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.result-summary-score .result-band { padding: 0.58rem 1.08rem; font-size: 0.96rem; }
.result-band.result-tone-red { border-color: #9f2430; background: #fff; color: #9f2430; }
.result-band.result-tone-amber { color: #9c6210; }
.result-band.result-tone-green { color: #17725e; }
.result-summary-risk { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.result-summary-risk .risk-chip { margin-top: 0.7rem; margin-inline: auto; padding-top: 0.62rem; padding-bottom: 0.62rem; font-size: 1rem; justify-content: center; }
.result-summary-risk.risk-chip-red .risk-chip { min-width: 132px; justify-content: center; padding-right: 0.9rem; padding-left: 0.9rem; }
.result-summary-risk p { margin: 0.75rem auto 0; color: #60788c; font-size: 0.84rem; line-height: 1.5; max-width: 280px; }
.result-summary-card > .result-summary-risk.risk-chip-red { border-color: #9f2430; background: #9f2430; }
.result-summary-risk.risk-chip-red > span, .result-summary-risk.risk-chip-red p { color: rgba(255, 255, 255, 0.86); }
.result-summary-risk.risk-chip-red .risk-chip { border-color: #fff; background: #fff; color: #9f2430; }
.result-summary-risk.risk-chip-red .risk-chip i { color: #9f2430; }
.result-summary-card > .result-summary-risk.risk-chip-amber { border-color: #b66c12; background: #b66c12; }
.result-summary-risk.risk-chip-amber > span, .result-summary-risk.risk-chip-amber p { color: rgba(255, 255, 255, 0.88); }
.result-summary-risk.risk-chip-amber .risk-chip { border: 1px solid #fff; background: #fff; color: #9c6210; }
.result-summary-risk.risk-chip-amber .risk-chip i { color: #9c6210; }
.result-summary-card > .result-summary-risk.risk-chip-green { border-color: #19785f; background: #19785f; }
.result-summary-risk.risk-chip-green > span, .result-summary-risk.risk-chip-green p { color: rgba(255, 255, 255, 0.88); }
.result-summary-risk.risk-chip-green .risk-chip { border: 1px solid #fff; background: #fff; color: #17725e; }
.result-summary-risk.risk-chip-green .risk-chip i { color: #17725e; }
.result-meaning-panel { border-top: 3px solid #9f2430; }
.result-meaning-panel .eyebrow { color: #9f2430; }
.result-meaning-panel.result-tone-amber { border-top-color: #b66c12; }
.result-meaning-panel.result-tone-amber .eyebrow { color: #9c6210; }
.result-meaning-panel.result-tone-green { border-top-color: #19785f; }
.result-meaning-panel.result-tone-green .eyebrow { color: #17725e; }
.result-meaning-panel h2 { margin-top: 0.45rem; font-size: 1.38rem; }
.result-meaning-panel p { max-width: 760px; }
.priority-areas-panel .panel-header { margin-bottom: 0.65rem; }
.priority-areas-panel .panel-header h2 { font-size: 1.38rem; }
.priority-area-list { display: grid; }
.priority-area { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; padding: 1.1rem 0; border-bottom: 1px solid #edf1f4; }
.priority-area:last-child { border-bottom: 0; padding-bottom: 0; }
.priority-area strong { color: #294e6a; font-size: 0.93rem; }
.priority-area p { margin: 0.35rem 0 0; color: #60788c; font-size: 0.85rem; line-height: 1.55; }
.priority-area-status { display: grid; justify-items: end; gap: 0.38rem; }
.priority-area-status > span { color: #294e6a; font-size: 0.9rem; font-weight: 800; }
.priority-area-status > span.plain-label { letter-spacing: 0; text-transform: none; }
.priority-severity { padding: 0.35rem 0.6rem; border: 1px solid currentColor; border-radius: 999px; background: #fff; font-size: 0.72rem; white-space: nowrap; }
.priority-severity.is-critical { background: #fff; color: #9f2430; }
.priority-severity.is-high { color: #9c6210; }
.priority-severity.is-unknown { border-color: #c9902e; background: #fff; color: #9c6210; }
.priority-severity.is-established { border-color: #2a9679; background: #fff; color: #17725e; }
.category-score-list { gap: 1.25rem; padding: 0.4rem 0.25rem 0.2rem; }
.category-score-list .category-score-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; margin-bottom: 0.55rem; }
.category-score-list .category-score-row strong { color: #24435d; font-size: 0.88rem; line-height: 1.3; }
.category-score-list .category-score-row span { flex: 0 0 auto; color: #0875b9; font-size: 0.82rem; font-weight: 800; }
.category-score-list .category-score-row span.progress-red { color: #9f2430; }
.category-score-list .category-score-row span.progress-amber { color: #9c6210; }
.category-score-list .category-score-row span.progress-green { color: #17725e; }
.insight-list { gap: 1.1rem; }
.results-shell > .panel { padding: 2rem; }
.results-shell .panel-header { margin-bottom: 1.25rem; }
.results-shell .panel-header .section-intro { margin: 0.45rem 0 0; color: #6b8295; font-size: 0.85rem; font-weight: 400; line-height: 1.55; }
.strength-item { display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.8rem 0; border-bottom: 1px solid #edf1f4; }
.strength-item:last-child { border-bottom: 0; padding-bottom: 0; }
.strength-item i { display: grid; place-items: center; flex: 0 0 20px; height: 20px; margin-top: 0.05rem; border-radius: 50%; background: #e9f6f2; color: #17725e; font-size: 0.65rem; }
.strength-item strong, .strength-item span { display: block; }
.strength-item strong { color: #294e6a; font-size: 0.9rem; line-height: 1.5; }
.strength-item span { margin-top: 0.2rem; color: #17725e; font-size: 0.78rem; font-weight: 700; }
.detailed-responses-panel { margin-top: 0; }
.response-categories { display: grid; gap: 1.5rem; }
.detailed-responses-panel .response-categories, .assessment-results-panel .response-categories { padding: 0.4rem 0.25rem 0.2rem; }
.detailed-responses-panel .response-categories { margin-top: 0.85rem; }
.assessment-results-panel .response-categories { margin-top: 0.85rem; }
.response-category { overflow: hidden; border: 1px solid #e0e7ee; border-radius: 8px; }
.response-category > header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.15rem; background: #f7fafc; border-bottom: 1px solid #e4ebf0; }
.response-category h3 { margin: 0; color: #24435d; font-size: 0.98rem; }
.response-category > header span { color: #70879a; font-size: 0.75rem; font-weight: 700; }
.response-list { padding: 0 1.15rem; }
.response-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(185px, 0.55fr); gap: 1.25rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid #edf1f4; }
.response-item:last-child { border-bottom: 0; }
.insight-response { grid-template-columns: minmax(0, 1fr) auto; }
.response-item strong, .response-answer { display: block; }
.response-item strong { color: #294e6a; font-size: 0.88rem; line-height: 1.5; }
.response-answer { margin-top: 0.35rem; color: #6b8295; font-size: 0.78rem; }
.response-status { justify-self: end; border-radius: 4px; padding: 0.4rem 0.55rem; font-size: 0.72rem; font-weight: 800; line-height: 1.35; text-align: center; }
.response-strength { background: #e9f6f2; color: #17725e; }
.response-medium { background: #fff4db; color: #926313; }
.response-high { background: #fff; color: #9f2430; }
.category-score-row { margin-bottom: 0.5rem; color: #24435d; font-size: 0.9rem; }
.roadmap-grid article { padding-right: 1.25rem; border-right: 1px solid #e3ebf0; }
.roadmap-grid article:last-child { padding-right: 0; border: 0; }
.roadmap-list { margin: 1rem 0 0; padding-left: 1rem; font-size: 0.88rem; line-height: 1.65; }
.meeting-panel { display: grid; gap: 1.5rem; }
.recommendation-panel { display: grid; gap: 1.35rem; }
.recommendation-panel > div:first-child { display: grid; gap: 0.7rem; }
.recommendation-panel .eyebrow { margin: 0; }
.recommendation-panel h2 { margin: 0; }
.recommendation-panel p { margin: 0; color: #60788c; font-size: 0.92rem; line-height: 1.7; }
.recommendation-panel .service-note { margin-top: 0.15rem; color: #6f8598; font-size: 0.82rem; }
.results-reassurance { display: grid; gap: 0.6rem; }
.results-reassurance p { margin: 0; color: #60788c; line-height: 1.65; }
.meeting-panel > div > p { margin: 0.65rem 0 0; color: #60788c; font-size: 0.9rem; line-height: 1.6; }
.meeting-layout { display: grid; gap: 1rem; }
.meeting-layout .button-block { width: 100%; }
.report-share-panel { display: grid; gap: 1.35rem; align-items: start; }
.report-share-panel > div { display: grid; gap: 0.7rem; }
.report-share-panel > div > h2,
.report-share-panel > div > p,
.report-share-panel > div > .eyebrow { margin: 0; }
.report-share-panel > div > p { color: #60788c; font-size: 0.9rem; line-height: 1.6; }
.report-share-panel .report-disclosure { margin-top: 0.7rem; color: #71879a; font-size: 0.78rem; }
.guest-results-shell .report-share-panel, .guest-results-shell .meeting-panel { padding-top: 1.35rem; padding-bottom: 1.35rem; }
.report-actions { display: grid; gap: 0.75rem; width: 100%; }
.report-actions .button { width: 100%; justify-content: center; }
.report-modal .modal-body { max-height: 62vh; padding: 1.25rem 1.75rem; overflow-y: auto; }
.report-modal-intro { margin: 0 0 1.25rem; color: #60788c; font-size: 0.9rem; }
.saved-contacts { margin: 0 0 1.25rem; padding: 1rem; border: 1px solid #e0e7ee; border-radius: 7px; background: #f8fafc; }
.saved-contacts > span { color: #60788c; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.saved-contact-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.7rem; }
.saved-contact { min-width: 130px; border: 1px solid #d5e1ea; border-radius: 6px; padding: 0.6rem 0.75rem; background: #fff; color: #294e6a; text-align: left; cursor: pointer; transition: border-color 150ms ease, box-shadow 150ms ease; }
.saved-contact:hover { border-color: #74a8cb; box-shadow: 0 3px 10px rgba(38, 77, 106, 0.1); }
.saved-contact strong, .saved-contact small { display: block; }
.saved-contact strong { font-size: 0.82rem; }
.saved-contact small { margin-top: 0.2rem; color: #6d8495; font-size: 0.72rem; }
.recipient-card { margin-bottom: 1rem; padding: 1.1rem; border: 1px solid #e0e7ee; border-radius: 7px; background: #f9fbfc; }
.recipient-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; color: #294e6a; font-size: 0.88rem; }
.remove-recipient, .add-recipient { border: 0; background: transparent; color: #0875b9; font: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer; }
.add-recipient { padding: 0.35rem 0; }
.report-modal .modal-footer { display: flex; gap: 0.75rem; justify-content: flex-end; padding: 1rem 1.75rem 1.5rem; border-top: 1px solid #e7edf2; }
.account-shell { padding-top: 3rem; }
.account-header { padding-bottom: 2rem; border-bottom: 1px solid #e1e8ee; }
.account-header h1 { margin: 0.35rem 0 0.55rem; color: #183b56; font-family: var(--font-display); font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: -0.02em; }
.account-header p { margin: 0; color: #60788c; font-size: 0.92rem; }
.account-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.8fr); gap: 1.5rem; margin-top: 1.75rem; align-items: stretch; }
.account-panel { padding: 1.6rem; border: 1px solid #e0e7ee; border-radius: 9px; background: #fff; box-shadow: 0 6px 20px rgba(28, 57, 85, 0.04); }
.account-panel h2 { margin: 0 0 1.35rem; color: #183b56; font-size: 1.15rem; }
.account-password-panel p { margin: -0.6rem 0 1.5rem; color: #60788c; font-size: 0.87rem; line-height: 1.6; }
.account-password-panel { height: 100%; }
.mfa-panel { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr); gap: 2rem; margin-top: 1.5rem; align-items: start; }
.mfa-panel h2 { margin: 0.35rem 0 0.65rem; }
.mfa-panel > div > p, .mfa-setup-grid p { color: #60788c; font-size: 0.88rem; line-height: 1.6; }
.mfa-setup-grid { display: grid; grid-template-columns: 150px 1fr; gap: 1.5rem; align-items: start; }
.mfa-qr-code { width: 150px; height: 150px; border: 1px solid #e0e7ee; border-radius: 6px; }
.copy-field { display: flex; align-items: center; overflow: hidden; border: 1px solid #cdd9e3; border-radius: 6px; background: #f8fafc; }
.copy-field code { flex: 1; padding: 0.75rem; color: #24435d; font-size: 0.78rem; letter-spacing: 0.08em; overflow-wrap: anywhere; }
.copy-button { align-self: stretch; border: 0; border-left: 1px solid #cdd9e3; padding: 0 0.75rem; background: #fff; color: #0875b9; font-weight: 700; cursor: pointer; }
.mfa-confirm-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; margin-top: 1rem; align-items: end; }
.mfa-code { letter-spacing: 0.3em; font-weight: 800; }
.mfa-skip { margin: 0.9rem 0 0; font-size: 0.8rem !important; }
.mfa-enabled-state { display: flex; gap: 0.8rem; padding: 1rem; border-radius: 7px; background: #e9f6f2; color: #17725e; }
.mfa-enabled-state i { margin-top: 0.15rem; }
.mfa-enabled-state strong, .mfa-enabled-state span { display: block; }
.mfa-enabled-state span { margin-top: 0.25rem; font-size: 0.82rem; line-height: 1.45; }
.mfa-disable-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; margin-top: 1rem; align-items: end; }

@media (max-width: 820px) {
  .page-shell { width: min(100vw - 2rem, 100%); }
  .auth-shell, .dashboard-shell, .results-shell, .question-shell { padding-top: 2rem; }
  .auth-card { padding: 1.4rem; }
  .auth-card h1 { font-size: 1.75rem; }
  .topbar { padding-bottom: 1.5rem; }
  .report-hero { display: grid; grid-template-columns: 1fr; padding: 1.5rem; }
  .topbar h1 { font-size: 1.85rem; }
  .panel, .question-card, .score-card { padding: 1.25rem; }
  .results-shell > .panel { padding: 1.35rem; }
  .score-grid, .response-category > header, .response-item { display: grid; grid-template-columns: 1fr; }
  .result-summary-card { grid-template-columns: 1fr; }
  .result-summary-card > div { padding: 1.35rem; }
  .priority-area { grid-template-columns: 1fr; gap: 0.75rem; }
  .priority-area-status { justify-items: start; grid-auto-flow: column; justify-content: start; align-items: center; }
  .response-status { justify-self: start; }
  .panel-header, .topbar, .question-topbar, .question-footer, .card-actions { gap: 0.85rem; }
  .question-footer, .question-actions { align-items: stretch; }
  .question-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .question-actions .button { justify-content: center; }
  .question-footer form { width: 100%; }
  .question-footer form .button { width: 100%; }
  .question-review-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .card-meta { align-items: flex-start; }
  .roadmap-grid article { padding: 0 0 1.25rem; border-right: 0; border-bottom: 1px solid #e3ebf0; }
  .roadmap-grid article:last-child { padding-bottom: 0; border-bottom: 0; }
  .report-share-panel { gap: 1.5rem; }
  .site-nav { gap: 0.8rem; font-size: 0.78rem; }
  .account-shell { padding-top: 2rem; }
  .account-grid { grid-template-columns: 1fr; }
  .mfa-panel, .mfa-setup-grid { grid-template-columns: 1fr; }
  .mfa-confirm-form, .mfa-disable-form { grid-template-columns: 1fr; }
}

/* Assessment workspace dashboard. */
.workspace-shell { padding-top: 3rem; }
.workspace-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid #e1e8ee; }
.workspace-header h1 { margin: 0.35rem 0 0.55rem; color: #183b56; font-family: var(--font-display); font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.12; letter-spacing: -0.02em; }
.workspace-header p, .directory-heading p { margin: 0; color: #60788c; font-size: 0.92rem; line-height: 1.6; }
.workspace-actions { display: flex; align-items: center; gap: 0.75rem; }
.workspace-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1.75rem; overflow: hidden; border: 1px solid #e0e7ee; border-radius: 9px; background: #e0e7ee; }
.workspace-metrics article { padding: 1.15rem 1.35rem; background: #fff; }
.workspace-metrics span { display: block; color: #6a8194; font-size: 0.78rem; font-weight: 600; }
.workspace-metrics strong { display: block; margin-top: 0.4rem; color: #183b56; font-size: 1.65rem; line-height: 1; letter-spacing: -0.03em; }
.assessment-directory { margin-top: 2rem; border: 1px solid #e0e7ee; border-radius: 9px; background: #fff; box-shadow: 0 6px 20px rgba(28, 57, 85, 0.04); overflow: hidden; }
.directory-heading { padding: 1.5rem; border-bottom: 1px solid #e7edf2; }
.directory-heading h2 { margin: 0 0 0.35rem; color: #183b56; font-size: 1.15rem; letter-spacing: -0.02em; }
.assessment-table-head, .assessment-row { display: grid; grid-template-columns: minmax(220px, 1.5fr) 125px minmax(140px, 0.8fr) auto; gap: 1.5rem; align-items: center; }
.assessment-table-head { padding: 0.8rem 1.5rem; border-bottom: 1px solid #e7edf2; color: #7890a1; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.assessment-row { padding: 1.15rem 1.5rem; border-bottom: 1px solid #edf1f4; }
.assessment-row:last-child { border-bottom: 0; }
.assessment-client strong, .assessment-client span, .assessment-status-detail strong, .assessment-status-detail span { display: block; }
.assessment-client strong { color: #1b3d58; font-size: 0.92rem; }
.assessment-client span, .assessment-status-detail span { margin-top: 0.28rem; color: #6b8295; font-size: 0.8rem; line-height: 1.4; }
.assessment-status-detail strong { color: #294e6a; font-size: 0.86rem; }
.status-badge { display: inline-flex; border-radius: 4px; padding: 0.32rem 0.55rem; font-size: 0.72rem; font-weight: 800; }
.status-in_progress { background: #fff4db; color: #926313; }
.status-completed { background: #e9f6f2; color: #17725e; }
.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; }
.row-actions .button { min-height: 38px; padding: 0.55rem 0.8rem; font-size: 0.82rem; }
.icon-action { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d8e1e8; border-radius: 6px; background: #fff; color: #55728a; cursor: pointer; transition: color 150ms ease, border-color 150ms ease; }
.icon-action:hover { border-color: #8bb4d1; color: #0875b9; }
.icon-action-danger { color: #b34747; }
.icon-action-danger:hover { border-color: #d9a2a2; color: #a53535; }
.delete-modal .modal-footer { display: flex; justify-content: flex-end; gap: 0.75rem; padding: 0 1.75rem 1.75rem; border: 0; }
.delete-modal .modal-footer form { margin: 0; }
.button-danger { background: #b93636; color: #fff; box-shadow: 0 10px 22px rgba(185, 54, 54, 0.18); }
.button-danger:hover { background: #9f2d2d; color: #fff; }

/* Administration workspace. */
.admin-shell { display: grid; gap: 1.5rem; padding-top: 3rem; }
.admin-tabs { display: flex; gap: 0.4rem; overflow-x: auto; padding-bottom: 0.2rem; border-bottom: 1px solid #e1e8ee; }
.admin-tabs a { flex: 0 0 auto; padding: 0.7rem 0.9rem; border-radius: 6px 6px 0 0; color: #61798d; font-size: 0.82rem; font-weight: 800; }
.admin-tabs a:hover { color: #0875b9; }
.admin-tabs a.is-active { background: #eaf5fb; color: #0875b9; }
.admin-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid #e0e7ee; border-radius: 9px; background: #e0e7ee; }
.admin-metrics article { padding: 1.25rem 1.4rem; background: #fff; }
.admin-metrics span, .admin-metrics strong, .admin-metrics a { display: block; }
.admin-metrics span { color: #6a8194; font-size: 0.76rem; font-weight: 700; }
.admin-metrics strong { margin: 0.35rem 0 0.8rem; color: #183b56; font-size: 1.75rem; line-height: 1; }
.admin-metrics a { color: #0875b9; font-size: 0.78rem; font-weight: 800; }
.admin-panel { padding: 1.6rem; border: 1px solid #e0e7ee; border-radius: 9px; background: #fff; box-shadow: 0 6px 20px rgba(28, 57, 85, 0.04); }
.admin-panel h2 { margin: 0; color: #183b56; font-family: var(--font-display); font-size: 1.16rem; font-weight: 600; letter-spacing: -0.012em; }
.admin-panel p { margin: 0.4rem 0 0; color: #61798d; font-size: 0.88rem; line-height: 1.6; }
.admin-welcome { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.admin-welcome p { max-width: 680px; }
.admin-panel-heading { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.admin-table-head, .admin-table-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(150px, 0.9fr) minmax(115px, 0.55fr) minmax(185px, 1fr); gap: 1.25rem; align-items: center; }
.admin-table-head { padding: 0 0 0.7rem; border-bottom: 1px solid #e1e8ee; color: #7890a1; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.admin-table-row { padding: 1rem 0; border-bottom: 1px solid #edf1f4; }
.admin-table-row:last-child { border-bottom: 0; padding-bottom: 0; }
.admin-table-row strong, .admin-table-row span { display: block; }
.admin-table-row strong { color: #294e6a; font-size: 0.86rem; line-height: 1.45; }
.admin-table-row span:not(.admin-badge) { margin-top: 0.25rem; color: #6d8495; font-size: 0.76rem; line-height: 1.4; }
.admin-badges { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.admin-badge { display: inline-flex !important; width: fit-content; margin: 0 !important; border-radius: 4px; padding: 0.3rem 0.48rem; background: #edf3f7; color: #5c7487 !important; font-size: 0.68rem !important; font-weight: 800; }
.admin-badge-good { background: #e9f6f2; color: #17725e !important; }
.admin-badge-muted { background: #f2f4f6; color: #75828d !important; }
.admin-badge-admin { background: #e7f1fa; color: #0875b9 !important; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.admin-actions form { margin: 0; }
.admin-actions button { border: 1px solid #d5e1ea; border-radius: 5px; padding: 0.4rem 0.55rem; background: #fff; color: #476b84; font-size: 0.72rem; font-weight: 800; cursor: pointer; }
.admin-actions button:hover { border-color: #8bb4d1; color: #0875b9; }
.admin-data-table { width: 100% !important; border-collapse: collapse; table-layout: fixed; }
.admin-data-table thead th { padding: 0.72rem 1.8rem 0.72rem 0 !important; border-bottom: 1px solid #e1e8ee !important; color: #7890a1; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.admin-data-table tbody td { padding: 1rem 0.8rem 1rem 0 !important; border-bottom: 1px solid #edf1f4; color: #294e6a; font-size: 0.84rem; vertical-align: middle; overflow-wrap: anywhere; }
.admin-data-table tbody tr:last-child td { border-bottom: 0; }
.admin-data-table strong, .admin-data-table span { display: block; }
.admin-data-table strong { color: #294e6a; font-size: 0.86rem; line-height: 1.45; }
.admin-data-table span:not(.admin-badge) { margin-top: 0.25rem; color: #6d8495; font-size: 0.76rem; line-height: 1.4; }
.table-link { color: #0875b9; font-size: 0.78rem; font-weight: 800; }
.table-link:hover { color: #075f98; }
.dt-container { margin-top: 0.5rem; }
.dt-container .dt-search input, .dt-container .dt-length select { border: 1px solid #cdd9e3; border-radius: 5px; padding: 0.45rem 0.6rem; color: #24435d; font: inherit; font-size: 0.8rem; }
.dt-container .dt-search label, .dt-container .dt-length label, .dt-container .dt-info { color: #6d8495; font-size: 0.78rem; }
.dt-container .dt-paging .dt-paging-button { border-radius: 5px; color: #476b84 !important; font-size: 0.78rem; }
.dt-container .dt-paging .dt-paging-button.current, .dt-container .dt-paging .dt-paging-button.current:hover { border-color: #0875b9; background: #0875b9; color: #fff !important; }
.detail-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.detail-hero h2 { margin-top: 0.35rem; font-size: 1.45rem; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid #e0e7ee; border-radius: 7px; background: #e0e7ee; }
.detail-grid > div { padding: 1rem; background: #f8fafc; }
.detail-grid span, .detail-grid strong { display: block; }
.detail-grid span { color: #6d8495; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
.detail-grid strong { margin-top: 0.4rem; color: #294e6a; font-size: 0.86rem; }
.admin-shell .workspace-header { padding-bottom: 1.6rem; }
.admin-shell .workspace-header h1 { font-size: clamp(2rem, 3.2vw, 2.7rem); }
.admin-tabs { gap: 0.55rem; padding: 0.45rem; border: 1px solid #e0e7ee; border-radius: 8px; background: #fff; box-shadow: 0 5px 18px rgba(28, 57, 85, 0.035); }
.admin-tabs a { border-radius: 5px; padding: 0.65rem 0.9rem; }
.admin-tabs a.is-active { background: #103e64; color: #fff; }
.admin-panel { padding: 1.8rem; border-radius: 10px; }
.admin-panel-heading { align-items: flex-start; margin-bottom: 1.5rem; }
.admin-panel-heading h2 { font-size: 1.2rem; }
.admin-data-table tbody td { padding: 1.05rem 0.7rem 1.05rem 0 !important; }
.admin-data-table tbody tr:hover td { background: #f8fbfd; }
.admin-data-table tbody tr:hover td:first-child { padding-left: 0.65rem !important; }
.table-action { min-height: 36px; border: 1px solid #cdd9e3; border-radius: 5px; padding: 0.52rem 0.75rem; background: #fff; color: #24435d; font-size: 0.76rem; box-shadow: none; }
.table-action:hover { border-color: #0875b9; color: #0875b9; }
.admin-user-table th:nth-child(1), .admin-user-table td:nth-child(1) { width: 29%; }
.admin-user-table th:nth-child(2), .admin-user-table td:nth-child(2) { width: 27%; }
.admin-user-table th:nth-child(3), .admin-user-table td:nth-child(3) { width: 20%; }
.admin-user-table th:nth-child(4), .admin-user-table td:nth-child(4) { width: 24%; }
.admin-company-table th:nth-child(1), .admin-company-table td:nth-child(1) { width: 28%; }
.admin-company-table th:nth-child(2), .admin-company-table td:nth-child(2) { width: 27%; }
.admin-company-table th:nth-child(3), .admin-company-table td:nth-child(3) { width: 12%; }
.admin-company-table th:nth-child(4), .admin-company-table td:nth-child(4) { width: 17%; }
.admin-company-table th:nth-child(5), .admin-company-table td:nth-child(5) { width: 16%; }
.admin-assessment-table th:nth-child(1), .admin-assessment-table td:nth-child(1) { width: 23%; }
.admin-assessment-table th:nth-child(2), .admin-assessment-table td:nth-child(2) { width: 29%; }
.admin-assessment-table th:nth-child(3), .admin-assessment-table td:nth-child(3) { width: 14%; }
.admin-assessment-table th:nth-child(4), .admin-assessment-table td:nth-child(4) { width: 16%; }
.admin-assessment-table th:nth-child(5), .admin-assessment-table td:nth-child(5) { width: 18%; }
.admin-user-table th:nth-child(3), .admin-user-table td:nth-child(3), .admin-user-table th:nth-child(4), .admin-user-table td:nth-child(4), .admin-company-table th:nth-child(3), .admin-company-table td:nth-child(3), .admin-company-table th:nth-child(4), .admin-company-table td:nth-child(4), .admin-company-table th:nth-child(5), .admin-company-table td:nth-child(5), .admin-assessment-table th:nth-child(3), .admin-assessment-table td:nth-child(3), .admin-assessment-table th:nth-child(4), .admin-assessment-table td:nth-child(4), .admin-assessment-table th:nth-child(5), .admin-assessment-table td:nth-child(5) { text-align: center; }
.admin-user-table td:nth-child(3) .admin-badges { justify-content: center; }
.admin-user-table td:nth-child(4), .admin-company-table td:nth-child(5), .admin-assessment-table td:nth-child(5) { text-align: center; }
.admin-user-table td:nth-child(4) .table-action, .admin-company-table td:nth-child(5) .table-action, .admin-assessment-table td:nth-child(5) .table-action { display: inline-flex; align-items: center; justify-content: center; }
.admin-recipient-list { display: grid; gap: 0.7rem; }
.admin-recipient { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.8rem; margin: 0; border: 1px solid #dbe5ec; border-radius: 7px; padding: 0.85rem 0.9rem; cursor: pointer; }
.admin-recipient:hover { border-color: #8bb4d1; background: #f8fbfd; }
.admin-recipient input { width: 1rem; height: 1rem; margin: 0; accent-color: #0875b9; }
.admin-recipient strong, .admin-recipient small { display: block; }
.admin-recipient strong { color: #24435d; font-size: 0.86rem; }
.admin-recipient small { margin-top: 0.16rem; color: #6d8495; font-size: 0.76rem; }
.admin-recipient em { border-radius: 4px; padding: 0.25rem 0.42rem; background: #edf3f7; color: #5c7487; font-size: 0.66rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.configuration-errors { margin-top: 1.5rem; }
.configuration-errors strong { display: block; margin-bottom: 0.45rem; }
.configuration-errors ul { margin: 0; padding-left: 1.2rem; }
.configuration-categories { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.85rem; }
.configuration-categories label { display: grid; gap: 0.35rem; color: #5f778a; font-size: 0.76rem; font-weight: 800; }
.configuration-categories label > span:nth-of-type(2) { margin-top: 0.4rem; }
.configuration-question-panel { padding: 1.5rem 1.8rem; }
.configuration-scoring-table-wrap, .configuration-question-table-wrap { overflow-x: auto; }
.configuration-scoring-table, .configuration-question-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.configuration-scoring-table th, .configuration-scoring-table td, .configuration-question-table th, .configuration-question-table td { padding: 0.9rem 0.8rem; border-bottom: 1px solid #e3ebf1; vertical-align: top; text-align: left; }
.configuration-scoring-table th, .configuration-question-table th { color: #58768b; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.configuration-scoring-table tbody tr:last-child td, .configuration-question-table tbody tr:last-child td { border-bottom: 0; }
.configuration-scoring-table input, .configuration-question-table input, .configuration-question-table select, .configuration-question-table textarea { width: 100%; }
.configuration-question-table textarea { min-height: 72px; resize: vertical; }
.configuration-question-table td:first-child { width: 70px; }
.configuration-question-table td:nth-child(3) { width: 100px; }
.configuration-question-table td:nth-child(4) { width: 220px; }
.configuration-question-table td:nth-child(5) { width: 150px; }
.question-number { color: #0875b9; font-size: 0.72rem; font-weight: 800; }
.configuration-checkbox { padding: 0; justify-content: flex-start; font-size: 0.78rem; }
.configuration-checkbox span { white-space: nowrap; }
.dt-container { margin-top: 1rem; }
.dt-container .dt-layout-row { margin: 0.85rem 0; align-items: center; }
.dt-container .dt-layout-row:first-child { margin: 0.4rem 0 1.6rem; }
.dt-container .dt-length label { display: inline-flex; align-items: center; gap: 0.55rem; color: #6d8495; font-size: 0.78rem; font-weight: 700; }
.dt-container .dt-length select.dt-input { appearance: auto; box-sizing: border-box; width: 78px !important; min-width: 78px; height: 36px; margin: 0; border: 1px solid #cdd9e3; border-radius: 5px; padding: 0.35rem 0.45rem; background-color: #fff; background-image: none; color: #24435d; font: inherit; font-size: 0.8rem; font-weight: 800; }
.dt-container .dt-length select.dt-input:focus { outline: none; border-color: #0875b9; box-shadow: 0 0 0 3px rgba(8, 117, 185, 0.1); }
.dt-container .dt-search input { min-width: 220px; margin-left: 0.5rem; }
.dt-container .dt-paging { display: flex; align-items: center; gap: 0.35rem; }
.dt-container .dt-paging button.dt-paging-button { min-width: 34px; margin: 0; border: 1px solid #d6e1e9; border-radius: 5px; padding: 0.42rem 0.5rem; background: #fff; color: #476b84 !important; font-weight: 800; }
.dt-container .dt-paging button.dt-paging-button:hover:not(.disabled) { border-color: #8bb4d1; background: #f4f9fc; color: #0875b9 !important; }
.dt-container .dt-paging button.dt-paging-button.disabled { opacity: 0.42; background: #f7f9fb; }
.dt-container .dt-paging button.dt-paging-button.current, .dt-container .dt-paging button.dt-paging-button.current:hover { border-color: #103e64; background: #103e64; color: #fff !important; }
.detail-hero { padding: 2rem; background: linear-gradient(135deg, #f7fbfd 0%, #fff 64%); }
.detail-hero h2 { font-size: 1.6rem; }
.detail-actions { justify-content: flex-end; }
.detail-actions .button { min-height: 42px; border-radius: 6px; padding: 0.7rem 1rem; }
.account-management { padding: 1.5rem 1.8rem; }
.management-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.management-actions form { margin: 0; }
.management-actions .button { min-height: 40px; border-radius: 6px; padding: 0.62rem 0.8rem; font-size: 0.78rem; box-shadow: none; }
.assessment-record-hero { background: #103e64; border-color: #103e64; }
.assessment-record-hero h2, .assessment-record-hero p, .assessment-record-hero .eyebrow { color: #fff; }
.assessment-record-hero p { color: rgba(255,255,255,0.76); }
.assessment-record-hero .eyebrow { color: #b8d9ed; }
.assessment-record-hero .button-danger { background: #fff; color: #a53535; box-shadow: none; }
.assessment-record-hero .button-danger:hover { background: #fceeee; }
.assessment-record-hero .detail-actions { gap: 0.45rem; }
.assessment-record-hero .detail-actions .button { min-height: 36px; padding: 0.5rem 0.7rem; border-radius: 5px; font-size: 0.74rem; }
.assessment-record-hero .assessment-updated { margin-top: 0.22rem; color: rgba(255,255,255,0.58); font-size: 0.76rem; }
.admin-score-grid { margin: 0; }
.admin-score-grid .score-card { border-radius: 10px; box-shadow: 0 6px 20px rgba(28, 57, 85, 0.05); }
.assessment-results-panel { box-shadow: 0 6px 20px rgba(28, 57, 85, 0.04); }
.assessment-results-panel .category-score-list { margin-top: 0.85rem; }
.admin-results-grid { margin: 0; gap: 1.5rem; }
.admin-results-grid .response-item { grid-template-columns: minmax(0, 1fr) auto; }
.admin-results-grid .response-status { justify-self: end; }
.admin-settings-form { display: grid; gap: 1.5rem; }
.provider-settings { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.checkbox-label { display: flex; align-items: center; gap: 0.6rem; padding: 0.1rem 0 0.35rem; color: #294e6a; font-weight: 800; }
.checkbox-label input { width: 17px; height: 17px; }
@media (max-width: 820px) {
  .admin-shell { padding-top: 2rem; }
  .admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .admin-metrics article { padding: 1rem; }
  .admin-welcome, .provider-settings { display: grid; grid-template-columns: 1fr; }
  .configuration-categories { grid-template-columns: 1fr; }
  .admin-welcome .button { width: 100%; }
  .admin-table-head { display: none; }
  .admin-table-row { display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
  .detail-hero { display: grid; grid-template-columns: 1fr; }
  .detail-actions .button { flex: 1; }
  .management-actions { display: grid; grid-template-columns: 1fr; }
  .management-actions form, .management-actions .button { width: 100%; }
  .dt-container .dt-search input { min-width: 0; width: 100%; margin: 0.45rem 0 0; }
  .detail-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-data-table { min-width: 620px; }
  .admin-panel { overflow-x: auto; }
}
.empty-directory { display: grid; justify-items: center; padding: 4rem 1.5rem; text-align: center; }
.empty-directory-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 1.1rem; border-radius: 50%; background: #eff7fb; color: #0875b9; }
.empty-directory h3 { margin: 0; color: #183b56; font-size: 1.05rem; }
.empty-directory p { max-width: 410px; margin: 0.7rem 0 1.5rem; color: #668095; font-size: 0.9rem; line-height: 1.6; }
@media (max-width: 820px) {
  .workspace-shell { padding-top: 2rem; }
  .workspace-header { display: grid; gap: 1.25rem; padding-bottom: 1.5rem; }
  .workspace-actions { width: 100%; }
  .workspace-actions .button { flex: 1; }
  .workspace-metrics { margin-top: 1.25rem; }
  .workspace-metrics article { padding: 1rem 0.85rem; }
  .workspace-metrics strong { font-size: 1.35rem; }
  .directory-heading { padding: 1.25rem; }
  .assessment-table-head { display: none; }
  .assessment-row { display: grid; grid-template-columns: 1fr auto; gap: 0.9rem; padding: 1.15rem 1.25rem; }
  .assessment-status-detail { grid-column: 1; }
  .row-actions { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .row-actions .button { padding: 0.55rem 0.7rem; }
}
