/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
 * Warm enterprise workbench · BrightEd orange / charcoal / ivory.
 * Presentation layer shared by every existing role and workflow. */
body { font-size: var(--text-md); line-height: 1.5; }
h1,h2,h3,h4 { font-family: var(--font-display); letter-spacing: -.035em; color: var(--color-ink); }
h2 { font-size: 1.5rem; } h3 { font-size: 1.05rem; font-weight: 750; }
button,a,input,select,textarea { -webkit-tap-highlight-color: var(--color-clear); }
button,a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .55; }
:where(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.button { min-height: 44px; border-radius: var(--radius-sm); font-size: var(--text-sm); font-weight: 650; padding: 10px 17px; white-space: nowrap; gap: 8px; transition: background var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-fast); }
.button-primary { background: var(--color-accent); color: var(--color-panel); box-shadow: 0 3px 8px var(--color-shadow); }
.button-secondary { background: var(--color-panel); border: 1px solid var(--color-line); color: var(--color-ink); }
.button-ghost { background: var(--color-clear); border: 1px solid var(--color-line); color: var(--color-ink); }
.button:hover { transform: translateY(-1px); box-shadow: var(--shadow-panel); }
.ui-icon { flex: 0 0 20px; vertical-align: middle; }
.skip-link { position: fixed; top: -80px; left: 16px; padding: 12px; background: var(--color-panel); z-index: 200; }
.skip-link:focus { top: 12px; }
.app-shell { padding: 0; }
.admin-workspace { width: 100%; max-width: none; margin: 0; padding: 0; }
.admin-section-head { min-height: 88px; padding: 18px 36px 18px 276px; margin: 0; background: var(--color-panel); border-bottom: 1px solid var(--color-line); }
.admin-section-head .eyebrow { margin: 0 0 2px; font-size: 10px; letter-spacing: .12em; }
.admin-section-head h2 { font-size: 18px; margin: 0; }
.section-title-row { gap: 14px; }
.sidebar-toggle { width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--color-panel); color: var(--color-ink-muted); border: 1px solid var(--color-line); }
.section-actions { gap: 20px; }
.user-menu summary { padding: 0; border: 0; background: var(--color-clear); box-shadow: none; gap: 10px; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--color-growth-soft); color: var(--color-growth-strong); font-size: 12px; }
.user-chip-copy strong { font-size: 13px; font-weight: 650; }
.user-chip-copy small { font-size: 11px; }
.profile-menu { z-index: 40; padding: 20px; border-radius: var(--radius-lg); box-shadow: var(--shadow-lift); }
.admin-layout,.student-layout,.staff-layout,.admin-console-layout { grid-template-columns: 240px minmax(0,1fr); gap: 0; }
.admin-layout > .admin-sidebar { position: sticky; top: 0; margin-top: -88px; min-height: 100dvh; padding: 30px 18px; border: 0; border-radius: 0; background: var(--color-rail); color: var(--color-panel); box-shadow: none; display: flex; flex-direction: column; gap: 32px; }
.admin-sidebar-brand { border: 0; padding: 0 8px 14px; }
.brand-mark { background: var(--color-accent); border-radius: 11px 3px 11px 3px; color: var(--color-panel); width: 37px; height: 39px; font-family: var(--font-display); font-size: 24px; letter-spacing: -.08em; }
.admin-console-layout .admin-sidebar-brand strong,.admin-sidebar-brand strong { color: var(--color-panel); font-size: 23px; letter-spacing: -.06em; }
.admin-console-layout .admin-sidebar-brand small,.admin-sidebar-brand small { color: var(--color-rail-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .16em; margin-top: 2px; }
.dashboard-sidebar-tabs { display: flex; flex-direction: column; gap: 7px; overflow: visible; }
.admin-console-layout .dashboard-sidebar-tabs .tab-button,.dashboard-sidebar-tabs .tab-button { justify-content: flex-start; gap: 12px; min-height: 45px; padding: 11px 12px; color: var(--color-rail-muted); font-size: 13px; font-weight: 500; border: 0; border-radius: var(--radius-sm); background: var(--color-clear); box-shadow: none; white-space: nowrap; }
.dashboard-sidebar-tabs .tab-button::before { display: none !important; }
.dashboard-sidebar-tabs .tab-button:hover { background: var(--color-rail-active); color: var(--color-panel); }
.dashboard-sidebar-tabs .tab-button.is-active { color: var(--color-panel); background: var(--color-rail-active); box-shadow: inset 3px 0 var(--color-accent); }
.admin-console-layout .dashboard-sidebar-tabs .tab-button strong,.dashboard-sidebar-tabs .tab-button strong { margin-left: auto; background: var(--color-clear); color: inherit; font-size: 11px; font-weight: 450; padding: 0; }
.admin-main { padding: 32px 36px; }
.admin-main-card { background: var(--color-clear); }
.eyebrow { font-size: 10px; letter-spacing: .14em; font-weight: 650; }
.workspace-card { background: var(--color-panel); border: 1px solid var(--color-line); border-radius: var(--radius-lg); box-shadow: var(--shadow-panel); padding: 24px; }
.stats-grid { gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.stat-card { background: var(--color-panel); padding: 20px; border-radius: var(--radius-md); box-shadow: var(--shadow-panel); }
.stat-card strong { color: var(--color-ink); font-size: 30px; font-weight: 750; }
.stat-card span { font-size: 12px; } .stat-card small { font-size: 11px; }
.admin-workspace[data-admin-tab="overview"] .admin-main-card > .stats-grid,
.admin-workspace[data-admin-tab="overview"] .admin-section { display: none; }
.admin-workspace[data-admin-tab="overview"] .admin-main-card > .admin-grid { margin: 0; gap: 0; }
.overview-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin: 0 0 28px; }
.overview-heading h1 { font-size: clamp(28px,2.6vw,40px); line-height: 1.2; margin: 10px 0 12px; font-weight: 650; }
.overview-heading h1 em,.hero-copy h1 em { font-family: var(--font-editorial); font-weight: 400; }
.overview-heading p:not(.eyebrow) { margin: 0; font-size: 13px; color: var(--color-ink-muted); }
.overview-date { display: flex; gap: 8px; align-items: center; white-space: nowrap; font-size: 11px; color: var(--color-ink-muted); padding-top: 5px; }
.overview-date .ui-icon { width: 15px; height: 15px; }
.executive-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.executive-metric { padding: 20px; border-radius: var(--radius-lg); background: var(--color-panel); box-shadow: var(--shadow-panel); border: 1px solid var(--color-line); transition: transform var(--dur-normal), box-shadow var(--dur-normal); }
.executive-metric:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.executive-metric > div { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12px; color: var(--color-ink-muted); }
.executive-metric > strong { display: block; margin: 18px 0 12px; font-family: var(--font-display); font-size: 34px; font-weight: 650; line-height: 1; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.executive-metric small { display: block; font-size: 11px; color: var(--color-ink-muted); }
.executive-metric.featured { background: var(--color-rail); color: var(--color-panel); border-color: var(--color-rail); }
.executive-metric.featured > div,.executive-metric.featured small { color: var(--color-rail-muted); }
.overview-charts { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(0,1fr); gap: 22px; margin-bottom: 22px; }
.insight-card { background: var(--color-panel); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-panel); min-width: 0; }
.insight-card h3 { margin: 0; font-size: 15px; letter-spacing: -.025em; }
.insight-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.quiet-tag { padding: 6px 10px; background: var(--color-paper); border-radius: var(--radius-sm); font-size: 10px; white-space: nowrap; color: var(--color-ink-muted); }
.chart-total { display: flex; align-items: baseline; gap: 12px; margin-top: 16px; }
.chart-total strong { font-size: 30px; font-weight: 550; letter-spacing: -.05em; }
.chart-total span { font-size: 11px; color: var(--color-ink-muted); }
.enrollment-chart { height: 174px; position: relative; margin-top: 12px; }
.chart-gridlines { position: absolute; inset: 0 0 24px; display: flex; flex-direction: column; justify-content: space-between; color: var(--color-ink-muted); font-size: 9px; }
.chart-gridlines span { border-bottom: 1px dashed var(--color-line); line-height: 0; }
.chart-columns { position: absolute; inset: 0 10px 0 36px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); align-items: end; gap: 20px; }
.chart-column { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; position: relative; padding-top: 20px; }
.chart-column > strong { font-size: 10px; font-weight: 500; margin-bottom: 4px; }
.chart-bar { height: var(--bar-height); max-height: 115px; min-height: 2px; width: 65%; background: var(--color-chart); border-radius: 5px 5px 0 0; }
.chart-bar.current { background: var(--color-accent); }
.chart-column > span { flex-shrink: 0; font-size: 10px; color: var(--color-ink-muted); height: 24px; padding-top: 10px; }
.chart-caption { display: flex; justify-content: space-between; margin-top: 18px; border-top: 1px solid var(--color-line); padding-top: 12px; color: var(--color-ink-muted); font-size: 10px; }
.chart-caption i { display: inline-block; height: 7px; width: 7px; border-radius: 2px; background: var(--color-chart); margin-right: 6px; }
.chart-empty { font-size: 12px; color: var(--color-ink-muted); }
.engagement-donut { width: 160px; height: 160px; border-radius: 50%; margin: 22px auto 20px; display: grid; place-items: center; background: conic-gradient(var(--color-growth) var(--percent),var(--color-paper-soft) 0); transform: rotate(-90deg); }
.engagement-donut > div { background: var(--color-panel); width: 134px; height: 134px; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; transform: rotate(90deg); }
.engagement-donut strong { font-family: var(--font-display); font-size: 34px; letter-spacing: -.05em; font-weight: 600; }
.engagement-donut span { font-size: 11px; color: var(--color-ink-muted); }
.engagement-legend { display: grid; gap: 8px; }
.engagement-legend > span { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--color-ink-muted); }
.engagement-legend strong { margin-left: auto; color: var(--color-ink); }
.engagement-legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--color-growth); }
.engagement-legend > span:last-child i { background: var(--color-chart); }
.insight-footnote { font-size: 10px; color: var(--color-ink-muted); margin: 14px 0 0; }
.overview-bottom { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(0,1fr); gap: 22px; }
.text-action { min-height: 44px; border: 0; background: var(--color-clear); color: var(--color-accent-strong); font-size: 11px; white-space: nowrap; padding: 0; }
.program-list { margin-top: 16px; }
.program-row { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid var(--color-line); }
.program-number { font-family: var(--font-editorial); font-size: 23px; color: var(--color-ink-muted); }
.program-row > div > strong { display: block; font-size: 12px; font-weight: 550; overflow-wrap: anywhere; }
.program-row > span:last-child { font-size: 10px; color: var(--color-ink-muted); }
.program-row > span:last-child strong { color: var(--color-ink); font-weight: 650; }
.program-track { height: 3px; background: var(--color-paper); margin-top: 7px; width: 80%; }
.program-track i { display: block; height: 100%; background: var(--color-growth); }
.achievement-card { background: var(--color-growth-soft); box-shadow: none; display: flex; flex-direction: column; align-items: flex-start; }
.achievement-number { display: flex; align-items: baseline; gap: 12px; margin: 20px 0 0; font-size: 48px; font-family: var(--font-editorial); line-height: 1; }
.achievement-number span { font-family: var(--font-body); font-size: 12px; }
.achievement-card > p:not(.eyebrow) { font-size: 12px; color: var(--color-ink-muted); margin: 16px 0 22px; }
.achievement-card .button { margin-top: auto; font-size: 11px; }
.overview-footer { display: flex; justify-content: space-between; gap: 12px; padding: 26px 0 0; font-size: 10px; color: var(--color-ink-muted); }
.workspace-message:empty { display: none; }
.workspace-message { font-size: 12px; }
form { gap: 16px; } label { font-size: 13px; font-weight: 550; gap: 7px; }
input,select,textarea { min-height: 44px; background: var(--color-panel); color: var(--color-ink); border: 1px solid var(--color-line); border-radius: var(--radius-sm); font-size: 14px; padding: 10px 12px; }
input:focus,select:focus,textarea:focus { border-color: var(--color-focus); }
input[type="checkbox"],input[type="radio"] { min-height: auto; accent-color: var(--color-accent); }
.card-head p,.muted-copy { font-size: 12px; color: var(--color-ink-muted); }
.member-table thead th,th { background: var(--color-panel-muted); color: var(--color-ink-muted); font-size: 11px; font-weight: 550; padding: 14px 12px; }
.member-table td,td { padding: 16px 12px; font-size: 12px; vertical-align: middle; border-color: var(--color-line); }
.member-table tbody tr:hover { background: var(--color-paper); }
.member-name-cell strong { font-weight: 600; } .member-name-cell span { font-size: 11px; }
.member-badge,.table-pill { font-size: 10px; border-radius: 5px; font-weight: 550; }
.member-actions .mini-action,.icon-action { min-height: 40px; min-width: 40px; font-size: 12px; border-radius: var(--radius-sm); }
.table-pagination { font-size: 12px; padding-top: 18px; }
.inline-tool-panel,.student-detail-panel { background: var(--color-paper); border: 1px solid var(--color-line); padding: 22px; border-radius: var(--radius-md); }
.report-chart-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.report-chart-card,.report-status-chart,.builder-course-card,.lesson-card,.assessment-card { background: var(--color-panel); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.report-status-chart { grid-column: 1/-1; }
.confirm-dialog { border-radius: var(--radius-lg); background: var(--color-panel); box-shadow: var(--shadow-lift); max-height: 90dvh; overflow: auto; }
.toast { font-size: 13px; background: var(--color-panel); box-shadow: var(--shadow-lift); }
.designed-empty,.workspace-loading,.workspace-error { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 40px 24px; }
.designed-empty strong { font-size: 14px; } .designed-empty p { font-size: 12px; margin: 0; color: var(--color-ink-muted); }
.workspace-loading,.workspace-error { min-height: 65dvh; justify-content: center; }
.workspace-loading h2,.workspace-error h2 { margin: 0; } .workspace-loading p,.workspace-error p { margin: 0; color: var(--color-ink-muted); }
.skeleton-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: min(640px,100%); gap: 16px; margin-top: 20px; }
.skeleton-grid i { height: 130px; border-radius: var(--radius-lg); background: var(--color-line); animation: breathe 1.2s ease-in-out infinite alternate; }
@keyframes breathe { to { opacity: .35; } }
.hero-panel { min-height: 100dvh; padding: 32px 6vw; border: 0; border-radius: 0; background: var(--color-paper); }
.topbar .brand strong { font-size: 24px; letter-spacing: -.06em; }.topbar .brand small { font-size: 10px; }
.hero-grid { grid-template-columns: minmax(0,1.1fr) minmax(300px,.8fr); gap: 9vw; padding: 70px 0; }
.hero-copy h1 { font-size: clamp(46px,5.8vw,82px); font-weight: 650; letter-spacing: -.06em; line-height: 1.05; }
.hero-copy h1 em { color: var(--color-accent); }
.hero-copy p:not(.eyebrow) { font-size: 16px; line-height: 1.8; max-width: 490px; color: var(--color-ink-muted); }
.login-panel { padding: 36px; background: var(--color-panel); border: 1px solid var(--color-line); border-radius: var(--radius-xl); box-shadow: var(--shadow-lift); }
.login-panel h2 { font-size: 25px; line-height: 1.25; }.login-panel form { margin-top: 28px; }.login-panel .panel-note { font-size: 11px; line-height: 1.6; }
.dashboard-panel { padding: 60px 6vw; background: var(--color-panel); }.module-card { background: var(--color-paper); border: 1px solid var(--color-line); padding: 24px; }.module-card p { font-size: 13px; }
.admin-workspace[data-sidebar="collapsed"] .admin-layout,.admin-workspace[data-student-sidebar="collapsed"] .student-layout,.admin-workspace[data-staff-sidebar="collapsed"] .staff-layout { grid-template-columns: 78px minmax(0,1fr); }
.admin-workspace[data-sidebar="collapsed"] .admin-sidebar,.admin-workspace[data-student-sidebar="collapsed"] .student-sidebar,.admin-workspace[data-staff-sidebar="collapsed"] .staff-sidebar { padding: 30px 12px; }
.admin-workspace[data-sidebar="collapsed"] .admin-section-head,.admin-workspace[data-student-sidebar="collapsed"] .admin-section-head,.admin-workspace[data-staff-sidebar="collapsed"] .admin-section-head { padding-left: 110px; }
@media(min-width:1600px) { .admin-main { padding: 40px 4vw; }.executive-metric { padding: 26px; }.enrollment-chart { height: 210px; }.chart-bar { max-height: 150px; } }
@media(max-width:1150px) { .admin-layout,.student-layout,.staff-layout,.admin-console-layout { grid-template-columns: 210px minmax(0,1fr); }.admin-section-head { padding-left: 234px; }.admin-main { padding: 26px 24px; }.executive-metrics { gap: 12px; }.executive-metric { padding: 16px; }.overview-date { display: none; }.overview-charts,.overview-bottom { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }.chart-columns { gap: 10px; }.insight-card { padding: 20px; } }
@media(max-width:900px) { .executive-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.overview-charts,.overview-bottom { grid-template-columns: minmax(0,1fr); }.engagement-insight { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 20px; }.engagement-insight > .eyebrow,.engagement-insight > h3 { grid-column: 1; }.engagement-donut { grid-column: 2; grid-row: 1/5; margin: 0 auto; }.stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.report-chart-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:760px) {
 .admin-section-head { padding: 16px 20px !important; min-height: auto; gap: 16px; }.section-title-row { width: auto; }.section-actions { gap: 12px; }.section-actions .button { flex: 0 0 auto; }.user-menu,.user-menu summary { width: auto; }.user-menu { margin-left: auto; }.user-chip-copy strong { font-size: 12px; }.profile-menu { left: auto; min-width: 230px; }
 .admin-layout,.student-layout,.staff-layout,.admin-console-layout,.admin-workspace[data-sidebar="collapsed"] .admin-layout,.admin-workspace[data-student-sidebar="collapsed"] .student-layout,.admin-workspace[data-staff-sidebar="collapsed"] .staff-layout { display: flex; flex-direction: column; }
 .admin-layout > .admin-sidebar { position: static; margin: 0; padding: 16px; min-height: 0; width: 100%; gap: 16px; }.admin-sidebar-brand { display: none; }.dashboard-sidebar-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-flow: row; gap: 6px; overflow: visible; }.dashboard-sidebar-tabs .tab-button,.admin-console-layout .dashboard-sidebar-tabs .tab-button { min-width: 0; padding: 10px; font-size: 11px; gap: 7px; }.dashboard-sidebar-tabs .tab-button strong { display: none; }
 .admin-workspace[data-sidebar="collapsed"] .admin-sidebar,.admin-workspace[data-student-sidebar="collapsed"] .student-sidebar,.admin-workspace[data-staff-sidebar="collapsed"] .staff-sidebar { display: none; }
 .admin-main { width: 100%; padding: 24px 20px; }.overview-heading h1 { font-size: 32px; }.overview-heading { margin-bottom: 24px; }.executive-metric { padding: 18px; }.executive-metric > strong { font-size: 32px; }.overview-footer { flex-direction: column; gap: 5px; }
 .table-wrap { max-width: calc(100% + 24px); }.filter-bar { grid-template-columns: minmax(0,1fr); }.workspace-card { padding: 20px; }.card-head { gap: 16px; }.card-head h3 { margin: 0; }.section-head { flex-direction: column; }
 input,select,textarea { font-size: 16px; }.hero-panel { padding: 24px; }.hero-grid { grid-template-columns: minmax(0,1fr); gap: 40px; padding: 48px 0 10px; }.hero-copy h1 { font-size: 56px; }.login-panel { padding: 28px; }.topbar { align-items: center; }.top-actions { width: auto; }.top-actions > a:first-child { display: none; }.hero-actions { flex-wrap: wrap; }.dashboard-panel { padding: 40px 24px; }.module-grid { grid-template-columns: minmax(0,1fr); }.report-chart-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.permission-matrix-table { min-width: 600px; }.certificate-settings-grid,.settings-grid,.settings-role-grid,.settings-summary-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:420px) {
 .admin-main { padding: 22px 14px; }.dashboard-sidebar-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-section-head { padding: 14px !important; }.executive-metrics { gap: 10px; }.executive-metric { padding: 14px; }.executive-metric > div { font-size: 11px; }.executive-metric small { font-size: 10px; }.executive-metric .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }.overview-heading h1 { font-size: 28px; }.insight-card { padding: 18px; }.insight-heading { align-items: flex-start; flex-wrap: wrap; }.engagement-insight { display: block; }.engagement-donut { margin: 22px auto; }.chart-total { flex-wrap: wrap; gap: 4px 10px; }.stats-grid { gap: 10px; }.stat-card { padding: 16px; }.hero-copy h1 { font-size: 43px; }.hero-panel { padding: 20px; }.login-panel { padding: 22px; }.hero-actions { flex-direction: column; }.user-chip-copy { max-width: 125px; }.user-chip-copy strong { overflow-wrap: anywhere; }.section-actions { gap: 8px; }.section-actions .button { padding: 10px; }.section-actions .button .ui-icon { display: none; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
/* Keep bar lengths aligned exactly with the displayed zero and maximum ticks. */
.chart-column { padding-top: 0; }
.chart-column > strong { position: absolute; bottom: calc(24px + (100% - 24px) * var(--bar-ratio) + 4px); margin: 0; }
.chart-bar { height: calc((100% - 24px) * var(--bar-ratio)); max-height: none; flex-shrink: 0; }
@media(min-width:1250px) { .admin-main-card > .stats-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }.admin-main-card > .stats-grid .stat-card { padding: 18px 16px; }.admin-main-card > .stats-grid .stat-card strong { font-size: 26px; } }
.member-actions .mini-action .ui-icon { width: 13px; height: 13px; }
.table-pagination .mini-action { min-width: 40px; min-height: 40px; border: 1px solid var(--color-line); background: var(--color-panel); border-radius: var(--radius-sm); }
@media(max-width:760px) { .admin-section-head { width: 100%; }.admin-section-head .section-actions { flex-wrap: nowrap; align-items: center; }.admin-section-head .section-actions .button { flex: 0 0 auto; }.admin-section-head .user-menu { flex: 1; }.admin-section-head .user-menu summary { justify-content: flex-end; gap: 8px; }.admin-section-head .user-chip-copy { text-align: left; }.admin-section-head .avatar { flex-shrink: 0; } }
.member-actions .mini-action,.icon-action,.table-pagination .mini-action { min-height: 44px; min-width: 44px; }
/* Release legacy mobile width caps and keep the account menu within the viewport. */
@media(max-width:760px) {
 .admin-section-head,.section-head,.hero-copy,.hero-copy p:not(.eyebrow),.hero-actions,.dashboard-panel,.login-panel { max-width: 100%; }
 .admin-section-head .section-actions .button { width: auto; }
 .admin-section-head .user-menu,.admin-section-head .user-menu summary { min-width: 0; }
 .admin-section-head .profile-menu { width: min(260px,calc(100vw - 28px)); min-width: 0; right: 0; left: auto; }
 .admin-section-head .profile-menu .button { width: 100%; }
}
/* A persistent, compact language selector shared by sign-in and every role. */
.language-control { display: flex; flex-direction: row; align-items: center; gap: 7px; white-space: nowrap; font-size: 11px; color: var(--color-ink-muted); }
.language-control select { width: auto; min-width: 98px; min-height: 40px; padding: 8px 26px 8px 10px; font-size: 12px; border-radius: var(--radius-sm); background: var(--color-panel); }
@media(max-width:1000px) { .section-actions { gap: 12px; }.language-control > span { display: none; } }
@media(max-width:760px) {
 .admin-section-head .section-actions { flex-wrap: wrap; }
 .language-control select { min-height: 44px; font-size: 14px; }
 .topbar { flex-direction: row; flex-wrap: wrap; }.top-actions { flex-wrap: wrap; }
 .admin-section-head .section-actions > .language-control { flex: 0 0 auto; }
 .admin-section-head .section-actions > .user-menu { flex: 1 0 120px; }
 .admin-section-head .user-chip-copy { max-width: 115px; }
}
@media(max-width:420px) {
 .admin-section-head .section-actions > .user-menu { flex-basis: 100%; }
 .admin-section-head .section-actions > .user-menu summary { justify-content: flex-start; }
 .admin-section-head .section-actions > .user-menu .user-chip-copy { max-width: none; }
 .admin-section-head .profile-menu { left: 0; right: auto; }
 .top-actions > a.button { display: none; }
}
/* A focused three-step material flow, with secondary controls progressively disclosed. */
.material-upload{padding:clamp(20px,3vw,36px);margin:20px 0;border:1px solid #e4e2d9;border-radius:20px;background:#fff;box-shadow:0 12px 30px #242b2410}
.material-heading,.material-actions,.material-recap{display:flex;align-items:center;justify-content:space-between;gap:16px}.material-heading h3{margin:4px 0 20px}.material-limit{font-size:12px;color:#697068;white-space:nowrap}
.material-steps{display:flex;list-style:none;padding:0;margin:8px 0 30px;gap:18px}.material-steps li{flex:1;display:flex;align-items:center;gap:9px;padding-bottom:14px;border-bottom:2px solid #e7e8e2;color:#72766e;font-size:14px}.material-steps li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0f0e9;flex-shrink:0}.material-steps .current{color:#ad4a22;border-color:#c65b2c;font-weight:700}.material-steps .current span{background:#c65b2c;color:white}.material-steps .complete{color:#446e4a;border-color:#7e9e79}
.material-upload form{display:block!important;padding:0!important;border:0!important;background:transparent!important}.material-upload form>input{display:block;width:100%;margin:10px 0 22px}.material-types{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.material-types legend{margin-bottom:14px;font-weight:600}.material-types label{position:relative;cursor:pointer}.material-types input{position:absolute;top:16px;left:14px;width:auto!important}.material-types label span{display:flex;flex-direction:column;padding:44px 16px 18px;border:1px solid #dcded5;border-radius:12px;transition:background .16s,border-color .16s}.material-types input:checked+span{border-color:#bc542c;background:#fbf0e8}.material-types input:focus-visible+span{outline:3px solid #c65b2c;outline-offset:3px}.material-types small{color:#6a7068;margin-top:6px}.material-recap{padding:14px 0;overflow-wrap:anywhere}.material-recap span{font-size:12px;color:#6a7068}.material-drop{display:flex!important;flex-direction:column;gap:12px;padding:24px;border:1px dashed #aeb5a8;border-radius:14px;background:#fafbf7}.material-drop input{width:100%;max-width:100%}.material-drop>span{font-size:13px;color:#666e63;overflow-wrap:anywhere}.material-actions{margin-top:24px}.material-error{color:#a52f27}.material-success{padding:20px;background:#f1f6ed;border-radius:12px}.material-advanced>summary{cursor:pointer;padding:16px 0;font-weight:600;color:#5c645b}.material-advanced[open]>summary{margin-bottom:16px}.material-upload [hidden]{display:none!important}
@media(max-width:640px){.material-heading{align-items:flex-start}.material-limit{display:none}.material-types{grid-template-columns:repeat(2,1fr)}.material-steps{gap:8px}.material-steps li{font-size:12px;flex-direction:column;align-items:flex-start}.material-upload{padding:18px}.material-recap{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.material-types label span{transition:none}}
