:root {
  --fred-blue: #2563eb;
  --fred-blue-dark: #1d4ed8;
  --fred-blue-soft: #dbeafe;
  --fred-navy: #0f172a;
  --fred-text: #1e293b;
  --fred-muted: #64748b;
  --fred-border: #e2e8f0;
  --fred-bg: #f8fafc;
  --fred-card: #ffffff;
  --fred-success: #15803d;
  --fred-warning: #b45309;
  --fred-danger: #b91c1c;
  --shadow-card: 0 12px 30px rgba(15, 23, 42, 0.10);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --content-max: 1180px;
}

/* Job Analysis requirement hierarchy */
.requirement-section .section-card__header h3{margin:0}.qualification-groups{display:grid;gap:16px}.qualification-group{overflow:hidden;border:1px solid var(--fred-border);border-left-width:5px;border-radius:var(--radius-md);background:#fff}.qualification-group h4{margin:0;padding:12px 16px;font-size:1rem}.qualification-group--required{border-left-color:var(--fred-danger)}.qualification-group--required h4{background:#fef2f2;color:#991b1b}.qualification-group--preferred{border-left-color:var(--fred-blue)}.qualification-group--preferred h4{background:#eff6ff;color:#1e40af}.qualification-group--strong-plus{border-left-color:#7c3aed}.qualification-group--strong-plus h4{background:#f5f3ff;color:#6d28d9}.qualification-group .readiness-item:first-child{border-top:0}.requirement-metadata{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--fred-muted);font-size:.9rem}.requirement-metadata .badge{font-size:.7rem}.requirement-item>a{white-space:nowrap}

/* Phase 2F: governed Story Bank */
.story-shell{width:min(1180px,calc(100% - 32px));margin:36px auto 70px}.story-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.story-hero h1{margin:.15rem 0 .5rem;color:var(--fred-navy)}.story-hero p{max-width:760px;color:var(--fred-muted)}.story-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.story-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.story-counts div{padding:18px;border:1px solid var(--fred-border);border-radius:14px;background:#fff}.story-counts strong,.story-counts span{display:block}.story-counts strong{font-size:1.65rem;color:var(--fred-navy)}.story-counts span{color:var(--fred-muted)}.story-callout{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;margin-bottom:20px;border:1px solid #a7f3d0;border-radius:14px;background:#ecfdf5}.story-callout p{margin:4px 0 0}.story-bank-section{margin-bottom:18px}.story-bank-section .section-card__header,.story-side-card .section-card__header,.story-evidence-panel .section-card__header,.story-history .section-card__header{padding:18px 20px}.story-bank-section h2,.story-side-card h2,.story-evidence-panel h2,.story-history h2{margin:0;font-size:1.1rem}.story-empty{padding:22px;color:var(--fred-muted)}.story-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;border-top:1px solid var(--fred-border)}.story-list h3{margin:7px 0 2px;font-size:1rem}.story-editor-grid,.story-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px;align-items:start}.story-form-card{padding:22px}.story-form-card label span{color:var(--fred-muted);font-weight:400}.story-associations{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.story-side-card{margin-bottom:18px;overflow:hidden}.story-side-card>p{padding:0 18px}.story-checklist{list-style:none;padding:0 18px;margin:0 0 18px}.story-checklist li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--fred-border)}.story-checklist li span{min-width:58px;color:#b45309;font-size:.75rem;font-weight:800;text-transform:uppercase}.story-checklist li.is-complete span{color:#047857}.story-side-card>form{padding:0 18px 18px}.evidence-chip{padding:14px 18px;border-top:1px solid var(--fred-border)}.evidence-chip span,.evidence-chip strong{display:block}.evidence-chip span{color:var(--fred-blue);font-size:.72rem;font-weight:800;text-transform:uppercase}.evidence-chip strong{margin:4px 0 8px}.evidence-chip details p{font-size:.85rem;color:var(--fred-muted)}.story-evidence-panel{margin-top:20px;padding-bottom:20px}.story-evidence-panel>p{padding:0 20px;color:var(--fred-muted)}.evidence-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px}.evidence-option-grid article{padding:16px;border:1px solid var(--fred-border);border-radius:12px}.evidence-option-grid strong{display:block;margin:8px 0}.evidence-option-grid form{display:grid;gap:8px;margin-top:12px}.story-note{padding:14px;margin-top:18px;border-radius:10px;background:#f8fafc;color:var(--fred-muted)}.story-narrative{padding:24px}.story-narrative section+section{margin-top:25px;padding-top:20px;border-top:1px solid var(--fred-border)}.story-narrative h2{font-size:1.05rem}.story-text{white-space:pre-wrap;line-height:1.7}.story-history{margin:20px 0}.story-history ul{padding:0 40px 20px}@media(max-width:850px){.story-hero,.story-callout{flex-direction:column}.story-counts{grid-template-columns:repeat(2,1fr)}.story-editor-grid,.story-detail-grid,.story-associations,.evidence-option-grid{grid-template-columns:1fr}}

* { box-sizing: border-box; }

html { min-height: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--fred-bg);
  color: var(--fred-text);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.5;
}

a {
  color: var(--fred-blue);
  text-decoration: none;
}

a:hover { text-decoration: underline; }

button, input, select, textarea {
  font: inherit;
}

button { cursor: pointer; }

.site-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-header {
  height: 76px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--fred-border);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
}

.site-header__inner,
.page-container {
  width: min(calc(100% - 40px), var(--content-max));
  margin-inline: auto;
}

.site-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.brand {
  display: inline-flex;
  flex-direction: column;
  gap: 0;
  color: var(--fred-navy);
}

.brand__name {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.brand__tagline {
  color: var(--fred-muted);
  font-size: 0.78rem;
}

.header-link {
  font-size: 0.92rem;
  font-weight: 600;
}

.page-main {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 56px 0;
}

.page-main--top {
  align-items: flex-start;
}

.page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 72px;
  align-items: center;
}

.page-grid--form {
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.8fr);
  align-items: start;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--fred-blue);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1, h2, h3 {
  color: var(--fred-navy);
  line-height: 1.15;
}

h1 {
  margin: 0 0 18px;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  letter-spacing: -0.04em;
}

h2 {
  margin: 0 0 14px;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  letter-spacing: -0.025em;
}

h3 {
  margin: 0 0 10px;
  font-size: 1.15rem;
}

.lead {
  max-width: 620px;
  margin: 0 0 30px;
  color: #475569;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
}

.supporting-copy {
  margin: 0;
  color: var(--fred-muted);
}

.actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.button {
  min-height: 48px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.button:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

.button--primary {
  background: var(--fred-blue);
  color: #fff;
}

.button--primary:hover { background: var(--fred-blue-dark); }

.button--secondary {
  background: #fff;
  border-color: var(--fred-border);
  color: var(--fred-text);
}

.button--ghost {
  background: transparent;
  border-color: transparent;
  color: var(--fred-blue);
}

.button--block { width: 100%; }

.card {
  background: var(--fred-card);
  border: 1px solid var(--fred-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.card__body { padding: 34px; }

.preview-card {
  max-width: 480px;
  margin-left: auto;
}

.preview-card__label {
  color: var(--fred-blue);
  font-size: 0.8rem;
  font-weight: 800;
}

.preview-card__role {
  margin: 8px 0 24px;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--fred-navy);
}

.preview-card__question {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--fred-text);
}

.voice-state {
  padding: 42px 0 22px;
  text-align: center;
}

.mic-button {
  width: 78px;
  height: 78px;
  margin: 0 auto 12px;
  border: 0;
  border-radius: 50%;
  background: var(--fred-blue);
  color: #fff;
  font-size: 1.8rem;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.25);
}

.status-text {
  color: var(--fred-muted);
  font-size: 0.88rem;
}

.time-text {
  margin: 6px 0 20px;
  color: var(--fred-muted);
  font-size: 0.8rem;
}

.form-card {
  max-width: 560px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.form-field--full {
  grid-column: 1 / -1;
}

label {
  color: var(--fred-text);
  font-size: 0.88rem;
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  padding: 10px 12px;
  color: var(--fred-text);
  outline: none;
}

textarea {
  min-height: 110px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--fred-blue);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #f59e0b;
  outline-offset: 3px;
}

.resume-upload-submit { margin-top: 1rem; }
.resume-upload-submit + .resume-progress { margin-top: 1rem; }
input[type="file"].is-submitting { pointer-events: none; opacity: .65; }
.resume-failure { margin: 0 0 18px; padding: 16px; border: 1px solid #fca5a5; border-radius: 12px; background: #fef2f2; }
.resume-failure h3,.resume-failure p:first-child { margin-top: 0; }
.resume-recovery-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.resume-recovery-actions form { margin: 0; }
.resume-progress--failed .progress-bar { background: #fee2e2; }
.resume-progress--failed .progress-bar__value { background: var(--fred-danger); }
.resume-status--failed { border-color: #fca5a5; }
.resume-processing-activity { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: -10px 0 4px; color: #334155; font-weight: 650; }
.resume-activity-indicator { width: 14px; height: 14px; border: 2px solid #bfdbfe; border-top-color: var(--fred-blue); border-radius: 50%; animation: resume-activity-spin .9s linear infinite; }
.resume-processing-check,.resume-processing-reassurance { margin: 4px 0 0; color: var(--fred-muted); font-size: .82rem; }
@keyframes resume-activity-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .resume-progress .progress-bar__value { transition: none; }
  .resume-activity-indicator { animation: none; border-color: var(--fred-blue); }
}

.field-hint {
  color: var(--fred-muted);
  font-size: 0.78rem;
}

.validation {
  color: var(--fred-danger);
  font-size: 0.78rem;
}

.progress-shell {
  margin-bottom: 28px;
}

.progress-meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--fred-muted);
  font-size: 0.82rem;
}

.progress-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.progress-bar__value {
  height: 100%;
  border-radius: inherit;
  background: var(--fred-blue);
}

.upload-zone {
  padding: 48px 30px;
  border: 2px dashed #bfdbfe;
  border-radius: 18px;
  background: #eff6ff;
  text-align: center;
}

.upload-zone__icon {
  font-size: 2rem;
  margin-bottom: 8px;
}

.upload-zone__title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--fred-navy);
}

.upload-zone__copy {
  margin: 6px 0 18px;
  color: var(--fred-muted);
}

.spinner {
  width: 52px;
  height: 52px;
  margin: 0 auto 20px;
  border: 5px solid #dbeafe;
  border-top-color: var(--fred-blue);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

.review-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.section-card {
  background: #fff;
  border: 1px solid var(--fred-border);
  border-radius: 16px;
}

.section-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--fred-border);
}

.section-card__body { padding: 20px; }

.role-card {
  border-left: 4px solid var(--fred-blue);
}

.achievement-list,
.story-list {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.achievement-item,
.story-item {
  padding: 14px 16px;
  border: 1px solid var(--fred-border);
  border-radius: 10px;
  background: #fff;
}

.checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.checkbox-row input {
  width: 18px;
  min-height: 18px;
  margin-top: 3px;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--fred-blue-soft);
  color: var(--fred-blue-dark);
  font-size: 0.74rem;
  font-weight: 700;
}

.summary-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.summary-stat {
  padding: 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--fred-border);
}

.summary-stat__value {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--fred-navy);
}

.summary-stat__label {
  color: var(--fred-muted);
  font-size: 0.8rem;
}

.success-icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #dcfce7;
  color: var(--fred-success);
  font-size: 2rem;
  font-weight: 900;
}

.inline-note {
  padding: 14px 16px;
  border-left: 4px solid var(--fred-blue);
  background: #eff6ff;
  color: #1e3a8a;
  border-radius: 8px;
  font-size: 0.9rem;
}

.site-footer {
  padding: 20px 0 28px;
  color: var(--fred-muted);
  font-size: 0.78rem;
  text-align: center;
}

.mobile-only { display: none; }

@media (max-width: 900px) {
  .site-header { height: 68px; }

  .site-header__inner,
  .page-container {
    width: min(calc(100% - 28px), var(--content-max));
  }

  .page-main {
    align-items: flex-start;
    padding: 34px 0;
  }

  .page-grid,
  .page-grid--form {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .preview-card,
  .form-card {
    max-width: none;
    margin: 0;
  }

  .summary-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .brand__tagline { display: none; }

  h1 { font-size: 2.25rem; }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .card__body { padding: 24px 20px; }

  .actions {
    align-items: stretch;
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .desktop-only { display: none; }
  .mobile-only { display: initial; }
}


.subsection-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin: 26px 0 14px;
}

.subsection-header h3 {
  margin-bottom: 4px;
}

.button--compact {
  min-height: 38px;
  padding-inline: 14px;
  font-size: 0.84rem;
}

.text-action {
  padding: 4px 0;
  border: 0;
  background: transparent;
  font-size: 0.82rem;
  font-weight: 700;
}

.text-action--danger {
  color: var(--fred-danger);
}

.text-action:hover {
  text-decoration: underline;
}

.achievement-item__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 8px;
}

.add-experience-button {
  width: 100%;
  border-style: dashed;
}

.is-archived {
  display: none !important;
}

.archive-confirmation {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #fecaca;
  border-radius: 9px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 0.84rem;
}

@media (max-width: 640px) {
  .subsection-header,
  .achievement-item__header {
    align-items: stretch;
    flex-direction: column;
  }

  .text-action {
    align-self: flex-start;
  }
}


.brand--image {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.brand__logo {
  display: block;
  width: auto;
  height: 46px;
  object-fit: contain;
}

.hero-brand {
  margin-bottom: 26px;
}

.hero-brand img {
  display: block;
  width: min(100%, 510px);
  height: auto;
  object-fit: contain;
}

@media (max-width: 640px) {
  .brand__logo {
    height: 38px;
  }

  .hero-brand {
    margin-bottom: 20px;
  }

  .hero-brand img {
    width: min(100%, 390px);
  }
}


.site-header__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

@media (max-width: 640px) {
  .brand--image {
    flex: 0 0 auto;
  }

  .site-header__actions {
    min-width: 0;
    gap: 8px;
  }

  .site-header__actions > a.header-link {
    display: none;
  }

  .user-chip {
    flex: 0 0 32px;
    width: 32px;
    overflow: hidden;
    white-space: nowrap;
  }
}

.auth-layout {
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
  gap: 80px;
  align-items: center;
}

.auth-intro {
  max-width: 620px;
}

.auth-benefits {
  display: grid;
  gap: 14px;
  margin-top: 30px;
}

.auth-benefit {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--fred-text);
  font-weight: 600;
}

.auth-benefit__icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dcfce7;
  color: var(--fred-success);
  font-size: 0.8rem;
  font-weight: 900;
}

.auth-card {
  max-width: 520px;
  margin-left: auto;
}

.auth-card__copy {
  margin-bottom: 24px;
}

.field-label-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.field-link {
  font-size: 0.78rem;
  font-weight: 600;
}

.checkbox-row--compact {
  align-items: center;
}

.checkbox-row--compact input {
  margin-top: 0;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
  color: var(--fred-muted);
  font-size: 0.8rem;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--fred-border);
}

.user-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--fred-text);
  font-size: 0.88rem;
  font-weight: 700;
}

.user-chip__avatar {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--fred-blue-soft);
  color: var(--fred-blue-dark);
  font-size: 0.76rem;
}

.account-menu {
  position: relative;
}

.account-menu > summary {
  cursor: pointer;
  list-style: none;
}

.account-menu > summary::-webkit-details-marker {
  display: none;
}

.account-menu__chevron {
  color: var(--fred-muted);
  font-size: 0.9rem;
}

.account-menu__panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 10px);
  right: 0;
  width: 210px;
  display: grid;
  padding: 8px;
  border: 1px solid var(--fred-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 45px rgb(15 23 42 / 14%);
}

.account-menu__label {
  padding: 8px 10px 5px;
  color: var(--fred-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-menu__panel a,
.account-menu__panel button {
  width: 100%;
  display: block;
  padding: 9px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--fred-text);
  font: inherit;
  font-size: 0.85rem;
  font-weight: 650;
  text-align: left;
}

.account-menu__panel a:hover,
.account-menu__panel button:hover {
  background: #f8fafc;
  text-decoration: none;
}

.dashboard-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.product-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.product-content {
  min-width: 0;
}

.product-navigation {
  top: 92px;
}

.dashboard-next-up {
  margin-bottom: 34px;
}

.dashboard-next-up__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.dashboard-foundation {
  margin-top: 34px;
}

.opportunity-journey {
  margin-top: 18px;
}

.opportunity-journey__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.opportunity-journey__grid article {
  padding: 16px;
  border: 1px solid var(--fred-border);
  border-radius: 12px;
  background: #f8fafc;
}

.opportunity-journey__grid article > span {
  color: var(--fred-muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.opportunity-journey__grid h3 {
  margin: 6px 0;
}

.opportunity-description--collapsed {
  margin-top: 18px;
  border: 1px solid var(--fred-border);
  border-radius: 14px;
  background: #fff;
}

.opportunity-description--collapsed > summary,
.practice-history > summary,
.story-support > summary {
  cursor: pointer;
  padding: 18px 20px;
  color: var(--fred-navy);
  font-weight: 800;
}

.opportunity-description--collapsed .confirmed-description,
.story-support__body,
.practice-history > div {
  padding: 0 20px 20px;
}

.profile-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.dashboard-sidebar {
  position: sticky;
  top: 100px;
  display: grid;
  gap: 28px;
  padding: 18px 12px;
  border: 1px solid var(--fred-border);
  border-radius: 16px;
  background: #fff;
}

.dashboard-sidebar__section {
  display: grid;
  gap: 6px;
}

.dashboard-sidebar__label {
  padding: 0 12px 6px;
  color: var(--fred-muted);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-nav-item {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 9px;
  color: var(--fred-text);
  font-size: 0.88rem;
  font-weight: 650;
}

.dashboard-nav-item:hover {
  background: #f8fafc;
  text-decoration: none;
}

.dashboard-nav-item--active {
  background: var(--fred-blue-soft);
  color: var(--fred-blue-dark);
}

.dashboard-nav-item--disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.dashboard-main {
  min-width: 0;
}

.dashboard-welcome {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 28px;
}

.dashboard-welcome h1 {
  margin-bottom: 10px;
  font-size: clamp(2rem, 3vw, 3.2rem);
}

.dashboard-welcome .lead {
  margin-bottom: 0;
}

.dashboard-grid {
  display: grid;
  gap: 18px;
}

.dashboard-grid--stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 34px;
}

.dashboard-grid--content {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-stat-card {
  display: grid;
  gap: 4px;
  padding: 20px;
  border: 1px solid var(--fred-border);
  border-radius: 14px;
  background: #fff;
}

.dashboard-stat-card__label {
  color: var(--fred-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.dashboard-stat-card__value {
  color: var(--fred-navy);
  font-size: 2rem;
  line-height: 1.1;
}

.dashboard-stat-card__meta {
  color: var(--fred-muted);
  font-size: 0.76rem;
}

.dashboard-section {
  margin-bottom: 34px;
}

.dashboard-section__header {
  margin-bottom: 16px;
}

.dashboard-section__header h2 {
  margin-bottom: 0;
}

.action-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.action-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  min-height: 116px;
  padding: 20px;
  border: 1px solid var(--fred-border);
  border-radius: 14px;
  background: #fff;
  color: var(--fred-text);
}

.action-card:hover {
  border-color: #bfdbfe;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
  text-decoration: none;
}

.action-card--featured {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.action-card__icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--fred-blue-soft);
  font-size: 1.25rem;
}

.action-card__content {
  display: grid;
  gap: 5px;
}

.action-card__content strong {
  color: var(--fred-navy);
  font-size: 1rem;
}

.action-card__content small {
  color: var(--fred-muted);
  line-height: 1.4;
}

.action-card__arrow {
  color: var(--fred-blue);
  font-size: 1.3rem;
  font-weight: 800;
}

.action-card__status {
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: var(--fred-muted);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.opportunity-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.opportunity-card > div {
  display: grid;
  gap: 4px;
}

.opportunity-card strong {
  color: var(--fred-navy);
}

.opportunity-card span {
  color: var(--fred-muted);
  font-size: 0.82rem;
}

.readiness-list {
  display: grid;
  gap: 12px;
}

.readiness-item {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--fred-muted);
  font-size: 0.9rem;
}

.readiness-item--complete {
  color: var(--fred-text);
}

@media (max-width: 980px) {
  .auth-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .auth-card {
    max-width: none;
    margin: 0;
  }

  .product-shell,
  .dashboard-shell {
    grid-template-columns: 1fr;
  }

  .product-navigation,
  .dashboard-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid--stats,
  .dashboard-grid--content {
    grid-template-columns: 1fr;
  }

  .opportunity-journey__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .dashboard-sidebar {
    display: none;
  }

  .product-navigation--desktop { display: none; }

  .dashboard-welcome {
    flex-direction: column;
  }

  .action-card-grid {
    grid-template-columns: 1fr;
  }

  .opportunity-journey__grid {
    grid-template-columns: 1fr;
  }

  .opportunity-card {
    align-items: flex-start;
    flex-direction: column;
  }
}


.text-emphasis {
  color: var(--fred-blue);
}

/* Interview Preparation */
.interview-page-main { padding-top: 28px; }
.interview-page-container { width: min(calc(100% - 32px), 1480px); }
.interview-shell { grid-template-columns: 220px minmax(0, 1fr); }
.interview-main { min-width: 0; }
.interview-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:22px; }
.interview-heading h1 { font-size:clamp(2rem,3vw,3rem); margin-bottom:8px; }
.interview-heading .lead { margin-bottom:0; max-width:760px; }
.opportunity-selector-card { display:grid; grid-template-columns:minmax(320px,1.25fr) minmax(380px,1fr) auto; gap:22px; align-items:end; padding:20px; background:#fff; border:1px solid var(--fred-border); border-radius:16px; box-shadow:0 8px 22px rgba(15,23,42,.06); }
.opportunity-selector-card__field label { display:block; margin-bottom:7px; }
.opportunity-context { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.opportunity-context div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.context-label { color:var(--fred-muted); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.opportunity-context strong { color:var(--fred-navy); font-size:.88rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.interview-tabs { display:flex; gap:4px; margin:24px 0 18px; padding:5px; overflow-x:auto; border:1px solid var(--fred-border); border-radius:12px; background:#fff; }
.interview-tab { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 16px; border:0; border-radius:8px; background:transparent; color:var(--fred-muted); font-size:.86rem; font-weight:750; white-space:nowrap; }
.interview-tab:hover { background:#f8fafc; color:var(--fred-text); }
.interview-tab.is-active { background:var(--fred-navy); color:#fff; }
.tab-count { min-width:21px; height:21px; display:grid; place-items:center; padding:0 6px; border-radius:999px; background:rgba(100,116,139,.14); font-size:.7rem; }
.interview-tab.is-active .tab-count { background:rgba(255,255,255,.17); }
.interview-tab-panel { display:none; }
.interview-tab-panel.is-active { display:block; }
.interview-overview-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr); gap:18px; margin-bottom:18px; }
.interview-readiness-card, .interview-focus-card { background:#fff; border:1px solid var(--fred-border); border-radius:16px; }
.interview-readiness-card { display:flex; align-items:center; gap:26px; padding:24px; }
.readiness-score-ring { flex:0 0 116px; width:116px; height:116px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:conic-gradient(var(--fred-blue) 0 68%, #e2e8f0 68% 100%); position:relative; }
.readiness-score-ring::before { content:""; position:absolute; inset:10px; border-radius:50%; background:#fff; }
.readiness-score-ring strong,.readiness-score-ring span { position:relative; z-index:1; }
.readiness-score-ring strong { font-size:1.65rem; color:var(--fred-navy); line-height:1; }
.readiness-score-ring span { color:var(--fred-muted); font-size:.74rem; margin-top:5px; }
.interview-readiness-card__content { flex:1; min-width:0; }
.section-heading-inline { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.section-heading-inline h2,.section-heading-inline h3 { margin-bottom:7px; }
.interview-readiness-card__content > p { margin:0 0 14px; color:var(--fred-muted); font-size:.9rem; }
.progress-bar--large { height:10px; }
.readiness-metrics { display:flex; flex-wrap:wrap; gap:18px; margin-top:12px; color:var(--fred-muted); font-size:.78rem; }
.readiness-metrics strong { color:var(--fred-text); }
.badge--warning { background:#fef3c7; color:#92400e; }
.interview-focus-card { padding:22px; background:linear-gradient(145deg,#eff6ff,#fff); border-color:#bfdbfe; }
.focus-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--fred-blue); color:#fff; }
.interview-focus-card > strong { display:block; margin:10px 0 6px; color:var(--fred-navy); font-size:1rem; }
.interview-focus-card > p { margin:0 0 18px; color:#475569; font-size:.84rem; }
.interview-workspace-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:18px; align-items:start; }
.prep-plan-card .section-card__header h2 { margin-bottom:0; }
.prep-plan-body { padding:0; }
.prep-phase { border-bottom:1px solid var(--fred-border); }
.prep-phase:last-child { border-bottom:0; }
.prep-phase__header { width:100%; display:grid; grid-template-columns:34px 1fr auto; gap:12px; align-items:center; padding:17px 20px; border:0; background:#fff; text-align:left; }
.prep-phase__header:hover { background:#f8fafc; }
.prep-phase__header > span:nth-child(2) { display:flex; flex-direction:column; gap:2px; }
.prep-phase__header small { color:var(--fred-muted); font-size:.74rem; }
.prep-phase__status { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#eef2ff; color:var(--fred-blue); font-size:.76rem; font-weight:800; }
.prep-phase__status--complete { background:#dcfce7; color:var(--fred-success); }
.prep-phase__chevron { color:var(--fred-muted); }
.prep-phase__items { display:none; padding:0 20px 14px 66px; }
.prep-phase.is-expanded .prep-phase__items { display:grid; }
.prep-task { display:grid; grid-template-columns:20px 1fr auto; gap:10px; align-items:flex-start; padding:10px 0; border-top:1px solid #f1f5f9; font-weight:400; }
.prep-task input { width:17px; min-height:17px; margin-top:2px; accent-color:var(--fred-blue); }
.prep-task > span { display:flex; flex-direction:column; gap:2px; }
.prep-task strong { font-size:.84rem; }
.prep-task small { color:var(--fred-muted); font-size:.74rem; }
.prep-task button { align-self:center; border:0; background:transparent; color:var(--fred-blue); font-size:.75rem; font-weight:700; }
.interview-side-stack { display:grid; gap:18px; }
.positioning-statement { padding:14px; border-radius:10px; background:#f8fafc; border-left:3px solid var(--fred-blue); color:var(--fred-navy); font-size:.86rem; font-weight:650; }
.positioning-points { display:grid; gap:9px; margin:16px 0 0; padding-left:22px; color:#475569; font-size:.8rem; }
.story-mini-list { display:grid; gap:10px; }
.story-mini-card { width:100%; display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--fred-border); border-radius:10px; background:#fff; text-align:left; }
.story-mini-card:hover { border-color:#93c5fd; background:#f8fbff; }
.story-mini-card__icon { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:var(--fred-blue-soft); color:var(--fred-blue-dark); font-size:.72rem; font-weight:850; }
.story-mini-card > span:nth-child(2) { display:flex; flex-direction:column; gap:2px; min-width:0; }
.story-mini-card strong { color:var(--fred-text); font-size:.78rem; }
.story-mini-card small { color:var(--fred-muted); font-size:.66rem; }
.story-strength { color:var(--fred-success); font-size:.66rem; font-weight:800; }
.story-strength--medium { color:var(--fred-warning); }
.ask-list { display:grid; gap:11px; margin:0 0 17px; padding-left:19px; color:#475569; font-size:.78rem; }
.questions-workspace { min-height:720px; display:grid; grid-template-columns:360px minmax(0,1fr); overflow:hidden; border:1px solid var(--fred-border); border-radius:16px; background:#fff; }
.question-list-panel { border-right:1px solid var(--fred-border); background:#fbfdff; }
.question-list-panel__header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:20px; }
.question-list-panel__header h2 { margin-bottom:0; font-size:1.35rem; }
.question-filter-row { display:flex; gap:7px; padding:0 20px 14px; }
.filter-chip { min-height:30px; padding:0 11px; border:1px solid var(--fred-border); border-radius:999px; background:#fff; color:var(--fred-muted); font-size:.7rem; font-weight:700; }
.filter-chip.is-active { border-color:#93c5fd; background:var(--fred-blue-soft); color:var(--fred-blue-dark); }
.question-list { display:grid; }
.question-list-item { position:relative; display:flex; flex-direction:column; gap:5px; padding:16px 38px 16px 20px; border:0; border-top:1px solid var(--fred-border); background:transparent; text-align:left; }
.question-list-item:hover { background:#f8fafc; }
.question-list-item.is-active { background:#eff6ff; box-shadow:inset 3px 0 0 var(--fred-blue); }
.question-list-item strong { color:var(--fred-text); font-size:.82rem; }
.question-list-item small { color:var(--fred-muted); font-size:.7rem; }
.question-priority { color:var(--fred-danger); font-size:.63rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.confidence-dot { position:absolute; top:20px; right:18px; width:9px; height:9px; border-radius:50%; background:#cbd5e1; }
.confidence-dot--high { background:#22c55e; }
.confidence-dot--medium { background:#f59e0b; }
.confidence-dot--low { background:#ef4444; }
.answer-editor-panel { padding:26px 30px 30px; min-width:0; }
.answer-editor-header { display:flex; justify-content:space-between; gap:16px; padding-bottom:22px; border-bottom:1px solid var(--fred-border); }
.answer-editor-header h2 { margin:10px 0 7px; font-size:1.65rem; }
.answer-editor-header p { max-width:800px; margin:0; color:var(--fred-muted); font-size:.84rem; }
.answer-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
.answer-support-card { display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid var(--fred-border); border-radius:10px; background:#f8fafc; }
.answer-support-card > span { color:var(--fred-muted); font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.answer-support-card strong { color:var(--fred-navy); font-size:.85rem; }
.answer-support-card small { color:var(--fred-muted); font-size:.7rem; }
.answer-section { margin-top:18px; }
.answer-section__header { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }
.answer-section__header > div { display:flex; gap:14px; }
.answer-textarea { min-height:310px; padding:17px; line-height:1.65; }
.answer-footer { display:flex; justify-content:space-between; margin-top:7px; color:var(--fred-muted); font-size:.68rem; }
.key-points-section { margin-top:20px; }
.key-point-chips { display:flex; flex-wrap:wrap; gap:8px; }
.key-point-chips span { padding:7px 10px; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:.7rem; font-weight:700; }
.answer-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:26px; padding-top:20px; border-top:1px solid var(--fred-border); }
.empty-prototype-panel { min-height:520px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:50px; border:1px solid var(--fred-border); border-radius:16px; background:#fff; text-align:center; }
.empty-prototype-panel__icon { width:68px; height:68px; display:grid; place-items:center; margin-bottom:18px; border-radius:18px; background:var(--fred-blue-soft); color:var(--fred-blue-dark); font-size:1.7rem; }
.empty-prototype-panel p { max-width:560px; margin:0 0 22px; color:var(--fred-muted); }
.notes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.notes-textarea { min-height:360px; }
.practice-modal { position:fixed; inset:0; z-index:50; display:none; place-items:center; padding:20px; }
.practice-modal.is-open { display:grid; }
.practice-modal__backdrop { position:absolute; inset:0; background:rgba(15,23,42,.58); backdrop-filter:blur(4px); }
.practice-modal__dialog { position:relative; width:min(100%,620px); padding:30px; border-radius:20px; background:#fff; box-shadow:0 28px 70px rgba(15,23,42,.28); }
.practice-modal__close { position:absolute; top:14px; right:16px; width:34px; height:34px; border:0; border-radius:50%; background:#f1f5f9; color:var(--fred-muted); font-size:1.35rem; }
.practice-mode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.practice-mode-card { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-height:150px; padding:18px; border:1px solid var(--fred-border); border-radius:13px; background:#fff; text-align:left; }
.practice-mode-card:hover { border-color:#93c5fd; background:#eff6ff; }
.practice-mode-card > span { font-size:1.45rem; }
.practice-mode-card strong { color:var(--fred-navy); }
.practice-mode-card small { color:var(--fred-muted); }
@media (max-width:1180px) {
  .opportunity-selector-card { grid-template-columns:1fr auto; }
  .opportunity-context { grid-column:1 / -1; grid-row:2; }
  .interview-workspace-grid { grid-template-columns:1fr; }
  .interview-side-stack { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .story-mini-card { grid-template-columns:30px 1fr; }
  .story-strength { grid-column:2; }
}
@media (max-width:980px) {
  .interview-page-container { width:min(calc(100% - 24px),1480px); }
  .interview-shell { grid-template-columns:1fr; }
  .interview-overview-grid { grid-template-columns:1fr; }
  .interview-side-stack { grid-template-columns:1fr; }
  .questions-workspace { grid-template-columns:300px minmax(0,1fr); }
  .answer-support-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .interview-heading { flex-direction:column; }
  .interview-heading .button { width:100%; }
  .opportunity-selector-card { grid-template-columns:1fr; }
  .opportunity-context { grid-column:auto; grid-row:auto; grid-template-columns:1fr; }
  .opportunity-selector-card > .button { width:100%; }
  .interview-readiness-card { flex-direction:column; align-items:flex-start; }
  .questions-workspace { grid-template-columns:1fr; }
  .question-list-panel { border-right:0; border-bottom:1px solid var(--fred-border); }
  .question-list { max-height:330px; overflow:auto; }
  .answer-editor-panel { padding:22px 18px; }
  .answer-actions { flex-direction:column; }
  .notes-grid,.practice-mode-grid { grid-template-columns:1fr; }
}

/* Interview Room V1 ------------------------------------------------------ */
.interview-room-body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: #f8fafc;
  background:
    radial-gradient(circle at 28% 12%, rgba(37, 99, 235, 0.08), transparent 32%),
    linear-gradient(180deg, #111827 0%, #0b1220 100%);
}

.interview-room-shell { min-height: 100vh; display: flex; flex-direction: column; }

.room-topbar {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(250px, 1fr) minmax(300px, 1.1fr) minmax(250px, .9fr) auto;
  gap: 28px;
  align-items: center;
  padding: 12px 28px;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
  background: rgba(12, 18, 31, .86);
  backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.room-topbar__brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.room-mark { width: 42px; height: 42px; object-fit: contain; }
.room-topbar__brand > div { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.room-topbar__brand strong { font-size: 1.08rem; color: #fff; }
.room-mode-pill {
  display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px;
  border: 1px solid rgba(148, 163, 184, .18); border-radius: 999px;
  color: #dbeafe; background: rgba(30, 41, 59, .7); font-size: .76rem; font-weight: 700;
}
.room-mode-pill i { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 12px rgba(74, 222, 128, .75); }
.room-opportunity { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.room-opportunity strong { color: #fff; font-size: .95rem; }
.room-opportunity span, .room-round { color: #94a3b8; font-size: .88rem; }
.room-round span { padding: 0 6px; color: #64748b; }
.room-topbar__actions { display: flex; gap: 10px; justify-content: flex-end; }
.room-button {
  border: 1px solid transparent; border-radius: 10px; padding: 10px 16px;
  font-size: .85rem; font-weight: 800; color: #fff; background: #1e293b;
}
.room-button--ghost { border-color: rgba(148, 163, 184, .2); background: rgba(15, 23, 42, .42); }
.room-button--primary { background: var(--fred-blue); }
.room-button--danger { background: #b91c1c; }
.room-button:hover { filter: brightness(1.08); text-decoration: none; }

.room-layout {
  width: 100%;
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  padding: 20px;
}

.room-stage {
  min-width: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}

.room-progress {
  position: absolute; top: 14px; left: 14px; z-index: 5;
  display: flex; align-items: center; gap: 16px; padding: 9px 14px;
  border: 1px solid rgba(148, 163, 184, .15); border-radius: 11px;
  background: rgba(15, 23, 42, .86); box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
  color: #cbd5e1; font-size: .8rem;
}
.room-progress strong { color: #fff; }
.room-progress__dots { display: flex; gap: 8px; }
.room-progress__dots i { width: 8px; height: 8px; border-radius: 50%; border: 1px solid #475569; background: #263244; }
.room-progress__dots i.is-complete { background: #34d399; border-color: #34d399; }
.room-progress__dots i.is-current { background: #86efac; border-color: #bbf7d0; box-shadow: 0 0 0 3px rgba(52, 211, 153, .08); }

.room-video-wrap {
  min-height: 54vh; max-height: 61vh; overflow: hidden; position: relative;
  border: 1px solid rgba(148, 163, 184, .14); border-radius: 17px;
  background: #111827; box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
}
.room-video { width: 100%; height: 100%; min-height: 54vh; max-height: 61vh; object-fit: cover; object-position: center 42%; display: block; }
.room-video__shade { position: absolute; inset: auto 0 0; height: 24%; background: linear-gradient(transparent, rgba(5, 10, 20, .48)); pointer-events: none; }
.room-person-label {
  position: absolute; left: 12px; bottom: 12px; display: flex; flex-direction: column; gap: 1px;
  min-width: 138px; padding: 8px 12px; border-radius: 9px; background: rgba(11, 18, 32, .88); border: 1px solid rgba(148, 163, 184, .14);
}
.room-person-label strong { font-size: .86rem; }
.room-person-label span { color: #94a3b8; font-size: .75rem; }
.signal-bars { color: #4ade80; font-style: normal; font-size: .65rem; letter-spacing: -1px; margin-left: 5px; }

.room-question {
  display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center;
  margin-top: 8px; min-height: 88px; padding: 15px 24px;
  border: 1px solid rgba(148, 163, 184, .14); border-radius: 14px;
  background: rgba(19, 29, 48, .78);
}
.room-quote { color: #818cf8; font-size: 3.3rem; line-height: .8; font-family: Georgia, serif; transform: translateY(5px); }
.room-question p { margin: 0; color: #f8fafc; font-size: clamp(1rem, 1.45vw, 1.3rem); line-height: 1.45; letter-spacing: -.015em; }
.voice-actions [hidden] { display: none !important; }
.answer-now-cue[hidden] { display: none !important; }
.answer-now-cue {
  display: flex; align-items: center; gap: 10px; margin: 14px 0; padding: 14px 18px;
  border: 2px solid #22c55e; border-radius: 12px; background: #dcfce7; color: #14532d;
  font-size: 1.05rem; font-weight: 800; box-shadow: 0 0 0 4px rgba(34, 197, 94, .14);
}
.answer-now-cue span { color: #dc2626; font-size: 1.25rem; animation: answerCuePulse .9s ease-in-out infinite alternate; }
.answer-now-cue.wait-to-answer { border-color: #f59e0b; background: #fef3c7; color: #78350f; box-shadow: 0 0 0 4px rgba(245, 158, 11, .14); }
.answer-now-cue.wait-to-answer span { color: #f59e0b; animation: none; }
.button.is-busy { cursor: wait; opacity: .82; }
.button.is-busy::before {
  content: ""; width: 14px; height: 14px; margin-right: 8px; border: 2px solid currentColor;
  border-right-color: transparent; border-radius: 50%; animation: confirmSpinner .7s linear infinite;
}
@keyframes confirmSpinner { to { transform: rotate(360deg); } }
@keyframes answerCuePulse { from { opacity: .45; transform: scale(.9); } to { opacity: 1; transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .answer-now-cue span, .button.is-busy::before { animation: none; } }

.room-response-area {
  min-height: 95px; display: grid; grid-template-columns: 1fr 145px 170px; gap: 18px; align-items: center;
  padding: 8px 0 0;
}
.room-listening { min-width: 0; padding-left: 20%; }
.listening-status { display: flex; align-items: center; gap: 9px; color: #e2e8f0; font-size: .88rem; }
.listening-status i { width: 8px; height: 8px; border-radius: 50%; background: #34d399; box-shadow: 0 0 12px rgba(52, 211, 153, .7); }
.room-wave { height: 27px; margin-top: 4px; display: flex; align-items: center; gap: 3px; overflow: hidden; }
.room-wave i { width: 2px; border-radius: 10px; background: #34d399; opacity: .74; animation: roomWave 1.15s ease-in-out infinite alternate; }
.room-wave i:nth-child(3n) { animation-delay: .18s; }
.room-wave i:nth-child(4n) { animation-delay: .32s; }
.room-wave i:nth-child(5n) { animation-delay: .44s; }
.room-wave i:nth-child(odd) { height: 7px; }
.room-wave i:nth-child(even) { height: 15px; }
.room-wave i:nth-child(3n) { height: 22px; }
@keyframes roomWave { from { transform: scaleY(.45); opacity: .45; } to { transform: scaleY(1); opacity: .95; } }
.room-timer { display: flex; flex-direction: column; align-items: center; }
.room-timer strong { color: #4ade80; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.room-timer span { color: #94a3b8; font-size: .72rem; }
.room-self-view {
  min-height: 88px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px;
  border: 1px solid rgba(148, 163, 184, .12); border-radius: 13px; background: rgba(19, 29, 48, .78); position: relative;
}
.room-self-view__avatar { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: #334155; color: #e2e8f0; font-size: 1rem; }
.room-self-view strong { font-size: .76rem; }
.room-self-view > span:last-child { color: #94a3b8; font-size: .69rem; }

.room-controls { display: flex; justify-content: center; gap: 14px; margin-top: 2px; padding-bottom: 4px; }
.call-control {
  min-width: 146px; display: inline-flex; justify-content: center; align-items: center; gap: 9px;
  padding: 12px 18px; border: 1px solid rgba(148, 163, 184, .12); border-radius: 999px;
  color: #e2e8f0; background: rgba(30, 41, 59, .8);
}
.call-control span { font-size: .95rem; }
.call-control strong { font-size: .84rem; }
.call-control--primary { min-width: 210px; background: var(--fred-blue); border-color: var(--fred-blue); color: #fff; }
.call-control.is-muted { background: rgba(127, 29, 29, .72); border-color: rgba(248, 113, 113, .26); }

.room-coach {
  min-width: 0; border: 1px solid rgba(148, 163, 184, .13); border-radius: 15px;
  background: rgba(17, 26, 43, .84); padding: 15px; box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
  display: flex; flex-direction: column;
}
.room-coach__heading { display: flex; justify-content: space-between; align-items: center; padding: 1px 3px 13px; border-bottom: 1px solid rgba(148, 163, 184, .1); }
.room-coach__heading > div { display: flex; align-items: center; gap: 9px; }
.room-coach__heading strong { color: #fff; font-size: .95rem; }
.coach-spark { color: #818cf8; }
.room-coach__heading button { border: 0; background: transparent; color: #94a3b8; }
.coach-mode { align-self: flex-start; margin-top: 14px; padding: 7px 11px; border-radius: 8px; background: rgba(67, 56, 202, .25); color: #a5b4fc; font-weight: 800; font-size: .75rem; }
.coach-paused { margin: 14px 0 0; min-height: 280px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 30px 18px; border: 1px solid rgba(148, 163, 184, .13); border-radius: 14px; background: rgba(15, 23, 42, .32); }
.coach-paused__icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: #94a3b8; background: #27344b; font-size: 1.45rem; }
.coach-paused h2, .coach-review h2 { color: #fff; font-size: 1.08rem; margin: 18px 0 8px; letter-spacing: -.02em; }
.coach-paused p, .coach-review p { color: #94a3b8; font-size: .82rem; margin: 0; }
.coach-review { padding-top: 18px; }
.coach-kicker { color: #818cf8 !important; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .7rem !important; }
.coach-review h2 { margin-top: 8px; line-height: 1.3; }
.coach-insight { margin-top: 14px; padding: 13px; border-radius: 11px; background: rgba(30, 41, 59, .54); border: 1px solid rgba(148, 163, 184, .1); }
.coach-insight strong { display: block; color: #e2e8f0; margin-bottom: 5px; font-size: .79rem; }
.coach-insight--good { border-color: rgba(52, 211, 153, .2); }
.coach-insight--good strong { color: #6ee7b7; }
.coach-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.coach-actions .room-button { padding-inline: 10px; }

@media (max-width: 1120px) {
  .room-topbar { grid-template-columns: 1fr 1fr auto; }
  .room-round { display: none; }
  .room-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .room-listening { padding-left: 5%; }
}
@media (max-width: 900px) {
  .room-topbar { grid-template-columns: 1fr auto; }
  .room-opportunity { display: none; }
  .room-layout { grid-template-columns: 1fr; }
  .room-coach { min-height: 320px; }
  .room-video-wrap, .room-video { min-height: 48vh; }
}
@media (max-width: 650px) {
  .room-topbar { padding-inline: 16px; }
  .room-topbar__actions .room-button--ghost { display: none; }
  .room-layout { padding: 12px; }
  .room-response-area { grid-template-columns: 1fr 100px; }
  .room-self-view { display: none; }
  .room-listening { padding-left: 0; }
  .call-control { min-width: auto; flex: 1; padding-inline: 10px; }
  .call-control--primary { min-width: 0; }
}
.practice-mode-card { text-decoration: none; color: inherit; }
.practice-mode-card:hover { text-decoration: none; }
.room-wave.is-paused i { animation-play-state: paused; opacity: .22; }
.call-control:disabled { opacity: .55; cursor: default; filter: saturate(.5); }
\n\n/* Interview Prep History V1.1 */\n.prep-history-summary { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr); gap:24px; align-items:center; padding:24px; margin-bottom:18px; border:1px solid var(--fred-border); border-radius:16px; background:linear-gradient(135deg,#fff 0%,#f8fbff 100%); }\n.prep-history-summary h2 { margin:4px 0 8px; font-size:1.35rem; }\n.prep-history-summary p:last-child { margin:0; color:var(--fred-muted); line-height:1.55; }\n.prep-history-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }\n.prep-history-metrics div { padding:14px; border:1px solid var(--fred-border); border-radius:12px; background:#fff; }\n.prep-history-metrics strong { display:block; color:var(--fred-navy); font-size:1.12rem; }\n.prep-history-metrics span { display:block; margin-top:2px; color:var(--fred-muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; }\n.prep-evolution-card,.prep-history-list-card { margin-bottom:18px; border:1px solid var(--fred-border); border-radius:16px; background:#fff; overflow:hidden; }\n.prep-evolution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border-top:1px solid var(--fred-border); }\n.evolution-item { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:center; padding:16px 18px; border-right:1px solid var(--fred-border); border-bottom:1px solid var(--fred-border); }\n.evolution-item:nth-child(even) { border-right:0; }\n.evolution-item:nth-last-child(-n+2) { border-bottom:0; }\n.evolution-item strong,.evolution-item small { display:block; }\n.evolution-item small { margin-top:3px; color:var(--fred-muted); line-height:1.35; }\n.evolution-trend { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#ecfdf5; color:#047857; font-weight:900; }\n.evolution-trend--warn { background:#fff7ed; color:#c2410c; }\n.history-privacy-note { color:var(--fred-muted); font-size:.78rem; }\n.prep-session-card { margin:0 20px 16px; border:1px solid var(--fred-border); border-radius:14px; background:#fff; overflow:hidden; }\n.prep-session-card:first-of-type { margin-top:4px; }\n.prep-session-card__meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:12px 16px; background:#f8fafc; color:var(--fred-muted); font-size:.78rem; border-bottom:1px solid var(--fred-border); }\n.session-mode { padding:4px 8px; border-radius:999px; background:#e0e7ff; color:#3730a3; font-weight:800; }\n.session-mode--practice { background:#e0f2fe; color:#075985; }\n.session-mode--guided { background:#ecfdf5; color:#047857; }\n.prep-session-card__body { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:16px; }\n.prep-session-card__body h3 { margin:0 0 5px; font-size:1rem; }\n.prep-session-card__body p { margin:0; color:var(--fred-muted); line-height:1.45; }\n.session-readiness { min-width:92px; text-align:right; }\n.session-readiness small,.session-readiness strong,.session-readiness span { display:block; }\n.session-readiness strong { color:var(--fred-navy); font-size:1.3rem; }\n.session-readiness span { color:#047857; font-size:.76rem; font-weight:800; }\n.prep-session-questions { border-top:1px solid var(--fred-border); }\n.history-question { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto 120px; gap:14px; align-items:center; padding:13px 16px; border:0; border-bottom:1px solid var(--fred-border); background:#fff; text-align:left; color:var(--fred-text); }\n.history-question:last-child { border-bottom:0; }\n.history-question:hover { background:#f8fafc; }\n.history-question strong,.history-question small { display:block; }\n.history-question small { margin-top:2px; color:var(--fred-muted); }\n.history-question > span:last-child { color:var(--fred-blue); font-size:.8rem; font-weight:800; text-align:right; }\n.session-link { margin:0 16px 16px; padding:0; border:0; background:transparent; color:var(--fred-blue); font-weight:800; }\n.transcript-modal { position:fixed; inset:0; z-index:60; display:none; place-items:center; padding:24px; }\n.transcript-modal.is-open { display:grid; }\n.transcript-modal__backdrop { position:absolute; inset:0; background:rgba(15,23,42,.62); backdrop-filter:blur(5px); }\n.transcript-modal__dialog { position:relative; z-index:1; width:min(100%,860px); max-height:min(88vh,820px); overflow:auto; border-radius:20px; background:#fff; box-shadow:0 30px 80px rgba(15,23,42,.28); }\n.transcript-modal__header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding:26px 28px 20px; border-bottom:1px solid var(--fred-border); }\n.transcript-modal__header h2 { margin:4px 0 4px; }\n.transcript-modal__header p:last-child { margin:0; color:var(--fred-muted); }\n.transcript-dialog-body { padding:24px 28px 28px; }\n.transcript-question-block,.transcript-answer-block,.transcript-feedback-block { margin-bottom:16px; padding:18px; border:1px solid var(--fred-border); border-radius:14px; }\n.transcript-question-block { background:#f8fafc; }\n.transcript-question-block span { color:var(--fred-blue); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }\n.transcript-question-block p,.transcript-answer-block p { margin:8px 0 0; line-height:1.65; }\n.transcript-speaker { display:flex; gap:10px; align-items:center; }\n.transcript-speaker strong,.transcript-speaker small { display:block; }\n.transcript-speaker small { color:var(--fred-muted); }\n.feedback-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:10px; }\n.feedback-columns div { padding:14px; border-radius:12px; background:#f8fafc; }\n.feedback-columns p { margin:5px 0 0; color:var(--fred-muted); line-height:1.5; }\n.transcript-privacy { display:flex; gap:10px; align-items:flex-start; padding:13px 15px; border-radius:12px; background:#eff6ff; color:#1e3a5f; }\n.transcript-privacy p { margin:0; line-height:1.45; font-size:.84rem; }\n@media (max-width:900px) { .prep-history-summary { grid-template-columns:1fr; } .prep-evolution-grid { grid-template-columns:1fr; } .evolution-item,.evolution-item:nth-child(even),.evolution-item:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid var(--fred-border); } .evolution-item:last-child { border-bottom:0; } .history-question { grid-template-columns:1fr auto; } .history-question > span:last-child { grid-column:1 / -1; text-align:left; } .feedback-columns { grid-template-columns:1fr; } }\n

/* Prep History V1.2 — intentionally simple list */
.prep-history-simple {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 18px;
  overflow: hidden;
}
.prep-history-simple > .section-card__header {
  padding: 24px 26px 20px;
}
.prep-history-simple__intro {
  margin: 6px 0 0;
  color: var(--muted, #6b7280);
}
.prep-history-table {
  border-top: 1px solid var(--border, #e5e7eb);
}
.prep-history-row {
  display: grid;
  grid-template-columns: 150px 170px 130px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 76px;
  padding: 14px 26px;
  border-bottom: 1px solid var(--border, #e5e7eb);
}
.prep-history-row:last-child { border-bottom: 0; }
.prep-history-row:not(.prep-history-row--header) {
  transition: background-color .15s ease;
}
.prep-history-row:not(.prep-history-row--header):hover {
  background: #f8fafc;
}
.prep-history-row--header {
  min-height: 44px;
  padding-top: 10px;
  padding-bottom: 10px;
  background: #f8fafc;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.prep-history-row [role="cell"] {
  color: #374151;
  font-size: 14px;
  line-height: 1.4;
}
.prep-history-row [role="cell"] strong {
  display: block;
  color: #111827;
  font-weight: 650;
}
.prep-history-row [role="cell"] small {
  display: block;
  margin-top: 3px;
  color: #9ca3af;
  font-size: 12px;
}
@media (max-width: 900px) {
  .prep-history-row { grid-template-columns: 1fr; gap: 7px; }
  .prep-history-row--header { display: none; }
}

/* Post-revamp dashboard density and compact actions. */
.dashboard-main--compact{max-width:68rem}.dashboard-welcome--compact{align-items:center;margin-bottom:1rem}.dashboard-welcome--compact h1{margin:.1rem 0 .2rem;font-size:clamp(1.55rem,2.4vw,2.15rem)}.dashboard-welcome--compact .lead{font-size:.95rem}.dashboard-grid--stats-compact{gap:.65rem;margin-bottom:1.25rem}.dashboard-grid--stats-compact .dashboard-stat-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.75rem 1rem}.dashboard-grid--stats-compact .dashboard-stat-card__value{font-size:1.4rem}.dashboard-section--compact{margin-bottom:1.25rem}.dashboard-section__header--inline{display:flex;align-items:end;justify-content:space-between;gap:1rem}.dashboard-section__header--inline h2,.dashboard-section--compact .dashboard-section__header h2{font-size:1.15rem}.dashboard-continue-list{overflow:hidden;border:1px solid var(--fred-border);border-radius:.8rem;background:#fff}.dashboard-continue-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,auto) auto;gap:.8rem;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--fred-border)}.dashboard-continue-item:first-child{border-top:0}.dashboard-continue-item strong,.dashboard-continue-item span{display:block}.dashboard-continue-item>div>span,.dashboard-continue-state{color:var(--fred-muted);font-size:.78rem}.dashboard-empty{padding:1rem;border:1px dashed #b8c4d4;border-radius:.8rem;background:#fff}.dashboard-empty p{margin:0 0 .2rem}.quick-action-links{display:flex;flex-wrap:wrap;gap:.55rem}.quick-action-link{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.45rem .75rem;border:1px solid var(--fred-border);border-radius:.65rem;background:#fff;color:var(--fred-text);font-size:.84rem}.quick-action-link>span{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:.4rem;background:var(--fred-blue-soft);color:var(--fred-blue-dark)}.quick-action-link:hover{border-color:#93b4dc;background:#f4f8ff;text-decoration:none}.quick-action-link:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.dashboard-foundation--compact .section-card__header,.dashboard-foundation--compact .section-card__body{padding:.75rem 1rem}.dashboard-foundation--compact h2{font-size:1.05rem}.analysis-history-list{display:grid;gap:.7rem}.analysis-history-item{display:grid;grid-template-columns:minmax(8rem,.25fr) minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--fred-border);border-radius:.8rem;background:#fff}.analysis-history-item h2{margin:0;font-size:1rem}.analysis-history-item p{margin:.2rem 0;color:var(--fred-muted);font-size:.82rem}.analysis-history-item__status{display:grid;gap:.3rem;justify-items:start}.analysis-history-item__status>span:last-child{color:var(--fred-muted);font-size:.76rem}.analysis-history-requirements{color:var(--fred-text)!important;font-weight:700}.jd-result-actions{margin:-.2rem 0 .8rem}.thesis-section{margin:1.2rem 0}.thesis-section>h2{font-size:1.15rem}.hiring-thesis-result>.page-actions{margin-top:1.25rem}
@media(max-width:760px){.dashboard-grid--stats-compact{grid-template-columns:1fr}.dashboard-welcome--compact{align-items:stretch}.dashboard-section__header--inline{align-items:flex-start;flex-direction:column}.dashboard-continue-item,.analysis-history-item{grid-template-columns:1fr}.dashboard-continue-item .button,.analysis-history-item .button{width:100%}.quick-action-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action-link{min-width:0}.analysis-history-item__status{display:flex;align-items:center;flex-wrap:wrap}.jd-result-actions{align-items:stretch;flex-direction:column}.jd-result-actions form,.jd-result-actions .button,.jd-result-actions form .button{width:100%}}
@media(max-width:430px){.quick-action-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.quick-action-link,.dashboard-continue-item{scroll-behavior:auto;transition:none}}
.job-description-review{max-width:960px;margin-inline:auto}.job-description-content{max-width:76ch;margin:2rem 0;padding:clamp(1rem,3vw,2.25rem);background:#fff;border:1px solid var(--border-color,#d8dee8);border-radius:.75rem;line-height:1.65;overflow-wrap:anywhere}.job-description-content h2,.job-description-content h3,.job-description-content h4{margin:1.6em 0 .55em;line-height:1.25}.job-description-content p,.job-description-content ul,.job-description-content ol{margin:.8em 0}.job-description-content li+li{margin-top:.35em}.job-description-review__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}@media(max-width:600px){.job-description-review__actions>*{width:100%;text-align:center}}
