/* Component corrections only: the global font scale remains in styles.css. */
#staffNotificationCount{position:absolute;top:-8px;right:-8px;min-width:24px;justify-content:center;padding:3px 6px}
#staffNotificationCount[hidden]{display:none}
#staffProposalForm{display:grid;gap:16px}
#staffProposalForm label{display:grid;gap:8px}
#staffProposalForm input,#staffProposalForm select,#staffProposalForm textarea,#requestAdminNote{font:inherit;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}
.brand small,.sidebar-foot small,.nav-group,.eyebrow,.dashboard-kicker,
.profile-copy small,.global-search::after{font-size:14px}
.profile-copy strong,.avatar{font-size:16px}
.global-results b{font-size:16px}
.global-results small,.global-results em,.global-empty{font-size:15px}
.global-results{top:calc(100% + 8px);max-height:60vh;overflow:auto}
.global-results em{max-width:none;white-space:normal;overflow:visible}
.topbar{height:auto;min-height:96px;flex-wrap:wrap}
.topbar-actions{flex-wrap:wrap;gap:10px;min-width:0}
.global-search{min-width:220px}
.page-heading{min-width:0}
.profile-copy{display:block;max-width:220px;white-space:normal}
.topbar h1,.dashboard-intro h2{font-size:36px}
.access-brand h1{font-size:40px}
.access-header-brand strong,.access-header-security strong{font-size:16px}
.access-header-brand small,.access-header-security small,.login-error{font-size:14px}
.access-header{height:auto;min-height:76px;padding-block:14px;gap:16px;flex-wrap:wrap}
.viewer-preview-button,.viewer-preview-banner button,.back-button{font-size:15px;min-height:44px;white-space:normal}
.viewer-preview-banner strong{font-size:16px}
.viewer-preview-banner small{font-size:15px}
.data-status strong,.data-status small,.page-dashboard .dashboard-kicker{font-size:14px}
.page-dashboard .dashboard-intro p{font-size:18px}
.page-dashboard .dashboard-kpis .metric-label{font-size:17px}
.page-dashboard .dashboard-kpis .metric-note,.status-card small,.page-dashboard .status-card small{font-size:15px}
.page-dashboard .status-card>div>span{font-size:16px}
.page-dashboard .panel h2,.dashboard-section-head h2{font-size:24px;line-height:1.3}
.page-dashboard .panel-subtitle,.dashboard-section-head p{font-size:15px}
.panel-link,.page-dashboard .panel-link,.dashboard-section-head button{font-size:15px;white-space:nowrap}
.page-dashboard .donut-legend span,.page-dashboard .donut-legend strong,.donut-chart span,
.page-dashboard .donut-chart span,.chart-legend,.bar-label{font-size:14px}
.page-dashboard .exam-type,.page-dashboard .exam-schedule strong,.page-dashboard .exam-schedule time,
.page-dashboard .deadline-bucket span,.page-dashboard .deadline-bucket strong,.page-dashboard .deadline-bucket i,
.page-dashboard .attention-item>span:not(.attention-icon),.page-dashboard .attention-item strong{font-size:15px}
.page-dashboard .dashboard-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.panel-header{flex-wrap:wrap;align-items:flex-start}
.exam-schedule{display:flex;flex-wrap:wrap;gap:12px;height:auto}
.exam-schedule time,.viewer-list time,.upcoming-inline span{white-space:nowrap}
.deadline-bucket{height:auto;min-height:68px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}
.deadline-bucket i{grid-column:2 / -1}
.donut-layout{display:flex;flex-wrap:wrap;gap:20px}
.donut-legend{flex:1;min-width:210px}
.activity-head,.activity-row,.activity-row small,.activity-row time,.activity-row i{font-size:15px}
.activity-row{height:auto;min-height:54px;gap:14px}
.activity-row>*{min-width:0;white-space:normal;overflow:visible;overflow-wrap:break-word}
.activity-empty strong,.activity-empty small,.empty,.professional-empty-row strong,.professional-empty-row span{font-size:15px;line-height:1.5}
.viewer-list>div,.viewer-list small,.viewer-rank-list button{font-size:15px;line-height:1.5}
.viewer-list>div{flex-wrap:wrap;padding:14px 0}
.viewer-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.module-metrics .metric-value{font-size:32px}
.module-metrics .metric{min-height:128px;padding:20px}
.list-row b,.attention-card strong,.missing-summary strong{font-size:17px}
.list-row small,.date-box,.muted,.compact-copy,.missing-summary p,.attention-card small,
.upcoming-strip small,.upcoming-inline span,.quick-panel small,.quick-panel>div>span{font-size:15px}
.upcoming-inline b{font-size:16px;white-space:normal;overflow:visible}
.upcoming-inline{justify-content:flex-start;min-width:0;flex:1}
.upcoming-inline button{min-width:210px;flex-shrink:0}
.missing-summary button,.missing-list span,.alert-pill,.overall-badge{font-size:14px}
.missing-list span{padding:6px 10px;margin:4px}
.table-wrap,.permission-table-wrap{max-width:100%;overflow-x:auto}
.table-wrap table,.students-workspace .students-table{table-layout:auto;min-width:900px}
.table-wrap th,.table-wrap td,.compact-table th,.compact-table td,
.permission-table th,.permission-table td{font-size:16px;word-break:normal;overflow-wrap:normal;white-space:nowrap;height:auto;min-width:96px;padding:14px 16px}
.table-wrap td.truncate{max-width:none;overflow:visible;text-overflow:clip}
.table-wrap .student-name,.table-wrap .col-school,.table-wrap .missing-list{white-space:normal;min-width:200px;overflow:visible;word-break:normal}
.table-wrap .col-group,.table-wrap .col-date{min-width:140px}
.table-wrap .col-money{min-width:112px}
.table-wrap .col-exam-result{min-width:165px}
.badge,.table-action{font-size:14px;white-space:nowrap;overflow:visible;max-width:none;flex-shrink:0}
.students-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:20px}
.preview-panel-title,.student-preview-head p,.student-preview-section h4{font-size:14px}
.preview-panel-title{height:auto;min-height:44px;padding:12px}
.student-preview-head{grid-template-columns:40px minmax(0,1fr);row-gap:12px}
.student-preview-head>.badge{grid-column:1 / -1;justify-self:start}
.student-preview-head h3{font-size:18px;white-space:normal;overflow:visible}
.student-preview-section>.detail-field{grid-template-columns:minmax(0,1fr);gap:4px;padding:8px 0}
.student-preview-section>.detail-field span,.preview-payment-grid span{font-size:14px}
.student-preview-section>.detail-field strong,.preview-payment-grid strong{font-size:16px;text-align:left;white-space:normal;overflow:visible}
.preview-payment-grid{grid-template-columns:1fr}
.student-preview-empty strong,.student-preview-empty span,.student-preview-actions button{font-size:15px}
.detail-card h3,.form-section-title h3,.setting-card h3,.settings-section h3,.payment-method-panel h3{font-size:20px;line-height:1.4}
.detail-field span,.field-hint,.field-error,.readonly-field small,.form-section-title small,
.calculation-preview span,.confirm-check,.operation-banner small,.modal-kicker,.modal-safety{font-size:14px;line-height:1.5}
.detail-field strong{font-size:16px;white-space:normal;overflow:visible;overflow-wrap:break-word}
.operation-banner strong,.calculation-preview strong,.save-toast,.payment-summary span{font-size:16px}
.student-hero>div>span,.signal-card>span,.signal-card>small,.signal-card ol,.legacy-record span,.legacy-record small,.timeline-empty small{font-size:15px}
.signal-card>strong,.legacy-record strong{font-size:18px}
.form-section-title{flex-wrap:wrap}
.rank-list>div,.rank-list strong,.report-mini-grid span,.payment-method-bars>div,
.payment-method-bars strong,.payment-method-panel p,.collection-rate span{font-size:15px;line-height:1.5}
.rank-list>div,.payment-method-bars>div{gap:16px}
.rank-list strong,.payment-method-bars strong{white-space:nowrap}
.payment-method-panel{display:flex;flex-wrap:wrap;gap:20px}
.payment-method-bars{flex:1;min-width:260px}
.settings-section p,.setting-card p,.setting-card strong,.activation-panel p{font-size:15px;line-height:1.5;min-height:0}
.settings-section button,.profile-panel-links button{font-size:15px;min-height:44px}
.settings-section{grid-template-columns:38px minmax(0,1fr);padding:18px;gap:14px}
.settings-section button{grid-column:2;justify-self:start}
.activation-panel h3,.schema-panel h3{font-size:20px}
.proposal-banner strong,.schema-panel p,.proposal-banner p,.schema-chips span{font-size:15px}
.permission-table code{font-size:14px;white-space:normal;overflow-wrap:break-word}
.help-grid strong,.notification-list strong,.profile-panel-card strong{font-size:18px}
.help-grid p,.notification-list small,.notification-list b,.profile-panel-card p,.profile-panel-card small{font-size:15px;line-height:1.5}
.modal-heading h2{font-size:24px}
.change-row>span,.change-row>strong,.change-row>div{font-size:15px;line-height:1.5}
.change-row>div{flex-wrap:wrap}
.change-row del{white-space:normal;max-width:none;overflow:visible}
.modal-actions{flex-wrap:wrap}
.utility-panel{width:min(720px,calc(100vw - 24px));overflow:auto}
.profile-panel-card{flex-wrap:wrap;gap:16px}
@media(max-width:1100px){
  .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .app-shell,body.sidebar-collapsed .app-shell{grid-template-columns:minmax(0,1fr)}
  .sidebar{left:-340px;width:300px}
  .sidebar.open{left:0}
  .sidebar-toggle-button{display:none}
  .topbar .profile-button{display:flex}
  .topbar .avatar{display:grid;flex-shrink:0}
}
@media(max-width:700px){
  .page-dashboard .dashboard-operations-grid,.viewer-dashboard-grid,.detail-grid{grid-template-columns:1fr}
  .topbar h1,.dashboard-intro h2{font-size:32px}
  .topbar-actions{max-width:100%}
  .activity-head,.activity-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viewer-list time{max-width:100%}
  .global-search{min-width:0}
  .payment-method-bars{min-width:0;width:100%;flex-basis:100%}
}
