.view-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 14px; }
.view-heading .eyebrow { margin-bottom: 8px; }
.view-heading h1 { margin: 0; font: 400 clamp(1.9rem, 3.2vw, 2.9rem)/1.02 var(--font-display); letter-spacing: 0; }
.view-heading > div > p:last-child { color: var(--ink-soft); margin: 6px 0 0; }
.analysis-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px 8px; }
.analysis-tabs button { flex: none; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink-soft); padding: 0 16px; cursor: pointer; }
.analysis-tabs button[aria-selected="true"] { color: white; border-color: var(--blue); background: var(--blue); }
.analysis-panel { min-height: 0; padding: clamp(20px, 4vw, 38px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.analysis-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.analysis-kpis article { min-height: 148px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #f8fafd; }
.analysis-kpis small, .analysis-kpis span { display: block; color: var(--ink-soft); }
.analysis-kpis strong { display: block; margin-block: 13px 6px; color: var(--blue-dark); font: 800 2.3rem var(--font-data); }
.analysis-kpis.compact strong { font-size: 1.8rem; }
.analysis-note { margin-top: 18px; padding: 22px 24px; border-radius: var(--radius-md); background: #eef3f8; }
.analysis-note h3 { margin: 0; }
.analysis-note p, .analysis-note li { color: var(--ink-soft); line-height: 1.7; }
.table-scroll { width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 14px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.data-table th, .data-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table thead th { position: sticky; top: 0; background: #edf2f8; color: var(--ink-soft); font-size: .78rem; }
.data-table tbody tr:last-child > * { border-bottom: 0; }
.data-table tbody tr:hover { background: #f8fafd; }
.type-pill { display: inline-flex; padding: 3px 8px; border-radius: 999px; background: #e7f3ef; color: #256d62; font-size: .76rem; font-weight: 800; }
.standard-minimum { white-space: nowrap; color: var(--ink-soft); }
.standard-minimum strong { color: var(--blue-dark); }
.credit-diagnosis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.credit-diagnosis article { display: flex; justify-content: space-between; align-items: baseline; padding: 20px; border-radius: var(--radius-md); background: var(--ink); color: white; }
.credit-diagnosis strong { font: 800 2rem var(--font-data); }

.meeting-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 18px; }
.meeting-sidebar, .meeting-work { border: 1px solid var(--line); border-radius: var(--radius-md); background: white; }
.meeting-sidebar { padding: 16px; align-self: start; position: sticky; top: 112px; }
.role-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; background: #edf2f8; border-radius: 12px; }
.role-switch button { border: 0; border-radius: 9px; background: transparent; cursor: pointer; font-weight: 800; }
.role-switch button[aria-pressed="true"] { background: white; box-shadow: 0 2px 8px rgba(31,48,82,.12); }
#meeting-questions { display: grid; gap: 5px; margin-top: 14px; }
.question-button { min-height: 44px; border: 0; border-radius: 9px; padding: 10px; background: transparent; text-align: left; color: var(--ink-soft); cursor: pointer; }
.question-button:hover { background: #eef3f8; color: var(--ink); }
.meeting-work { padding: clamp(18px, 3vw, 30px); }
.meeting-controls { display: grid; grid-template-columns: minmax(150px,.45fr) minmax(250px,1fr); gap: 12px; }
.meeting-controls select { width: 100%; border: 1px solid var(--line-strong); border-radius: 10px; background: white; padding-inline: 12px; }
.meeting-answer { margin-top: 18px; min-height: 350px; }
.meeting-empty { display: grid; place-content: center; min-height: 350px; text-align: center; border: 1px dashed var(--line-strong); border-radius: var(--radius-md); }
.meeting-empty p { color: var(--ink-soft); }
.comparison-head { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; padding: 18px; border-radius: var(--radius-md); background: var(--ink); color: white; margin-bottom: 14px; }
.comparison-head div:last-child { text-align: right; }
.comparison-head small, .comparison-head strong { display: block; }
.comparison-head small { color: #b9c8dc; }
.comparison-head strong { margin-top: 4px; }
.meeting-prompt { padding: 12px 16px; border-left: 4px solid var(--coral); background: #fff4f5; }
.meeting-save { display: flex; gap: 14px; align-items: center; margin-top: 18px; }
.meeting-save [role=status] { color: var(--mint); font-weight: 700; }

@media (max-width: 900px) {
  .analysis-kpis { grid-template-columns: repeat(2, 1fr); }
  .meeting-layout { grid-template-columns: 1fr; }
  .meeting-sidebar { position: static; }
}
@media (min-width: 721px) {
  .app-shell[data-current-route="analysis"] { height: 100dvh; min-height: 0; overflow: hidden; }
  .app-shell[data-current-route="analysis"] .app-main { min-height: 0; padding-block: 18px; }
  .app-shell[data-current-route="analysis"] #view-root,
  .app-shell[data-current-route="analysis"] [data-testid="analysis-view"] { height: 100%; min-height: 0; }
  .app-shell[data-current-route="analysis"] [data-testid="analysis-view"] { display: grid; grid-template-rows: auto auto minmax(0, 1fr); }
  .app-shell[data-current-route="analysis"] .analysis-panel { overflow: auto; }
  .app-shell[data-current-route="analysis"] .analysis-panel:is([data-panel="subjects"], [data-panel="career"], [data-panel="school"], [data-panel="groups"], [data-panel="standards"]) { padding: 0; overflow: hidden; }
  .app-shell[data-current-route="analysis"] .analysis-panel:is([data-panel="subjects"], [data-panel="career"], [data-panel="school"], [data-panel="groups"], [data-panel="standards"]) .table-scroll { height: 100%; border: 0; border-radius: var(--radius-lg); }
}
@media (max-width: 620px) {
  .view-heading { display: block; }
  .view-heading .badge { margin-top: 14px; }
  .analysis-panel { padding: 16px; }
  .analysis-kpis, .credit-diagnosis { grid-template-columns: 1fr; }
  .meeting-controls { grid-template-columns: 1fr; }
}
