/* Shared workspace system. Legacy module-specific layout remains in styles.css. */
:root {
  --workspace-rail: 224px;
  --app-topbar-height: 64px;
  --text-primary: #2b2926;
  --text-muted: #696560;
  --text-light: #797570;
  --stroke: #e7e5e2;
  --ivory: #ffffff;
  --warm-gray: #f7f6f5;
  --teal: #237870;
  --teal-dark: #1a625b;
  --teal-light: #e9f3f2;
  --green: #237870;
  --danger: #b6465e;
  --font-display: var(--font-body);
  --shadow-sm: none;
}

html { scroll-behavior: auto; }
body { background: #fff; }
button, input, select, textarea { font-family: var(--font-body); }
button { touch-action: manipulation; }
button:active:not(:disabled), .tab-button:active:not(:disabled) { transform: none; }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 4px; }
.lucide { width: 20px; height: 20px; flex-shrink: 0; }
.page-shell { max-width: none; padding: 0; }
.auth-scene, .approval-scene, .boot-scene { padding: 40px 20px; min-height: 100dvh; }
.auth-panel, .boot-panel, .approval-panel { background: #fff; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.auth-panel { max-width: 480px; padding: 28px 24px; }
.auth-hero-title { font-size: 34px; letter-spacing: 0; }
.boot-panel h2 { font-size: 30px; }
.boot-kicker { letter-spacing: 0; text-transform: none; }
.auth-form input, .auth-form select { min-height: 46px; border-radius: 6px; background: #fff; font-size: 15px; }
.auth-form .primary-button { min-height: 46px; border-radius: 6px; box-shadow: none; background: var(--teal); }
#app-root:not([hidden]) { padding-top: var(--app-topbar-height); gap: 0; }
.workspace-layout, #app-root:not(.sidebar-collapsed) .workspace-layout { padding: 0; }
.view-stack { width: 100%; max-width: 1224px; margin: 0 auto; padding: 36px 40px 64px; gap: 24px; min-width: 0; }
.view-panel { min-width: 0; }
.view-panel, #app-root .panel { animation: none; }
.view-panel > .panel, .view-panel > .content-grid > .panel,
.view-panel .dashboard-surface { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 0; }
.view-panel .panel { box-shadow: none; }
.view-panel h1, .view-panel h2, .view-panel h3, .workspace-page-heading h1 { letter-spacing: 0; }
.section-heading h2 { font-size: 20px; }
.section-kicker { font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--text-muted); }
.workspace-page-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.workspace-page-heading h1 { margin: 0; font-size: 28px; font-weight: 650; line-height: 1.25; }
.workspace-page-heading p { margin: 0; color: var(--text-muted); font-size: 13px; }
.workspace-page-meta { display: flex; gap: 12px; align-items: center; }
.workspace-page-meta .icon-tool { width: 44px; height: 44px; padding: 10px; }

/* Navigation has a stable place; opening a module never shifts the canvas. */
.app-topbar { background: #fff; backdrop-filter: none; border-color: var(--stroke); }
.app-topbar-inner { width: 100%; max-width: none; padding: 10px 32px; gap: 16px; }
.app-topbar-title { font-size: 14px; color: var(--text-muted); font-weight: 500; }
.app-sidebar { display: flex; flex-direction: column; width: var(--workspace-rail); background: #f7f9f9; padding: 30px 16px 20px; box-shadow: none; border-color: var(--stroke); border-radius: 0; gap: 24px; }
.sidebar-identity { padding: 0 8px 24px; gap: 20px; overflow: visible; }
.sidebar-brand-block h1 { font-size: 18px; font-weight: 750; }
.sidebar-brand-block p { display: none; }
.sidebar-brand-mark, .app-brand-mark { background: var(--teal); border-radius: 7px; }
.sidebar-identity .user-chip { background: transparent; padding: 0; border: 0; font-size: 12px; text-align: left; }
.sidebar-navigation-kicker { font-size: 11px; margin-bottom: 12px; padding-left: 12px; text-transform: uppercase; }
.app-sidebar .tab-button { font-size: 14px; font-weight: 500; gap: 12px; min-height: 44px; border-radius: 6px; padding: 12px; color: #645f59; }
.app-sidebar .tab-button.active { background: #e7eeed; color: #1d5751; box-shadow: none; font-weight: 650; }
.app-sidebar .tab-button:hover:not(.active) { background: #f1f0ef; }
.app-sidebar [data-view="profile"] { margin-top: 24px; }
.developer-handle-global { font-size: 11px; line-height: 1.7; border: 0; padding: 0 8px; }
.sidebar-toggle-button { min-width: 44px; width: 44px; height: 44px; border: 0; padding: 10px; }
.sidebar-toggle-label { display: none; }
.sidebar-toggle-icon { display: flex; align-items: center; }
.notification-button { min-height: 40px; border: 1px solid var(--stroke); background: #fff; box-shadow: none; }
.notification-button { width: 44px; height: 44px; padding: 10px; min-width: 44px; }
.workspace-context-controls { display: flex; flex-wrap: wrap; gap: 16px; }
.workspace-context-controls:not(:has(> :not([hidden]))) { display: none; }
.workspace-context-controls .academic-period-control { margin: 0; width: 240px; max-width: 100%; }
.workspace-context-controls select { min-height: 40px; }
.mobile-primary-nav { display: none; }
.academic-period-control, .academic-track-control { max-width: 240px; }

/* Home is a daily overview, not a second attendance report. */
.student-dashboard-shell { gap: 28px; }
.student-home-header { padding: 8px 0 32px; border-bottom: 1px solid var(--stroke); align-items: center; }
.student-home-date { color: var(--text-muted); font-size: 13px; font-weight: 400; text-transform: none; margin-bottom: 12px; }
.student-home-intro h1 { font-size: 32px; line-height: 1.25; font-weight: 600; }
.student-home-intro > p:last-child { margin-top: 10px; font-size: 13px; }
.student-home-period { padding: 0 0 0 24px; border: 0; border-left: 1px solid var(--stroke); border-radius: 0; background: none; min-width: 170px; gap: 6px; }
.student-period-label { font-size: 12px; text-transform: none; font-weight: 400; }
.student-home-period strong { font-size: 20px; font-weight: 600; }
.student-home-period small { font-size: 12px; }
.student-home-main-grid { grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr); gap: 40px; padding: 8px 0 28px; border-bottom: 1px solid var(--stroke); }
.student-focus-card { border-left: 1px solid var(--stroke) !important; padding-left: 32px !important; }
.dashboard-surface-heading { align-items: center; margin-bottom: 24px; gap: 12px; }
.dashboard-surface-heading h2, .home-workspace-section h2 { font-size: 17px; font-weight: 600; margin: 0; }
.dashboard-text-action { min-height: 44px; padding: 8px 0 8px 8px; font-weight: 500; font-size: 13px; }
.student-empty-state.compact { border: 0; border-radius: 0; background: transparent; padding: 28px 0; min-height: 132px; justify-content: flex-start; gap: 16px; }
.student-empty-state.compact > .lucide { width: 28px; height: 28px; color: #8b8275; }
.student-empty-state.compact strong { font-size: 14px; font-weight: 550; }
.student-empty-state.compact p { margin-top: 6px; font-size: 13px; line-height: 1.6; max-width: 32ch; }
.student-today-row { grid-template-columns: 64px 10px minmax(0, 1fr) auto; gap: 12px; padding: 16px 0; }
.student-today-details strong { font-size: 14px; white-space: normal; overflow: visible; font-weight: 550; }
.student-today-details small { font-size: 12px; margin-top: 4px; }
.student-today-time { font-size: 12px; font-weight: 500; }
.student-today-status { font-size: 11px; font-weight: 500; }
.student-focus-row { padding: 16px 0; }
.student-focus-row strong { font-size: 14px; font-weight: 550; }
.student-focus-row small { font-size: 12px; line-height: 1.6; margin-top: 5px; }
.home-workspace-section { padding-top: 4px; }
.home-workspace-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; gap: 16px; }
.home-module-link { display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; align-items: center; gap: 12px; min-height: 94px; padding: 18px 16px; text-align: left; color: var(--text-primary); background: #fff; border: 1px solid var(--stroke); border-radius: 8px; cursor: pointer; transition: background 150ms, border-color 150ms; }
.home-module-link:hover { background: #f7f9f9; border-color: #c5c0ba; }
.home-module-link > span:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.home-module-link strong { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.home-module-link small { color: var(--text-muted); font-size: 12px; line-height: 1.5; }
.home-module-link > .lucide { width: 16px; height: 16px; color: var(--text-muted); }
.module-symbol { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; }
.attendance-symbol { background: #edf4f3; color: #28756d; }
.syllabus-symbol { background: #edf1fb; color: #4c6eb5; }
.work-symbol { background: #faf2e5; color: #996f27; }

/* Module tools and content share a quieter, flatter visual hierarchy. */
.tracker-tab-toggle { border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; padding: 0; gap: 20px; width: 100%; background: transparent; }
.tracker-tab-toggle .tracker-icon-button { border-radius: 0; height: 48px; max-height: none; padding: 0 2px; min-height: 48px; background: transparent; color: var(--text-muted); border-bottom: 2px solid transparent; }
.tracker-tab-toggle .tracker-icon-button.active { color: var(--teal-dark); background: transparent; border-bottom-color: var(--teal); }
.tracker-button-label { font-size: 13px; font-weight: 550; }
.month-controls { border: 0; border-radius: 0; padding: 0; gap: 8px; }
.month-title { font-size: 16px; }
.month-picker-shell { min-width: 150px; }
.month-nav-button { width: 36px; height: 40px; min-height: 40px; background: var(--warm-gray); border-radius: 6px; }
.month-today-button { min-height: 40px; font-size: 12px; }
.student-home-metrics { gap: 24px; padding-bottom: 26px; border-bottom: 1px solid var(--stroke); }
.student-metric-card, .student-metric-card.safe, .student-metric-card.risk, .student-metric-card.neutral { border: 0; border-radius: 0; padding: 0 24px 0 0; background: none; border-right: 1px solid var(--stroke); }
.student-metric-card:last-child { border-right: 0; padding-right: 0; }
.student-metric-topline { display: grid; gap: 6px; }
.student-metric-topline > span:first-child { font-weight: 500; font-size: 13px; }
.student-metric-status { font-weight: 400; font-size: 12px; }
.student-metric-value { font-size: 32px; font-weight: 550; margin: 18px 0; }
.student-metric-progress { height: 4px; margin-bottom: 14px; }
.student-metric-foot { font-size: 12px; flex-wrap: wrap; gap: 4px 10px; }
.student-subject-section { padding: 0; }
.student-subject-heading { margin-bottom: 18px; }
.subject-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.subject-mini-card { background: #fff; border-color: var(--stroke); padding: 20px; }
.subject-mini-card:hover { box-shadow: none; }
.subject-mini-card h3 { font-size: 14px; white-space: normal; overflow: visible; font-weight: 600; }
.subject-card-heading { align-items: flex-start; }
.subject-card-status { font-size: 10px; font-weight: 500; text-transform: none; }
.subject-mini-row { margin-top: 14px; padding-top: 14px; }
.subject-mini-head strong { font-size: 18px; font-weight: 550; }
.subject-mini-row .subject-compact-metric { font-size: 12px; white-space: normal; flex-wrap: wrap; }
.subject-mini-row small { font-size: 12px; }
.snapshot-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.snapshot-metric-grid .subject-mini-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.snapshot-panel + .snapshot-panel { padding-top: 32px; border-top: 1px solid var(--stroke); margin-top: 32px; }
.calibration-round-card { border: 0; border-top: 1px solid var(--stroke); border-radius: 0; padding: 24px 0; background: transparent; }
.calibration-round-card > summary, #calibration-assessment-editor > summary { display: flex; align-items: center; gap: 16px; cursor: pointer; list-style: none; min-height: 48px; }
.calibration-round-card > summary::-webkit-details-marker, #calibration-assessment-editor > summary::-webkit-details-marker { display: none; }
.calibration-round-card > summary > div { flex: 1; min-width: 0; }
.calibration-round-card > summary svg, #calibration-assessment-editor > summary svg { width: 20px; height: 20px; flex-shrink: 0; }
.calibration-round-card[open] > summary > svg, #calibration-assessment-editor[open] > summary > svg:last-child { transform: rotate(180deg); }
.calibration-round-body { padding-top: 24px; }
.calibration-round-head h3 { font-size: 16px; overflow-wrap: anywhere; }
.calibration-round-chip { white-space: nowrap; }
#batch-control-assessments-host .calibration-admin-layout { display: block; }
#calibration-assessment-editor { border: 1px solid var(--stroke); border-radius: 6px; padding: 16px; margin: 20px 0 12px; }
#calibration-assessment-editor summary strong { flex: 1; }
#calibration-assessment-editor .calibration-admin-form { padding-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.calibration-admin-actions { grid-column: 1 / -1; }
.calibration-admin-card { border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; padding: 20px 0; background: transparent; }
.calibration-admin-card h3 { font-size: 16px; overflow-wrap: anywhere; }
.calibration-admin-card-actions button { width: 44px; height: 44px; padding: 10px; }
.calibration-admin-card-actions svg { width: 18px; height: 18px; }
.calibration-metric-input input { min-height: 44px; max-width: 110px; }
@media (max-width: 600px) {
  #calibration-assessment-editor .calibration-admin-form { grid-template-columns: minmax(0, 1fr); }
  .calibration-round-card > summary { display: grid; grid-template-columns: 1fr 20px; gap: 10px; }
  .calibration-round-head > div { grid-column: 1 / -1; }
  .calibration-round-head > .calibration-round-chip { justify-self: start; }
  .calibration-round-card .calibration-metric-row { display: grid; grid-template-columns: minmax(0, 1fr) 88px; grid-template-areas: "name input" "conducted input" "attended input"; gap: 8px 16px; }
  .calibration-metric-name { grid-area: name; }
  .calibration-metric-row > .calibration-metric-stat:nth-child(2) { grid-area: conducted; }
  .calibration-metric-row > .calibration-metric-stat:nth-child(4) { grid-area: attended; }
  .calibration-metric-row > .calibration-metric-input { grid-area: input; align-self: center; }
  .calibration-metric-stat:not(.calibration-metric-input) { display: flex; gap: 8px; align-items: baseline; }
  .calibration-metric-stat:not(.calibration-metric-input) label { font-size: 12px; text-transform: none; }
  .calibration-admin-card-top { align-items: flex-start; }
  .calibration-admin-card-actions { flex-shrink: 0; }
}
.calibration-metric-row { border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; background: transparent; padding: 16px 0; }
.calibration-metric-table { gap: 0; }
.student-track-picker { background: #f8f7f6; border: 0; border-left: 2px solid #adc4c2; border-radius: 0; padding: 18px 20px; }
.student-track-picker h2 { font-size: 16px; }
.student-track-picker-copy { font-size: 13px; line-height: 1.6; }
.student-track-picker .section-kicker { display: none; }
.student-track-picker-state { text-transform: none; font-size: 11px; letter-spacing: 0; }
.view-panel input, .view-panel select, .view-panel textarea { border-radius: 6px; min-height: 40px; font-size: 14px; box-shadow: none; }
.view-panel textarea { min-height: 100px; }
.view-panel .primary-button { border-radius: 6px; background: var(--teal); box-shadow: none; }
.view-panel .ghost-button { border-radius: 6px; box-shadow: none; }
.view-panel .icon-tool { width: 44px; min-width: 44px; height: 44px; padding: 10px; display: inline-flex; align-items: center; justify-content: center; }
.view-panel .content-grid { gap: 32px; }
.view-panel .section-heading > div > .section-kicker { display: none; }
.prostho-metric-grid { gap: 0; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--stroke); }
.prostho-metric-card { background: transparent; border: 0; border-right: 1px solid var(--stroke); border-radius: 0; padding: 0 20px; gap: 12px; }
.prostho-metric-card:first-child { padding-left: 0; }
.prostho-metric-card:last-child { border-right: 0; }
.prostho-metric-card span { font-size: 12px; letter-spacing: 0; text-transform: none; font-weight: 400; }
.prostho-metric-card strong { font-weight: 550; font-size: 30px; }
.prostho-dashboard-grid { gap: 36px; }
.prostho-widget-head h2 { font-size: 17px; font-weight: 600; margin: 0 0 20px; }
.prostho-list { gap: 0; }
.prostho-list-item { border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; padding: 18px 0; background: transparent; }
.prostho-list-item strong { font-size: 14px; font-weight: 550; }
.prostho-list-item span { font-size: 12px; line-height: 1.6; margin-top: 6px; }
.settings-layout { gap: 32px; }
.settings-group { border-radius: 0; border: 0; border-top: 1px solid var(--stroke); padding: 24px 0; background: transparent; }
.settings-group-head h3 { font-size: 17px; font-weight: 600; }
.settings-group-head p, .small-note { color: var(--text-muted); font-size: 13px; }
.syllabus-release-state.empty-day { background: #f8fafa; border: 0; padding: 56px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; border-radius: 0; }
.syllabus-release-state .lucide { width: 36px; height: 36px; margin-bottom: 12px; color: #7e766a; }
.syllabus-release-state h2 { margin: 0; font-size: 20px; font-weight: 550; }
.syllabus-release-state span { max-width: 42ch; font-size: 14px; line-height: 1.6; }
.owner-console-tabs, .batch-control-tabs { border-radius: 6px; }
.owner-console-panel > .section-heading, .batch-control-panel > .section-heading { padding-bottom: 12px; }
.owner-console-panel > .section-heading > div, .batch-control-panel > .section-heading > div { display: none; }
.owner-console-panel > .section-heading, .batch-control-panel > .section-heading { display: none; }
.owner-console-tabs, .batch-control-sections { display: flex; flex-wrap: wrap; overflow: visible; gap: 4px 16px; padding: 0; border: 0; border-bottom: 1px solid var(--stroke); background: transparent; border-radius: 0; }
.owner-console-tabs button, .batch-control-sections button { min-height: 44px; padding: 8px 2px; border-radius: 0; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--text-muted); font-size: 13px; font-weight: 500; }
.owner-console-tabs button.active, .batch-control-sections button.active { border-bottom-color: var(--teal); background: transparent; color: var(--teal-dark); box-shadow: none; }
.batch-control-overview { background: transparent; }
.calendar-panel { min-width: 0; }
.detail-panel { border-left: 1px solid var(--stroke) !important; padding-left: 28px !important; }
.quote-footer { display: none !important; }

@media (min-width: 1000px) {
  #app-root { margin-left: var(--workspace-rail); }
  .app-topbar { left: var(--workspace-rail); }
  .app-topbar-brand, .app-topbar-divider, .sidebar-toggle-button { display: none; }
  #app-root .app-sidebar, #app-root.sidebar-collapsed .app-sidebar { top: 0; transform: none; visibility: visible; pointer-events: auto; }
  #app-root .sidebar-backdrop { display: none !important; }
}
@media (max-width: 1199px) {
  .view-stack { padding: 28px 28px 64px; }
  .home-workspace-list { grid-template-columns: 1fr; gap: 0; }
  .home-module-link { border: 0; border-bottom: 1px solid var(--stroke); border-radius: 0; padding: 18px 0; min-height: 82px; }
}
@media (max-width: 999px) {
  .app-sidebar { width: min(300px, 88vw); padding-top: 24px; bottom: calc(68px + env(safe-area-inset-bottom)); }
  .app-topbar-inner { padding: 8px 20px; gap: 12px; }
  .app-topbar-brand { display: inline-flex; }
  .app-topbar-brand > span:last-child { display: inline; }
  .app-topbar-title, .app-topbar-divider { display: none; }
  .view-stack { padding-bottom: 108px; }
  .mobile-primary-nav { position: fixed; z-index: 1400; bottom: 0; left: 0; right: 0; display: flex; align-items: stretch; justify-content: space-around; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); border-top: 1px solid var(--stroke); background: #fff; min-height: 68px; }
  .mobile-primary-nav button { display: flex; flex: 1; flex-direction: column; gap: 5px; align-items: center; justify-content: center; min-height: 54px; min-width: 0; padding: 6px 2px; color: var(--text-muted); border: 0; border-radius: 6px; background: transparent; font-size: 11px; cursor: pointer; }
  .mobile-primary-nav button.active { color: var(--teal-dark); background: #eef5f4; }
  .mobile-primary-nav button.active span { font-weight: 650; }
  .notification-panel { max-height: calc(100dvh - 160px); overflow-y: auto; }
}
@media (max-width: 680px) {
  .view-stack { padding: 24px 20px 100px; gap: 20px; }
  .app-topbar-inner { gap: 8px; padding-inline: 12px; flex-wrap: wrap; }
  .app-topbar-brand { font-size: 14px; gap: 7px; }
  .app-brand-mark { width: 27px; height: 27px; }
  .student-home-header { display: block; padding: 4px 0 24px; }
  .student-home-intro h1 { font-size: 28px; line-height: 1.25; }
  .student-home-intro > p:last-child { font-size: 12px; }
  .student-home-period { display: flex; align-items: baseline; flex-wrap: wrap; padding: 0; border: 0; gap: 8px; margin-top: 20px; }
  .student-home-period .student-period-label { display: none; }
  .student-home-period strong { font-size: 13px; }
  .student-home-period small { font-size: 12px; }
  .student-dashboard-shell { gap: 24px; }
  .student-home-main-grid { grid-template-columns: 1fr; gap: 28px; padding-bottom: 24px; }
  .student-focus-card { padding: 24px 0 0 !important; border-left: 0 !important; border-top: 1px solid var(--stroke) !important; }
  .dashboard-surface-heading { margin-bottom: 10px; }
  .student-empty-state.compact { padding: 20px 0; min-height: 104px; }
  .student-today-row { grid-template-columns: 54px 8px minmax(0, 1fr); gap: 8px; }
  .student-today-status { grid-column: 3; justify-self: start; }
  .student-today-details strong { font-size: 13px; }
  .student-today-time { font-size: 11px; }
  .home-module-link { grid-template-columns: 40px minmax(0, 1fr) 18px; }
  .workspace-page-heading h1 { font-size: 25px; }
  .workspace-page-heading p { font-size: 12px; }
  .tracker-tab-toggle { gap: 16px; }
  .tracker-tab-toggle .tracker-icon-button { flex: 1; gap: 5px; }
  .tracker-button-label { font-size: 12px; }
  .tracker-tab-toggle .tracker-icon-button svg { width: 16px; height: 16px; }
  .student-home-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; gap: 12px; }
  .student-metric-card { min-width: 0; padding-right: 12px; }
  .student-metric-topline { min-height: 62px; align-content: start; }
  .student-metric-topline > span:first-child { font-size: 12px; }
  .student-metric-status { font-size: 11px; line-height: 1.4; }
  .student-metric-value { font-size: 25px; margin: 12px 0; }
  .student-metric-foot { font-size: 11px; }
  .student-metric-foot span { width: 100%; }
  .subject-dashboard-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .snapshot-metric-grid, .snapshot-metric-grid .subject-mini-rows { grid-template-columns: minmax(0, 1fr); }
  .subject-mini-card { padding: 18px; }
  .student-track-picker { padding: 16px; }
  .student-track-picker-heading { align-items: flex-start; flex-wrap: wrap; }
  .detail-panel { border-left: 0 !important; border-top: 1px solid var(--stroke) !important; padding: 24px 0 0 !important; }
  .view-panel .content-grid { grid-template-columns: minmax(0, 1fr); }
  .prostho-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
  .prostho-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 12px; }
  .prostho-metric-card { padding: 0; border: 0; }
  .academic-period-control, .academic-track-control { max-width: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
