.admin-create-user-page{max-width:920px;margin:0 auto}.admin-create-user-back-row{margin-bottom:12px}.admin-create-user-back-row a{color:#475569;align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.admin-create-user-back-row a:hover{color:#4338ca}.admin-create-user-heading{margin-bottom:18px}.admin-create-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.admin-create-success>div{flex-direction:column;gap:2px;display:flex}.admin-create-success span{font-size:12px}.admin-create-user-card{padding:0;overflow:hidden}.admin-create-user-section-heading{border-bottom:1px solid #e2e8f0;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.admin-create-user-icon{color:#4f46e5;background:#eef2ff;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.admin-create-user-section-heading h2{color:#0f172a;margin:0 0 3px;font-size:18px}.admin-create-user-section-heading p{color:#64748b;margin:0;font-size:12px}.admin-create-user-grid{grid-template-columns:1fr 1fr;gap:14px;padding:20px;display:grid}.admin-create-user-field{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-create-user-field-wide{grid-column:1/-1}.admin-create-user-field>span{color:#334155;font-size:12px;font-weight:700}.admin-create-user-field input,.admin-create-user-field select{box-sizing:border-box;color:#0f172a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 11px}.admin-create-user-field input:focus,.admin-create-user-field select:focus{border-color:#6366f1;outline:3px solid #6366f11f}.admin-create-user-field input:disabled,.admin-create-user-field select:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.admin-create-user-note{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;margin:0 20px 18px;padding:11px 13px;font-size:12px;line-height:1.5}.admin-create-user-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:9px;padding:15px 20px 18px;display:flex}.admin-create-secondary-button,.admin-create-primary-button{min-height:39px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.admin-create-secondary-button{color:#475569;background:#fff;border:1px solid #cbd5e1}.admin-create-primary-button{color:#fff;background:#4f46e5;border:1px solid #4f46e5}.admin-create-secondary-button:disabled,.admin-create-primary-button:disabled{cursor:not-allowed;opacity:.6}@media (width<=700px){.admin-create-user-grid{grid-template-columns:1fr}.admin-create-user-field-wide{grid-column:auto}.admin-create-user-actions{flex-direction:column-reverse}.admin-create-secondary-button,.admin-create-primary-button{width:100%}}.admin-import-users-page{max-width:1320px}.admin-import-back-row{margin-bottom:12px}.admin-import-back-row a{color:#5f6d80;align-items:center;gap:6px;font-size:.78rem;font-weight:680;text-decoration:none;display:inline-flex}.admin-import-control-card,.admin-import-preview-card,.admin-import-result-card{margin-top:18px;overflow:hidden}.admin-import-control-card{padding:20px}.admin-import-control-heading,.admin-import-preview-heading,.admin-import-result-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.admin-import-control-heading{justify-content:flex-start}.admin-import-control-heading h2,.admin-import-preview-heading h2,.admin-import-result-heading h2{margin:0;font-size:1rem}.admin-import-control-heading p,.admin-import-preview-heading p,.admin-import-result-heading p{color:#667085;margin:4px 0 0;font-size:.76rem}.admin-import-icon{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.admin-import-actions,.admin-import-preview-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.admin-import-preview-actions{justify-content:flex-end;margin-top:0}.admin-import-file-button{cursor:pointer;position:relative}.admin-import-file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.admin-import-file-name{color:#526071;margin:14px 0 0;font-size:.76rem}.admin-import-preview-heading,.admin-import-result-heading{border-bottom:1px solid #e8edf3;padding:18px 20px}.admin-import-table-wrap{overflow-x:auto}.admin-import-table{min-width:900px}.admin-import-table td{vertical-align:top}.admin-import-status{border-radius:999px;align-items:center;max-width:360px;min-height:24px;padding:3px 8px;font-size:.69rem;font-weight:720;line-height:1.35;display:inline-flex}.admin-import-status.success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.admin-import-status.error{color:#b42318;background:#fef2f2;border:1px solid #fecaca}.admin-import-security-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;margin:16px 20px;padding:11px 13px;font-size:.74rem;line-height:1.5}@media (width<=760px){.admin-import-control-heading,.admin-import-preview-heading,.admin-import-result-heading{flex-direction:column;align-items:flex-start}.admin-import-preview-actions,.admin-import-result-heading>button{width:100%}.admin-import-preview-actions>button,.admin-import-result-heading>button,.admin-import-actions>button,.admin-import-actions>label{flex:100%;justify-content:center}}.admin-roles-page{max-width:1240px;margin:0 auto}.admin-role-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:11px 13px;display:flex}.admin-role-layout{grid-template-columns:320px minmax(0,1fr);gap:16px;display:grid}.admin-role-users-panel,.admin-role-main-panel{padding:0;overflow:hidden}.admin-role-panel-heading,.admin-role-section-title{align-items:center;gap:10px;display:flex}.admin-role-panel-heading{border-bottom:1px solid #e2e8f0;padding:16px}.admin-role-panel-heading>div,.admin-role-section-title>div{flex-direction:column;gap:2px;display:flex}.admin-role-panel-heading strong,.admin-role-section-title strong{color:#0f172a}.admin-role-panel-heading span,.admin-role-section-title span{color:#64748b;font-size:12px}.admin-role-user-list{flex-direction:column;max-height:620px;display:flex;overflow-y:auto}.admin-role-user{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px 15px;display:flex}.admin-role-user>div{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-role-user strong{color:#0f172a}.admin-role-user span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-role-user small{color:#64748b;white-space:nowrap}.admin-role-selected-user{border-bottom:1px solid #e2e8f0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px;display:grid}.admin-role-selected-user h2{color:#0f172a;margin:0 0 2px;font-size:20px}.admin-role-selected-user p{color:#64748b;margin:0;font-size:12px}.admin-role-section{border-bottom:1px solid #e2e8f0;padding:18px}.admin-role-section:last-child{border-bottom:0}.admin-role-assignment-list{gap:9px;margin-top:14px;display:grid}.admin-role-assignment{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.admin-role-assignment>div{flex-direction:column;gap:2px;display:flex}.admin-role-assignment strong{color:#0f172a}.admin-role-assignment span{color:#64748b;font-size:12px}.admin-role-empty{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:10px;padding:14px}.admin-role-remove-button,.admin-role-add-button,.admin-role-confirm-remove{min-height:36px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.admin-role-remove-button{color:#b91c1c;background:#fff;border:1px solid #fecaca}.admin-role-remove-button:disabled,.admin-role-add-button:disabled,.admin-role-confirm-remove:disabled{cursor:not-allowed;opacity:.55}.admin-role-add-grid{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;align-items:end;gap:12px;margin-top:14px;display:grid}.admin-role-add-grid label{flex-direction:column;gap:6px;display:flex}.admin-role-add-grid label>span{color:#334155;font-size:12px;font-weight:700}.admin-role-add-grid select{color:#0f172a;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px}.admin-role-add-button{color:#fff;background:#4f46e5;border:1px solid #4f46e5;min-height:40px}.admin-role-department-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;align-items:flex-start;gap:7px;margin-top:12px;padding:10px 11px;font-size:12px;display:flex}.admin-role-remove-dialog{background:#fff;border-radius:16px;width:min(520px,100%);overflow:hidden;box-shadow:0 24px 70px #0f172a3d}.admin-role-remove-dialog-body{text-align:center;padding:22px}.admin-role-remove-dialog-body>svg{color:#dc2626}.admin-role-remove-dialog-body h2{color:#0f172a;margin:10px 0 8px;font-size:20px}.admin-role-remove-dialog-body p{color:#334155;margin:0 0 8px}.admin-role-remove-dialog-body small{color:#64748b;line-height:1.45}.admin-role-confirm-remove{color:#fff;background:#dc2626;border:1px solid #dc2626}@media (width<=900px){.admin-role-layout{grid-template-columns:1fr}.admin-role-user-list{max-height:300px}}@media (width<=700px){.admin-role-add-grid{grid-template-columns:1fr}.admin-role-selected-user{grid-template-columns:auto minmax(0,1fr)}.admin-role-selected-user>.admin-status-chip{grid-column:1/-1;justify-self:start}}.admin-teacher-plans-page{max-width:1240px;margin:0 auto}.admin-plan-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.admin-plan-summary-card{background:#fff;border:1px solid #dbe3ef;border-radius:14px;align-items:center;gap:12px;padding:16px 18px;display:flex}.admin-plan-summary-card>svg{color:#5b5ce2}.admin-plan-summary-card.warning>svg{color:#d97706}.admin-plan-summary-card>div{flex-direction:column;gap:2px;display:flex}.admin-plan-summary-card span,.admin-plan-year span,.admin-plan-detail-grid span,.admin-plan-period-strip span,.admin-plan-meta-row span{color:#64748b;font-size:12px}.admin-plan-summary-card strong{color:#0f172a;font-size:22px}.admin-plan-toolbar{grid-template-columns:minmax(180px,240px) minmax(280px,1fr) minmax(180px,230px);align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:grid}.admin-plan-year{flex-direction:column;gap:2px;display:flex}.admin-plan-year strong{color:#0f172a}.admin-plan-search{background:#fff;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:8px;padding:0 11px;display:flex}.admin-plan-search svg{color:#64748b;flex:none}.admin-plan-search input,.admin-plan-toolbar select{color:#0f172a;width:100%;min-height:40px;font:inherit;background:0 0;border:0;outline:0}.admin-plan-toolbar select{background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:0 10px}.admin-plan-card-grid{gap:14px;display:grid}.admin-plan-card{padding:0;overflow:hidden}.admin-plan-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.admin-plan-identity{align-items:center;gap:10px;min-width:0;display:flex}.admin-plan-avatar{color:#4f46e5;background:#eef2ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.admin-plan-identity>div:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-plan-identity strong{color:#0f172a}.admin-plan-identity span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-plan-status{white-space:nowrap;border-radius:999px;align-items:center;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.admin-plan-status.assigned{color:#047857;background:#ecfdf5}.admin-plan-status.missing{color:#c2410c;background:#fff7ed}.admin-plan-meta-row{background:#f8fafc;border-bottom:1px solid #edf2f7;flex-wrap:wrap;gap:18px;padding:10px 18px;display:flex}.admin-plan-meta-row strong{color:#334155}.admin-plan-period-strip{border-bottom:1px solid #edf2f7;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px;display:grid}.admin-plan-period-strip>div,.admin-plan-detail-grid>div{background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex-direction:column;gap:4px;padding:11px 12px;display:flex}.admin-plan-period-strip strong,.admin-plan-detail-grid strong{color:#0f172a;font-size:13px}.admin-plan-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px 18px;display:grid}.admin-plan-detail-grid>.wide{grid-column:span 2}.admin-plan-missing-box{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:flex-start;gap:10px;margin:16px 18px 18px;padding:14px;display:flex}.admin-plan-missing-box>div{flex-direction:column;gap:3px;display:flex}.admin-plan-missing-box span{color:#7c2d12;font-size:12px;line-height:1.5}.admin-plan-readonly-note{color:#64748b;align-items:center;gap:7px;margin-top:14px;font-size:12px;display:flex}@media (width<=900px){.admin-plan-summary-grid,.admin-plan-toolbar,.admin-plan-period-strip{grid-template-columns:1fr}.admin-plan-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.admin-plan-summary-grid,.admin-plan-detail-grid{grid-template-columns:1fr}.admin-plan-detail-grid>.wide{grid-column:auto}.admin-plan-card-header{flex-direction:column;align-items:flex-start}}.admin-purge-dialog{background:#fff;border:1px solid #dbe3ef;border-radius:16px;width:min(760px,100%);max-height:min(88vh,860px);overflow:hidden;box-shadow:0 24px 70px #0f172a42}.admin-purge-header{border-bottom-color:#fee2e2}.admin-purge-icon{color:#b91c1c;background:#fef2f2;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.admin-purge-body{flex-direction:column;gap:14px;max-height:calc(88vh - 150px);padding:18px 20px;display:flex;overflow-y:auto}.admin-purge-loading{color:#475569;align-items:center;gap:9px;min-height:56px;font-size:13px;display:flex}.admin-purge-alert{margin:0}.admin-purge-warning{border:1px solid;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 13px;font-size:12px;line-height:1.55;display:flex}.admin-purge-warning svg{flex:none;margin-top:1px}.admin-purge-warning div{flex-direction:column;gap:3px;display:flex}.admin-purge-warning strong{font-size:13px}.admin-purge-warning.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.admin-purge-warning.audit{color:#92400e;background:#fffbeb;border-color:#fde68a}.admin-purge-warning.info{color:#075985;background:#f0f9ff;border-color:#bae6fd}.admin-purge-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:13px}.admin-purge-section.blocker{background:#fff7f7;border-color:#fecaca}.admin-purge-section h3{color:#334155;margin:0 0 10px;font-size:13px}.admin-purge-count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.admin-purge-count-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:36px;padding:7px 9px;display:flex}.admin-purge-count-item span{color:#475569;font-size:11px}.admin-purge-count-item strong{color:#0f172a;font-size:13px}.admin-purge-confirmation-panel{background:snow;border:1px solid #fecaca;border-radius:11px;flex-direction:column;gap:12px;padding:14px;display:flex}.admin-purge-field{flex-direction:column;gap:6px;display:flex}.admin-purge-field>span{color:#334155;font-size:12px;font-weight:700}.admin-purge-field b{color:#b91c1c}.admin-purge-field code{color:#991b1b;background:#fee2e2;border-radius:5px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.admin-purge-field input,.admin-purge-field textarea{box-sizing:border-box;color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px}.admin-purge-field input{min-height:40px;padding:0 10px}.admin-purge-field textarea{resize:vertical;min-height:76px;padding:9px 10px;line-height:1.45}.admin-purge-field input:focus,.admin-purge-field textarea:focus{border-color:#dc2626;outline:3px solid #dc26261a}.admin-purge-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:9px;padding:14px 20px;display:flex}.admin-dialog-secondary,.admin-purge-confirm-button{min-height:38px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.admin-purge-confirm-button{color:#fff;background:#b91c1c;border:1px solid #b91c1c}.admin-dialog-secondary:disabled,.admin-purge-confirm-button:disabled{cursor:not-allowed;opacity:.5}.admin-status-chip.purged{color:#9a3412;background:#fff7ed}.admin-purge-button{color:#c2410c;min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #fdba74;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-purge-button:hover:not(:disabled){background:#fff7ed}.admin-purge-button:disabled,.admin-edit-button:disabled{cursor:not-allowed;opacity:.45}@media (width<=680px){.admin-purge-count-grid{grid-template-columns:1fr}.admin-purge-footer{flex-direction:column-reverse}.admin-dialog-secondary,.admin-purge-confirm-button{width:100%}}.admin-users-page{max-width:1240px;margin:0 auto}.admin-user-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.admin-user-summary-card{background:#fff;border:1px solid #dbe3ef;border-radius:14px;align-items:center;gap:12px;padding:16px 18px;display:flex}.admin-user-summary-card>svg{color:#5b5ce2;flex:none}.admin-user-summary-card>div{flex-direction:column;gap:2px;display:flex}.admin-user-summary-card span{color:#64748b;font-size:12px}.admin-user-summary-card strong{color:#0f172a;font-size:22px}.admin-user-filter-panel{grid-template-columns:minmax(260px,1fr) repeat(3,minmax(160px,220px));gap:12px;margin-bottom:16px;padding:14px;display:grid}.admin-user-search-field{background:#fff;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:0 11px;display:flex}.admin-user-search-field svg{color:#64748b;flex:none}.admin-user-search-field input,.admin-user-filter-panel select{color:#0f172a;width:100%;min-height:40px;font:inherit;background:0 0;border:0;outline:0}.admin-user-filter-panel select{background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:0 10px}.admin-user-table-wrap{padding:0;overflow:hidden}.admin-user-table-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.admin-user-table-header>div:first-child{flex-direction:column;gap:2px;display:flex}.admin-user-table-header strong{color:#0f172a}.admin-user-table-header span{color:#64748b;font-size:12px}.admin-readonly-badge{color:#4f46e5;white-space:nowrap;background:#eef2ff;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex}.admin-user-table-scroll{overflow-x:auto}.admin-user-table{border-collapse:collapse;width:100%;min-width:1080px}.admin-user-table th,.admin-user-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf2f7;padding:13px 16px}.admin-user-table th{color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;font-size:11px;font-weight:700}.admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-identity{align-items:center;gap:10px;min-width:240px;display:flex}.admin-user-avatar{color:#4f46e5;background:#eef2ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.admin-user-identity>div:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-user-identity strong{color:#0f172a}.admin-user-identity span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:290px;font-size:12px;overflow:hidden}.admin-role-list{flex-wrap:wrap;gap:6px;display:flex}.admin-role-chip,.admin-status-chip{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.admin-role-chip{color:#4338ca;background:#eef2ff}.admin-role-chip.muted{color:#64748b;background:#f1f5f9}.admin-status-chip.active{color:#047857;background:#ecfdf5}.admin-status-chip.inactive{color:#b91c1c;background:#fef2f2}.admin-action-group{align-items:center;gap:7px;display:flex}.admin-edit-button,.admin-status-button{min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-edit-button{color:#4338ca;border:1px solid #c7d2fe}.admin-status-button.lock{color:#b91c1c;border:1px solid #fecaca}.admin-status-button.lock:hover{background:#fef2f2}.admin-status-button.unlock{color:#047857;border:1px solid #a7f3d0}.admin-status-button.unlock:hover{background:#ecfdf5}.admin-status-button:disabled{cursor:not-allowed;opacity:.45}.admin-success-banner{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:11px 13px;display:flex}.admin-dialog-backdrop{z-index:1000;background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-profile-dialog{background:#fff;border:1px solid #dbe3ef;border-radius:16px;width:min(620px,100%);overflow:hidden;box-shadow:0 24px 70px #0f172a38}.admin-dialog-header{border-bottom:1px solid #e2e8f0;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:18px 20px;display:grid}.admin-dialog-icon{color:#4f46e5;background:#eef2ff;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.admin-dialog-header h2{color:#0f172a;margin:0 0 3px;font-size:18px}.admin-dialog-header p{color:#64748b;margin:0;font-size:12px}.admin-dialog-close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.admin-dialog-close:hover{background:#f1f5f9}.admin-dialog-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.admin-edit-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-edit-field{flex-direction:column;gap:6px;display:flex}.admin-edit-field-wide{grid-column:1/-1}.admin-edit-field>span{color:#334155;font-size:12px;font-weight:700}.admin-edit-field input,.admin-edit-field select{box-sizing:border-box;color:#0f172a;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px}.admin-edit-field input:focus,.admin-edit-field select:focus{border-color:#6366f1;outline:3px solid #6366f11f}.admin-edit-readonly-note,.admin-edit-warning,.admin-status-info{border-radius:9px;padding:10px 12px;font-size:12px;line-height:1.45}.admin-edit-readonly-note{color:#64748b;background:#f8fafc}.admin-edit-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;gap:8px;display:flex}.admin-edit-warning svg{flex:none;margin-top:1px}.admin-status-info{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;gap:8px;display:flex}.admin-status-info svg{flex:none;margin-top:1px}.admin-lock-confirm-button{color:#fff;min-height:38px;font:inherit;cursor:pointer;background:#dc2626;border:1px solid #dc2626;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.admin-lock-confirm-button:disabled{cursor:not-allowed;opacity:.6}.admin-dialog-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:9px;padding:14px 20px 18px;display:flex}.admin-dialog-secondary,.admin-dialog-primary{min-height:38px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.admin-dialog-secondary{color:#475569;background:#fff;border:1px solid #cbd5e1}.admin-dialog-primary{color:#fff;background:#4f46e5;border:1px solid #4f46e5}.admin-dialog-primary:disabled,.admin-dialog-secondary:disabled,.admin-dialog-close:disabled{cursor:not-allowed;opacity:.6}@media (width<=980px){.admin-user-summary-grid{grid-template-columns:1fr}.admin-user-filter-panel{grid-template-columns:1fr 1fr}}@media (width<=640px){.admin-user-filter-panel,.admin-edit-grid{grid-template-columns:1fr}.admin-edit-field-wide{grid-column:auto}.admin-user-table-header,.admin-action-group{flex-direction:column;align-items:flex-start}}.admin-delete-button{color:#b42318;min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-delete-button:hover:not(:disabled){background:#fef2f2}.admin-delete-button:disabled{cursor:not-allowed;opacity:.42}.workflow-dialog-icon.danger{color:#b42318;background:#fef2f2}.admin-delete-warning{color:#991b1b;background:#fff7f7;border:1px solid #fecaca;border-radius:9px;padding:10px 12px;font-size:12px;font-weight:650;line-height:1.5}.admin-delete-confirm-button{color:#fff;min-height:38px;font:inherit;cursor:pointer;background:#b42318;border:1px solid #b42318;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:740;display:inline-flex}.admin-delete-confirm-button:hover:not(:disabled){background:#912018}.admin-delete-confirm-button:disabled{cursor:not-allowed;opacity:.55}.login-page{background:radial-gradient(circle at 50% 18%,#2262ad14,#0000 30%),#f4f6f9}.login-card{border-radius:20px;width:min(430px,100%);padding:32px;box-shadow:0 18px 46px #15223a1a}.login-brand-mark{color:#2262ad;background:#edf4fc;border:1px solid #dbe8f7;border-radius:14px;place-items:center;width:52px;height:52px;margin:0 auto 14px;display:grid}.login-card .organization-name{font-size:1.35rem}.login-card .login-intro h1{margin-top:8px;font-size:1.28rem}.login-card .login-intro .muted{max-width:290px;margin-top:7px;font-size:.86rem;line-height:1.55}.login-form{gap:17px;margin-top:26px}.login-form label{gap:7px}.login-field-label{font-size:.8rem;font-weight:720}.login-form .login-input-shell{color:#7a8494;background:#fff;border:1px solid #d0d5dd;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:46px;padding:0 12px;transition:border-color .14s,box-shadow .14s;display:grid}.login-form .login-input-shell:focus-within{border-color:#2262ad;box-shadow:0 0 0 3px #2262ad1f}.login-card .login-input-shell input{color:#172033;appearance:none;width:100%;min-width:0;height:44px;padding:0;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important}.login-card .login-input-shell input:focus{box-shadow:none!important;border:0!important;outline:0!important}.login-card .login-input-shell input::placeholder{color:#98a2b3;opacity:1}.login-form .login-password-shell{grid-template-columns:auto minmax(0,1fr) auto;padding-right:7px}.login-form .password-visibility-button{width:34px;height:34px;min-height:34px;box-shadow:none;color:#64748b;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.login-form .password-visibility-button:hover:not(:disabled),.login-form .password-visibility-button:focus-visible{color:#2262ad;background:#edf4fc;outline:none}.login-form .password-visibility-button:focus-visible{box-shadow:0 0 0 2px #2262ad26}.login-submit-button{min-height:46px;margin-top:1px;box-shadow:0 6px 14px #2262ad29}.login-error-message{margin:-3px 0 0}.login-card .login-footer{margin-top:24px}@media (width<=520px){.login-page{padding:18px}.login-card{border-radius:16px;padding:26px 22px}}.center-reporting-page{gap:18px;display:grid}.center-reporting-heading{align-items:flex-end}.center-reporting-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.center-reporting-summary-card{align-items:center;gap:12px;min-height:84px;padding:16px 18px;display:flex}.center-reporting-summary-card>div{gap:4px;display:grid}.center-reporting-summary-card span{color:var(--muted-text,#64748b);font-size:.78rem}.center-reporting-summary-card strong{font-size:1.5rem}.center-reporting-summary-card.is-attention{border-color:#fdba74}.center-reporting-filters{grid-template-columns:160px minmax(220px,1fr) minmax(220px,1fr) minmax(280px,1.4fr);gap:12px;padding:14px;display:grid}.center-reporting-filters label{gap:6px;min-width:0;display:grid}.center-reporting-filters label>span{color:#475569;font-size:.76rem;font-weight:700}.center-reporting-filters select,.center-reporting-search input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;min-height:38px;padding:0 10px}.center-reporting-search>div{background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:7px;min-height:38px;padding:0 10px;display:flex}.center-reporting-search>div:focus-within{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.center-reporting-search input{border:0;outline:none;min-height:auto;padding:0}.center-reporting-totals{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.center-reporting-totals>div{background:#fff;gap:5px;padding:14px 16px;display:grid}.center-reporting-totals span{color:#64748b;font-size:.75rem}.center-reporting-totals strong{font-size:1.05rem}.center-reporting-groups{gap:14px;display:grid}.center-reporting-group{overflow:hidden}.center-reporting-group-heading{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.center-reporting-group-heading>div:first-child{gap:3px;display:grid}.center-reporting-group-heading>div:first-child strong{font-size:.95rem}.center-reporting-group-heading>div:first-child span,.center-reporting-group-heading>div:last-child span{color:#64748b;font-size:.72rem}.center-reporting-group-heading>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.center-reporting-group-heading>div:last-child span{background:#f1f5f9;border-radius:999px;padding:4px 8px}.center-reporting-table-wrap{overflow-x:auto}.center-reporting-table{min-width:980px}.center-reporting-table td:first-child{min-width:210px}.center-reporting-table td:first-child strong,.center-reporting-table td:first-child small{display:block}.center-reporting-table td:first-child small{color:#64748b;margin-top:3px}.center-source,.center-reporting-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.center-source{min-width:42px;padding:4px 8px;font-size:.72rem}.center-source.is-complete{color:#047857;background:#ecfdf5}.center-source.is-incomplete{color:#c2410c;background:#fff7ed}.center-reporting-status{padding:4px 8px;font-size:.68rem}.center-reporting-status.is-active{color:#047857;background:#ecfdf5}.center-reporting-status.is-ready{color:#1d4ed8;background:#eff6ff}.center-reporting-status.is-update{color:#b91c1c;background:#fef2f2}.center-reporting-status.is-missing{color:#c2410c;background:#fff7ed}.center-reporting-status.is-superseded{color:#475569;background:#f1f5f9}.center-reporting-page .is-positive{color:#047857}.center-reporting-page .is-negative{color:#dc2626}.center-reporting-empty{text-align:center;color:#64748b;padding:28px}@media (width<=1100px){.center-reporting-summary-grid,.center-reporting-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.center-reporting-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.center-reporting-heading,.center-reporting-group-heading{flex-direction:column;align-items:stretch}.center-reporting-summary-grid,.center-reporting-filters,.center-reporting-totals{grid-template-columns:1fr}}.review-confirm-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.review-confirm-modal{background:#fff;border:1px solid #dbe5f0;border-radius:18px;width:min(540px,100%);overflow:hidden;box-shadow:0 24px 70px #0f172a3d}.review-confirm-header{grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:20px 20px 14px;display:grid}.review-confirm-icon{color:#147a42;background:#effaf3;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.review-confirm-header h2{color:#172033;margin:0;font-size:1.08rem;line-height:1.25}.review-confirm-header p{color:#667085;margin:5px 0 0;font-size:.78rem;line-height:1.45}.review-confirm-close{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.review-confirm-close:hover:not(:disabled){background:#f2f4f7}.review-confirm-summary{background:#f8fafc;border:1px solid #e4eaf1;border-radius:14px;margin:0 20px;padding:16px}.review-confirm-person span,.review-confirm-note span,.review-confirm-difference span,.review-confirm-metrics span{color:#667085;font-size:.69rem;font-weight:650}.review-confirm-person strong{color:#172033;margin-top:3px;font-size:1rem;display:block}.review-confirm-person small{color:#475467;margin-top:2px;font-size:.72rem;display:block}.review-confirm-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.review-confirm-metrics div{text-align:center;background:#fff;border-radius:10px;padding:10px}.review-confirm-metrics strong{color:#1f2a44;font-variant-numeric:tabular-nums;margin-top:3px;font-size:.92rem;display:block}.review-confirm-difference{border-top:1px solid #e4eaf1;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding-top:12px;display:flex}.review-confirm-difference strong{font-variant-numeric:tabular-nums;font-size:1rem}.review-confirm-difference strong[data-tone=positive]{color:#15803d}.review-confirm-difference strong[data-tone=negative]{color:#b42318}.review-confirm-difference strong[data-tone=neutral]{color:#475467}.review-confirm-note{margin-top:12px}.review-confirm-note p{color:#344054;margin:4px 0 0;font-size:.76rem;line-height:1.5}.review-confirm-effect{background:#f7f9fc;border-radius:12px;margin:14px 20px 0;padding:12px 14px}.review-confirm-effect strong{color:#344054;font-size:.75rem}.review-confirm-effect p,.review-confirm-effect small{color:#667085;margin:4px 0 0;font-size:.72rem;line-height:1.45;display:block}.review-confirm-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;align-items:flex-start;gap:8px;margin:12px 20px 0;padding:10px 12px;font-size:.74rem;display:flex}.review-confirm-actions{justify-content:flex-end;gap:10px;padding:18px 20px 20px;display:flex}.review-confirm-cancel,.review-confirm-submit{min-height:40px;font:inherit;cursor:pointer;border-radius:10px;padding:0 16px;font-size:.8rem;font-weight:750}.review-confirm-cancel{color:#344054;background:#fff;border:1px solid #d0d5dd}.review-confirm-submit{color:#fff;background:#147a42;border:1px solid #147a42;justify-content:center;align-items:center;gap:7px;display:inline-flex}.review-confirm-submit:hover:not(:disabled){background:#116c3a}.review-confirm-cancel:disabled,.review-confirm-submit:disabled,.review-confirm-close:disabled{cursor:not-allowed;opacity:.58}@media (width<=560px){.review-confirm-backdrop{padding:12px}.review-confirm-metrics{grid-template-columns:1fr}.review-confirm-difference{flex-direction:column;align-items:flex-start}.review-confirm-actions{grid-template-columns:1fr 1fr;display:grid}}.department-review-table-page{max-width:1480px}.department-review-table-surface{overflow:hidden}.department-review-table-scroll{overscroll-behavior-inline:contain;scrollbar-gutter:stable;width:100%;overflow-x:auto}.department-review-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff;width:100%;min-width:0}.department-review-table th,.department-review-table td{vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #e9edf3}.department-review-table thead th{z-index:4;color:#526178;letter-spacing:.02em;text-align:left;text-transform:uppercase;white-space:normal;background:#f8fafc;padding:10px 7px;font-size:.61rem;font-weight:800;line-height:1.25;position:sticky;top:0}.department-review-table tbody td{color:#344054;min-height:60px;padding:9px 7px;font-size:.72rem}.department-review-table tbody tr{transition:background .12s}.department-review-table tbody tr:hover td{background:#f9fbff}.department-review-table tbody tr:last-child td{border-bottom:0}.review-col-teacher{width:14%}.review-col-period{width:9%}.review-col-metric{width:7%;text-align:center!important}.review-col-difference{width:10%;text-align:center!important}.review-col-note{width:18%}.review-col-status{width:8%;text-align:center!important}.review-col-quick,.review-col-action{width:10%;text-align:center!important}.review-teacher-cell,.review-period-cell{min-width:0}.review-teacher-cell strong,.review-period-cell strong{color:#1f2a44;white-space:normal;overflow-wrap:anywhere;font-size:.78rem;font-weight:750;line-height:1.25;display:block}.review-teacher-cell span,.review-period-cell span{color:#718096;white-space:normal;overflow-wrap:anywhere;margin-top:2px;font-size:.64rem;line-height:1.25;display:block}.review-number-cell,.review-status-cell,.review-quick-cell,.review-action-cell{text-align:center}.review-number-cell{font-variant-numeric:tabular-nums;font-weight:650}.review-difference-cell{font-weight:800}.review-note-cell{line-height:1.38;color:#526178!important;font-size:.68rem!important}.review-note-cell span{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.department-review-row-action,.review-quick-approve-button{white-space:normal;border-radius:8px;gap:4px;width:100%;min-width:0;max-width:108px;min-height:32px;padding:5px 6px;font-size:.65rem;line-height:1.15}.department-review-row-action svg,.review-quick-approve-button svg{flex:none}.review-quick-approve-button{color:#147a42;font:inherit;cursor:pointer;background:#effaf3;border:1px solid #b7e3c8;justify-content:center;align-items:center;font-size:.65rem;font-weight:750;transition:background .12s,border-color .12s,transform .12s;display:inline-flex}.review-quick-approve-button:hover:not(:disabled){background:#e6f7ed;border-color:#86cfa4;transform:translateY(-1px)}.review-quick-approve-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=1180px){.department-review-table thead th{letter-spacing:.01em;padding-inline:5px;font-size:.58rem}.department-review-table tbody td{padding-inline:5px;font-size:.69rem}.review-teacher-cell strong,.review-period-cell strong{font-size:.74rem}.review-note-cell{font-size:.64rem!important}.department-review-row-action,.review-quick-approve-button{min-height:30px;padding-inline:4px;font-size:.61rem}}@media (width<=900px){.department-review-table{min-width:1040px}}.official-report-library{max-width:1180px;margin:0 auto}.official-report-card{background:#fff;border:1px solid #dbe3ef;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;display:grid;box-shadow:0 8px 24px #0f172a0a}.official-report-card-icon{color:#6556e8;background:#f0edff;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.official-report-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.official-report-card-body strong{color:#0f172a;font-size:15px}.official-report-card-body span,.official-report-card-body small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.official-report-card-result{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.official-report-card-result span{color:#94a3b8;font-size:11px}.official-report-card-result strong{color:#047857;white-space:nowrap}.official-report-card .review-primary-button{grid-column:1/-1;justify-self:end}.official-print-page{background:#e8edf5;min-height:100%;padding:22px}.official-print-toolbar{background:#fff;border:1px solid #d7dfeb;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;max-width:210mm;margin:0 auto 18px;padding:12px 14px;display:grid;box-shadow:0 8px 24px #0f172a12}.official-print-toolbar>div{flex-direction:column;gap:2px;display:flex}.official-print-toolbar>div strong{color:#0f172a}.official-print-toolbar>div span{color:#64748b;font-size:12px}.official-a4-sheet{box-sizing:border-box;color:#000;background:#fff;width:210mm;min-height:1120.52px;margin:0 auto;padding:13mm 16mm 12mm;font-family:Times New Roman,Times,serif;font-size:13pt;line-height:1.18;box-shadow:0 12px 34px #0f172a29}.official-a4-sheet strong{font-weight:700}.official-document-header{text-align:center;grid-template-columns:42% 58%;gap:7mm;margin-bottom:7mm;display:grid}.official-document-agency,.official-document-state{flex-direction:column;gap:1.2mm;display:flex}.official-document-state{font-weight:700}.official-state-motto{border-bottom:1px solid #000;align-self:center;padding-bottom:.5mm}.official-document-title{text-align:center;margin:0 0 5.5mm;font-family:Times New Roman,Times,serif;font-size:15.5pt;line-height:1.15}.official-document-period{text-align:center;margin-bottom:2.8mm}.official-document-period p{margin:0 0 1.3mm}.official-document-period p span{margin-left:7mm}.official-document-weeks{font-style:normal}.official-document-body p{margin:0 0 1.65mm}.official-indent{padding-left:6mm}.official-total-line{font-weight:700}.official-signature-grid{text-align:center;grid-template-columns:1fr 1fr 1.55fr;gap:7mm;margin-top:9mm;display:grid}.official-signature-grid>div{flex-direction:column;align-items:center;gap:2mm;min-height:35mm;display:flex}.official-signature-grid em{white-space:nowrap;font-weight:400}.official-signer-name{margin-top:auto;font-weight:700}.official-document-agency{text-align:center;gap:.8mm;font-weight:400}.official-agency-department{text-transform:uppercase;font-weight:400;display:block}.official-agency-school{text-transform:uppercase;padding-bottom:2.4mm;font-weight:700;display:block;position:relative}.official-agency-school:after{content:"";border-bottom:1px solid #000;width:58%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.official-teacher-name{text-transform:uppercase;font-weight:700}.official-signer-name{font-style:italic;font-weight:700}.official-pdf-export-sheet{height:auto!important;min-height:0!important;box-shadow:none!important}.official-report-lock-note{color:#64748b;grid-column:1/-1;justify-self:end;align-items:center;gap:6px;font-size:12px;display:inline-flex}.monthly-preview-toolbar-state{color:#9a3412;align-items:center;font-size:12px;font-weight:700;flex-direction:row!important;gap:7px!important;display:inline-flex!important}.monthly-preview-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:center;gap:10px;max-width:210mm;margin:0 auto 14px;padding:11px 14px;display:flex}.monthly-preview-banner>div{flex-direction:column;gap:2px;display:flex}.monthly-preview-banner span{font-size:12px}.monthly-preview-sheet{position:relative;overflow:hidden}.monthly-preview-sheet>:not(.monthly-preview-watermark){z-index:1;position:relative}.monthly-preview-watermark{z-index:0;color:#b91c1c1a;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4mm;width:165mm;font-family:Arial,sans-serif;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-28deg)}.monthly-preview-watermark strong{letter-spacing:.12em;font-size:38pt}.monthly-preview-watermark span{letter-spacing:.08em;font-size:20pt;font-weight:700}@media (width<=900px){.official-print-page{padding:12px;overflow-x:auto}.official-print-toolbar{width:210mm}}@media print{@page{size:A4 portrait;margin:0}html,body,#root{width:210mm;min-width:210mm;margin:0;padding:0;background:#fff!important}body{overflow:visible}.no-print{display:none!important}.official-print-page{width:210mm;min-width:210mm;background:#fff!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.official-a4-sheet{width:210mm;height:auto;min-height:0;box-shadow:none;break-before:auto;break-after:auto;page-break-before:auto;page-break-after:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0}.monthly-preview-page .monthly-preview-sheet{display:none!important}.monthly-preview-page:after{box-sizing:border-box;color:#991b1b;text-align:center;content:"BẢN XEM TRƯỚC - CHƯA ĐƯỢC TỔ PHÊ DUYỆT. Hệ thống không cho phép in hoặc lưu PDF ở trạng thái này.";width:210mm;min-height:297mm;padding:40mm 20mm;font-family:Arial,sans-serif;font-size:18pt;font-weight:700;display:block}}.monthly-official-document{padding-top:12mm;padding-bottom:10mm}.monthly-official-document .official-document-header{margin-bottom:6mm}.monthly-official-document .official-document-title{margin-bottom:4.8mm}.monthly-official-document .official-document-period{margin-bottom:2.2mm}.monthly-official-document .official-document-body p{margin-bottom:1.5mm}.monthly-official-document .official-signature-grid{break-inside:avoid;page-break-inside:avoid;margin-top:7.5mm}.semester-bulk-download-row{border:1px solid var(--ui-sem-green-border);background:var(--ui-sem-green-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.semester-bulk-download-row>div{flex-direction:column;gap:3px;min-width:0;display:flex}.semester-bulk-download-row strong{color:var(--ui-color-text-strong);font-size:.9rem}.semester-bulk-download-row span{color:#5d6a7c;font-size:.75rem}.bulk-pdf-render-host{z-index:-1000;pointer-events:none;width:210mm;height:1px;position:fixed;top:0;left:-100000px;overflow:visible}.bulk-pdf-export-container{background:#fff;width:210mm}.bulk-official-pdf-document{break-after:page;page-break-after:always;height:auto!important;min-height:0!important;box-shadow:none!important;margin:0!important}.bulk-official-pdf-document:last-child{break-after:auto;page-break-after:auto}@media (width<=760px){.semester-bulk-download-row{flex-direction:column;align-items:stretch}.semester-bulk-download-row .review-primary-button{justify-content:center}}.teacher-report-content{gap:20px;padding:16px}.teacher-report-subheading{letter-spacing:.04em;margin-bottom:12px;font-size:.77rem}.teacher-report-semester-grid{gap:10px}.semester-print-card{gap:10px;min-height:214px;padding:15px}.semester-print-kicker{font-size:1.08rem;line-height:1.2}.semester-print-card .teacher-report-identity{text-align:center;justify-content:center;min-height:42px}.semester-print-card .teacher-report-identity strong{font-size:.82rem;line-height:1.28}.semester-print-card .teacher-report-identity small{margin-top:2px;font-size:.65rem}.semester-print-difference{padding:8px 9px}.semester-print-difference span{font-size:.65rem}.semester-print-difference strong{font-size:1.12rem;line-height:1.2}.semester-month-group-title{letter-spacing:.035em;margin-bottom:7px;font-size:.7rem}.monthly-print-grid{gap:8px}.monthly-print-card{gap:6px;min-height:172px;padding:10px}.monthly-print-card-title{border-bottom:1px solid #edf2f7;gap:2px;padding-bottom:5px}.monthly-print-card-title strong{letter-spacing:.01em;font-size:.98rem;line-height:1.15}.monthly-print-card-title span{font-size:.68rem;font-weight:650}.monthly-print-card .teacher-report-identity{text-align:center;justify-content:center;min-height:42px}.monthly-print-card .teacher-report-identity strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;font-weight:740;line-height:1.28;display:-webkit-box;overflow:hidden}.monthly-print-card .teacher-report-identity small{margin-top:1px;font-size:.61rem;line-height:1.2}.monthly-print-card>small{margin-top:-1px;font-size:.6rem}.monthly-print-difference span{font-size:.62rem}.monthly-print-difference strong{font-size:.9rem;line-height:1.15}.monthly-print-action{min-height:30px;font-size:.67rem}@media (width<=1180px){.monthly-print-card{min-height:166px}}.official-report-library{max-width:1360px}.official-report-library-heading{margin-bottom:24px}.official-report-library-heading>div{max-width:860px}.official-report-sections{flex-direction:column;gap:28px;display:flex}.official-report-section{--report-accent:var(--ui-sem-blue);--report-accent-soft:var(--ui-sem-blue-soft);--report-accent-border:var(--ui-sem-blue-border);flex-direction:column;gap:14px;display:flex}.official-report-section-preview{--report-accent:var(--ui-sem-amber);--report-accent-soft:var(--ui-sem-amber-soft);--report-accent-border:var(--ui-sem-amber-border)}.official-report-section-heading{border-bottom:1px solid #e6ebf1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding-bottom:10px;display:grid}.official-report-section-heading:after{background:var(--report-accent);content:"";border-radius:999px;grid-column:1/-1;width:74px;height:3px;margin-top:-3px}.official-report-section-icon,.official-report-card-icon{border:1px solid var(--report-accent-border);background:var(--report-accent-soft);width:40px;height:40px;color:var(--report-accent);border-radius:10px;place-items:center;display:grid}.official-report-section-heading h2{color:var(--ui-color-text-strong);margin:0;font-size:1.1rem}.official-report-section-heading p{color:#5d6a7c;max-width:780px;margin:3px 0 0;font-size:.8rem;line-height:1.5}.official-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.official-report-grid-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.official-report-card{--report-accent:var(--ui-sem-blue);--report-accent-soft:var(--ui-sem-blue-soft);--report-accent-border:var(--ui-sem-blue-border);border:1px solid var(--ui-color-border);background:var(--ui-color-surface);min-height:146px;box-shadow:var(--ui-shadow-xs);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon body result""meta meta action";gap:13px 14px;padding:16px 16px 16px 18px;display:grid;position:relative}.official-report-card-preview{--report-accent:var(--ui-sem-amber);--report-accent-soft:var(--ui-sem-amber-soft);--report-accent-border:var(--ui-sem-amber-border)}.official-report-card-body{flex-direction:column;grid-area:body;gap:3px;display:flex}.official-report-card-body strong{color:var(--ui-color-text-strong);font-size:1rem;font-weight:800}.official-report-card-body span{color:#64748b;font-size:.76rem}.official-report-card-body small{color:#8993a4;font-size:.7rem}.official-report-status-text{font-weight:720;color:var(--report-accent)!important}.official-report-card-result{border:1px solid var(--ui-sem-slate-border);background:var(--ui-sem-slate-soft);border-radius:8px;grid-area:result;align-self:start;min-width:102px;padding:8px 10px}.official-report-card-result span,.semester-print-difference span,.monthly-print-difference span{color:#667386;font-size:.69rem;font-weight:690;display:block}.official-report-card-result strong,.semester-print-difference strong,.monthly-print-difference strong{color:var(--ui-sem-slate);margin-top:2px;font-weight:800;display:block}.difference-positive strong{color:var(--ui-sem-green)}.difference-negative strong{color:var(--ui-sem-red)}.difference-zero strong{color:var(--ui-sem-slate)}.official-report-card .official-report-action{border-radius:8px;grid-area:action;place-self:end;min-height:38px;padding:0 13px;font-size:.75rem;text-decoration:none}.official-report-lock-note{border:1px solid var(--ui-sem-amber-border);background:var(--ui-sem-amber-soft);color:#92400e;border-radius:999px;grid-area:meta;place-self:end start;align-items:center;gap:6px;min-height:28px;padding:0 9px;font-size:.67rem;font-weight:690;display:inline-flex}.official-report-empty-state{min-height:116px;padding:20px 24px}.report-library-toolbar{grid-template-columns:minmax(280px,1.5fr) minmax(160px,.55fr) minmax(150px,.5fr) auto;align-items:end;gap:14px;padding:16px;display:grid}.report-library-toolbar>label{flex-direction:column;gap:6px;display:flex}.report-library-field-label{color:#556274;font-size:.72rem;font-weight:760}.report-library-search-box{border:1px solid var(--ui-color-border);color:#7a8797;background:#fff;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.report-library-search-box input,.report-library-filter select{width:100%;color:var(--ui-color-text-strong);font:inherit;background:0 0;border:0;outline:0;font-size:.82rem}.report-library-filter select{border:1px solid var(--ui-color-border);background:#fff;border-radius:9px;min-height:42px;padding:0 10px}.report-library-summary{border:1px solid var(--ui-sem-green-border);background:var(--ui-sem-green-soft);border-radius:10px;align-items:center;gap:10px;min-height:64px;padding:10px 14px;display:flex}.report-library-summary-icon{width:36px;height:36px;color:var(--ui-sem-green);background:#fff;border-radius:9px;place-items:center;display:grid}.report-library-summary span:last-child{flex-direction:column;display:flex}.report-library-summary small{color:#64748b;font-size:.7rem}.report-library-summary strong{color:var(--ui-sem-green);font-size:.9rem}.teacher-report-group-list{flex-direction:column;gap:10px;display:flex}.teacher-report-group{border:1px solid var(--ui-color-border);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xs);border-radius:12px;overflow:hidden}.teacher-report-group.is-expanded{box-shadow:var(--ui-shadow-sm);border-color:#cbd8e8}.teacher-report-group-header{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px 16px;display:grid}.teacher-report-group-header:hover{background:#f8fafc}.teacher-report-chevron{color:#64748b}.teacher-report-identity{flex-direction:column;gap:2px;display:flex}.teacher-report-identity strong{color:var(--ui-color-text-strong);font-size:.93rem}.teacher-report-identity small{color:#778397;font-size:.72rem}.teacher-report-counts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.teacher-report-counts span{border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:720}.teacher-report-counts span:first-child{border:1px solid var(--ui-sem-green-border);background:var(--ui-sem-green-soft);color:var(--ui-sem-green)}.teacher-report-counts span:last-child{border:1px solid var(--ui-sem-blue-border);background:var(--ui-sem-blue-soft);color:var(--ui-sem-blue)}.teacher-report-content{background:#fbfcfe;border-top:1px solid #e9edf2;grid-template-columns:minmax(300px,.75fr) minmax(0,1.8fr);gap:22px;padding:18px;display:grid}.teacher-report-content-self{border:1px solid var(--ui-color-border);background:#fbfcfe;border-radius:12px}.teacher-report-semesters,.teacher-report-months{min-width:0}.teacher-report-subheading{color:#174ea6;text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;font-weight:800;display:flex}.teacher-report-semester-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.semester-print-card{border:1px solid var(--ui-sem-green-border);background:#fff;border-radius:11px;flex-direction:column;gap:12px;min-height:220px;padding:18px;display:flex}.semester-print-card>div:first-child{text-align:center;flex-direction:column;gap:4px;display:flex}.semester-print-kicker{color:var(--ui-sem-green);font-size:1.05rem;font-weight:850}.semester-print-card>div:first-child strong{color:#5f6b7b;font-size:.77rem}.semester-print-difference{text-align:center;background:#f7fafc;border-radius:9px;margin-top:4px;padding:10px}.semester-print-difference strong{font-size:1.22rem}.semester-print-card small{color:#7d8898;text-align:center}.semester-print-card .review-primary-button{justify-content:center;margin-top:auto;text-decoration:none}.semester-month-group+.semester-month-group{margin-top:18px}.semester-month-group-title{color:#4c596c;text-transform:uppercase;margin-bottom:8px;font-size:.74rem;font-weight:800}.monthly-print-grid{grid-template-columns:repeat(5,minmax(118px,1fr));gap:9px;display:grid}.monthly-print-card{border:1px solid var(--ui-sem-blue-border);background:#fff;border-radius:9px;flex-direction:column;gap:7px;min-height:164px;padding:12px;display:flex}.monthly-print-card-title{text-align:center;flex-direction:column;gap:1px;display:flex}.monthly-print-card-title strong{color:var(--ui-color-text-strong);font-size:.92rem;font-weight:850}.monthly-print-card-title span{color:#657286;font-size:.72rem}.monthly-print-card>small{color:#98a1ae;text-align:center;font-size:.64rem}.monthly-print-difference{text-align:center;margin-top:auto}.monthly-print-difference strong{font-size:.91rem}.monthly-print-action{border:1px solid var(--ui-sem-blue);min-height:32px;color:var(--ui-sem-blue);border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:.7rem;font-weight:760;text-decoration:none;display:inline-flex}.monthly-print-action:hover{background:var(--ui-sem-blue-soft)}@media (width<=1180px){.teacher-report-content{grid-template-columns:1fr}.monthly-print-grid{grid-template-columns:repeat(4,minmax(118px,1fr))}}@media (width<=980px){.report-library-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-print-grid{grid-template-columns:repeat(3,minmax(118px,1fr))}}@media (width<=720px){.official-report-grid,.official-report-grid-preview,.teacher-report-semester-grid,.monthly-print-grid,.report-library-toolbar{grid-template-columns:1fr}.official-report-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon body""result result""meta meta""action action"}.official-report-card-result,.official-report-card .official-report-action{box-sizing:border-box;width:100%}.teacher-report-group-header{grid-template-columns:auto minmax(0,1fr)}.teacher-report-counts{grid-column:2;justify-content:flex-start}.teacher-report-content{padding:14px}}.semester-history-list{gap:10px;display:grid}.semester-history-compare-toolbar{background:#f8fafc;border:1px solid #dbe4f0;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:10px 12px;display:flex}.semester-history-compare-toolbar>div:first-child{gap:2px;display:grid}.semester-history-compare-toolbar strong{color:#0f172a;font-size:.82rem}.semester-history-compare-toolbar span{color:#64748b;font-size:.73rem}.semester-history-compare-actions{align-items:center;gap:8px;display:flex}.semester-history-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.semester-history-item.is-current{background:#f8fbff;border-color:#93c5fd;box-shadow:0 0 0 1px #2563eb0f}.semester-history-item.is-selected-for-compare{background:#f8f7ff;border-color:#6366f1;box-shadow:0 0 0 1px #6366f114}.semester-history-version-select{justify-items:center;gap:6px;display:grid}.semester-history-version-select label{justify-content:center;align-items:center;display:inline-flex}.semester-history-version-select input{accent-color:#4f46e5;cursor:pointer;width:15px;height:15px;margin:0}.semester-history-version-select input:disabled{cursor:not-allowed}.semester-history-version{color:#3730a3;background:#eef2ff;border-radius:9px;justify-content:center;align-items:center;min-width:42px;height:32px;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex}.semester-history-item.is-current .semester-history-version{color:#1d4ed8;background:#dbeafe}.semester-history-main{gap:6px;min-width:0;display:grid}.semester-history-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.semester-history-status{border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.7rem;font-weight:800;display:inline-flex}.semester-history-status.is-active{color:#047857;background:#dcfce7}.semester-history-status.is-invalidated{color:#b91c1c;background:#fee2e2}.semester-history-status.is-superseded{color:#475569;background:#f1f5f9}.semester-history-current-badge{color:#1d4ed8;font-size:.7rem;font-weight:800}.semester-history-meta{color:#64748b;flex-wrap:wrap;gap:6px 14px;font-size:.73rem;display:flex}.semester-history-reason{color:#9a3412;margin:0;font-size:.75rem;line-height:1.45}.semester-history-link,.semester-source-audit-link{color:#334155;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:5px;min-height:32px;padding:6px 10px;font-size:.74rem;font-weight:700;text-decoration:none;display:inline-flex}.semester-history-link:hover,.semester-source-audit-link:hover{color:#1d4ed8;background:#f8fbff;border-color:#93b4e8}.semester-source-audit-link{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;justify-self:start;min-height:28px;margin-top:4px;padding:4px 8px;font-size:.69rem}.semester-source-row .semester-source-audit-link{margin-top:0;margin-left:auto}.semester-revision-comparison{border-color:#c7d2fe}.semester-compare-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.semester-compare-metric{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:7px;padding:11px 12px;display:grid}.semester-compare-metric.is-changed{background:#fffbeb;border-color:#fbbf24}.semester-compare-metric>span{color:#64748b;font-size:.72rem;font-weight:700}.semester-compare-values{gap:4px;display:grid}.semester-compare-values svg{color:#94a3b8}.semester-compare-values strong{color:#0f172a;font-size:.78rem}.semester-compare-metric small{color:#64748b;font-size:.72rem;font-weight:800}.semester-compare-metric small.is-positive{color:#047857}.semester-compare-metric small.is-negative{color:#b91c1c}.semester-compare-subsection{gap:8px;margin-top:16px;display:grid}.semester-compare-subsection h3{color:#0f172a;margin:0;font-size:.88rem}.semester-compare-table-scroll{overflow-x:auto}.semester-compare-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.76rem}.semester-compare-table th,.semester-compare-table td{text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:9px 10px}.semester-compare-table thead th{color:#475569;text-transform:uppercase;letter-spacing:.02em;background:#f8fafc;font-size:.7rem}.semester-compare-table tbody th{color:#334155;background:#fbfdff;width:18%}.semester-compare-table tr.is-changed td,.semester-compare-table tr.is-changed th{background:#fffdf5}.semester-compare-result{border-radius:999px;min-height:23px;padding:3px 7px;font-size:.68rem;font-weight:800;display:inline-flex}.semester-compare-result.is-changed{color:#92400e;background:#fef3c7}.semester-compare-result.is-same{color:#475569;background:#f1f5f9}.semester-compare-source-list{gap:8px;display:grid}.semester-compare-source-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:90px minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.semester-compare-source-item>strong{color:#1e3a8a;font-size:.78rem}.semester-compare-source-item>div{gap:2px;min-width:0;display:grid}.semester-compare-source-item span{color:#334155;font-size:.72rem;font-weight:800}.semester-compare-source-item small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.semester-compare-source-item>svg{color:#94a3b8}.semester-compare-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:12px;font-size:.76rem}@media (width<=1100px){.semester-compare-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=680px){.semester-history-compare-toolbar{display:grid}.semester-history-compare-actions{flex-wrap:wrap}.semester-history-item{grid-template-columns:auto minmax(0,1fr)}.semester-history-link{grid-column:2;justify-self:start}.semester-source-row .semester-source-audit-link{margin-left:0}.semester-compare-summary,.semester-compare-source-item{grid-template-columns:1fr}.semester-compare-source-item>svg{transform:rotate(90deg)}}.semester-queue-panel{gap:12px;padding:14px 16px;display:grid}.semester-queue-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.semester-queue-header>div{gap:3px;display:grid}.semester-queue-header strong{color:#0f172a;font-size:.92rem}.semester-queue-header span{color:#64748b;font-size:.78rem}.semester-queue-chips{flex-wrap:wrap;gap:8px;display:flex}.semester-queue-chip{color:#334155;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe4f0;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:.78rem;font-weight:650;transition:border-color .12s,background .12s,color .12s,box-shadow .12s;display:inline-flex}.semester-queue-chip:hover{background:#f8fbff;border-color:#93b4e8}.semester-queue-chip.is-active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb14}.semester-queue-chip.is-actionable{border-color:#b7ccf5}.semester-queue-chip.is-actionable.is-active{color:#fff;background:#2563eb;border-color:#2563eb}.semester-queue-chip-count{color:#475569;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:800;display:inline-flex}.semester-queue-chip.is-active .semester-queue-chip-count{color:#1d4ed8;background:#dbeafe}.semester-queue-chip.is-actionable.is-active .semester-queue-chip-count{color:#fff;background:#fff3}.semester-department-priority{border-top:1px solid #e6edf7;gap:10px;padding-top:12px;display:grid}.semester-department-priority-heading>div{gap:3px;display:grid}.semester-department-priority-heading strong{color:#0f172a;font-size:.86rem}.semester-department-priority-heading span{color:#64748b;font-size:.75rem}.semester-department-priority-list{gap:8px;display:grid}.semester-department-priority-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:auto minmax(180px,1.2fr) minmax(120px,.7fr) minmax(300px,1.8fr) auto;align-items:center;gap:12px;padding:10px 12px;transition:border-color .12s,box-shadow .12s,background .12s;display:grid}.semester-department-priority-item.is-actionable{background:#f8fbff;border-color:#bfdbfe}.semester-department-priority-item.is-waiting{background:#fffaf5;border-color:#fed7aa}.semester-department-priority-item.is-clear{background:#f8fffb;border-color:#d1fae5}.semester-department-priority-item.is-focused{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.semester-department-priority-rank{color:#3730a3;background:#eef2ff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.76rem;font-weight:800;display:inline-flex}.semester-department-priority-name{gap:2px;display:grid}.semester-department-priority-name strong{color:#0f172a;font-size:.82rem}.semester-department-priority-name span{color:#64748b;font-size:.72rem}.semester-department-priority-state{background:#f8fafc;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 9px;display:flex}.semester-department-priority-state span{color:#475569;font-size:.7rem;font-weight:700}.semester-department-priority-state strong{color:#0f172a;font-size:.9rem}.is-actionable .semester-department-priority-state{background:#dbeafe}.is-actionable .semester-department-priority-state span,.is-actionable .semester-department-priority-state strong{color:#1d4ed8}.is-waiting .semester-department-priority-state{background:#ffedd5}.is-waiting .semester-department-priority-state span,.is-waiting .semester-department-priority-state strong{color:#c2410c}.is-clear .semester-department-priority-state{background:#dcfce7}.is-clear .semester-department-priority-state span,.is-clear .semester-department-priority-state strong{color:#047857}.semester-department-priority-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.semester-department-priority-stats span{color:#64748b;white-space:nowrap;background:#f8fafc;border-radius:8px;align-items:baseline;gap:4px;padding:6px 7px;font-size:.68rem;display:inline-flex}.semester-department-priority-stats strong{color:#0f172a;font-size:.76rem}.semester-department-priority-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.semester-department-focus-button,.semester-department-process-button{min-height:31px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;padding:5px 9px;font-size:.7rem;font-weight:750}.semester-department-focus-button{color:#334155;background:#fff;border:1px solid #cbd5e1}.semester-department-focus-button:hover{background:#f8fafc;border-color:#94a3b8}.semester-department-process-button{color:#fff;background:#2563eb;border:1px solid #2563eb}.semester-department-process-button:hover{background:#1d4ed8}@media (width<=1120px){.semester-department-priority-item{grid-template-columns:auto minmax(160px,1fr) minmax(120px,.8fr) minmax(260px,1.5fr)}.semester-department-priority-actions{grid-column:2/-1;justify-content:flex-start}}@media (width<=980px){.semester-department-priority-item{grid-template-columns:auto minmax(160px,1fr) minmax(120px,.8fr)}.semester-department-priority-stats,.semester-department-priority-actions{grid-column:2/-1}}@media (width<=720px){.semester-queue-panel{padding:12px}.semester-queue-header{display:grid}.semester-queue-chips{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.semester-queue-chip{justify-content:space-between;width:100%}.semester-department-priority-item{grid-template-columns:auto 1fr;align-items:start}.semester-department-priority-state,.semester-department-priority-stats,.semester-department-priority-actions{grid-column:2}.semester-department-priority-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=460px){.semester-queue-chips,.semester-department-priority-stats{grid-template-columns:1fr}.semester-department-priority-actions{display:grid}}.semester-management-page{gap:16px;display:grid}.semester-management-heading{margin-bottom:0}.semester-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.semester-summary-card{border:1px solid var(--border-color,#dbe3ee);background:#fff;border-radius:14px;align-items:center;gap:12px;min-height:84px;padding:16px 18px;display:flex}.semester-summary-card>div{gap:3px;display:grid}.semester-summary-card span{color:#64748b;font-size:12px}.semester-summary-card strong{color:#0f172a;font-size:24px}.semester-summary-card.attention{border-color:#f5d28c}.semester-management-filters{grid-template-columns:190px 220px 220px minmax(280px,1fr);align-items:end;gap:12px;padding:14px;display:grid}.semester-management-filters label{gap:6px;display:grid}.semester-management-filters label>span{color:#334155;font-size:12px;font-weight:700}.semester-management-filters select,.semester-management-filters input{min-height:42px}.semester-search-label{min-width:0}.semester-filter-result-note{color:#64748b;background:#f8fafc;border-radius:9px;grid-column:1/-1;align-items:center;min-height:32px;padding:7px 10px;font-size:12px;display:flex}.semester-filter-result-note strong{color:#0f172a;margin:0 3px}.semester-bulk-selection-bar{grid-template-columns:auto auto minmax(260px,1fr);align-items:center;gap:12px 18px;padding:12px 14px;display:grid}.semester-bulk-select-all{color:#0f172a;cursor:pointer;align-items:center;gap:8px;font-weight:800;display:inline-flex}.semester-bulk-select-all input,.semester-bulk-select-cell input{accent-color:#2563eb;width:17px;height:17px}.semester-bulk-selection-count{color:#475569;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:6px 9px;font-size:12px}.semester-bulk-selection-count strong{color:#1d4ed8}.semester-bulk-selection-bar small{color:#64748b;line-height:1.45}.semester-department-groups{gap:12px;display:grid}.semester-department-group{overflow:hidden}.semester-department-group>summary,.semester-department-fixed-header{justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.semester-department-group>summary{cursor:pointer;border-bottom:1px solid #0000;list-style:none}.semester-department-group-fixed .semester-department-fixed-header{border-bottom:1px solid #e2e8f0}.semester-department-group>summary::-webkit-details-marker{display:none}.semester-department-group[open]>summary{border-bottom-color:#e2e8f0}.semester-department-title{flex:1;justify-content:space-between;align-items:center;gap:20px;min-width:0;display:flex}.semester-department-title>div:first-child{gap:3px;display:grid}.semester-department-title strong{color:#0f172a;font-size:15px}.semester-department-title span{color:#64748b;font-size:12px}.semester-department-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.semester-department-stats span{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:5px 8px;font-weight:700}.semester-department-stats span.attention{color:#b45309;background:#fff7ed}.semester-group-chevron{color:#64748b;flex:none;transition:transform .16s}.semester-department-group[open] .semester-group-chevron{transform:rotate(180deg)}.semester-management-table-scroll{overflow-x:auto}.semester-management-table{border-collapse:collapse;background:#fff;width:100%;min-width:1140px}.semester-management-table th,.semester-management-table td{vertical-align:middle;text-align:left;border-bottom:1px solid #e8edf4;padding:12px 14px}.semester-management-table th{text-transform:uppercase;letter-spacing:.02em;color:#475569;background:#f8fafc;font-size:11px;line-height:1.25}.semester-management-table tbody tr:last-child td{border-bottom:0}.semester-management-table tbody tr.is-bulk-selected td{background:#f8fbff}.semester-bulk-select-heading,.semester-bulk-select-cell{width:58px;min-width:58px;text-align:center!important}.semester-bulk-select-cell input:disabled{opacity:.35;cursor:not-allowed}.semester-teacher-cell{min-width:190px}.semester-teacher-cell strong,.semester-teacher-cell span,.semester-missing-note,.semester-revision-note{display:block}.semester-teacher-cell strong{color:#0f172a}.semester-teacher-cell span,.semester-missing-note,.semester-revision-note{color:#64748b;margin-top:3px;font-size:11px}.semester-missing-note{text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:150px;overflow:hidden}.semester-source-count{border-radius:999px;justify-content:center;min-width:42px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.semester-source-count.is-complete{color:#047857;background:#ecfdf5}.semester-source-count.is-missing{color:#b45309;background:#fff7ed}.semester-number-cell{font-variant-numeric:tabular-nums;color:#334155;font-weight:700;text-align:center!important}.semester-difference.positive{color:#047857}.semester-difference.negative{color:#b91c1c}.semester-management-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.semester-status-missing_source{color:#b45309;background:#fff7ed}.semester-status-ready_to_create{color:#1d4ed8;background:#eff6ff}.semester-status-active{color:#047857;background:#ecfdf5}.semester-status-needs_update{color:#b91c1c;background:#fef2f2}.semester-status-superseded{color:#475569;background:#f1f5f9}.semester-row-actions{flex-wrap:wrap;align-items:center;gap:7px;min-width:160px;display:flex}.semester-row-actions button{min-height:34px}.semester-report-action-button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 11px;font-weight:800;display:inline-flex}.semester-report-action-button.is-create{color:#fff;background:#2563eb;border-color:#2563eb}.semester-report-action-button.is-update{color:#b45309;background:#fff7ed;border-color:#fed7aa}.semester-report-action-button:disabled{opacity:.6;cursor:not-allowed}.semester-selected-bulk-action:disabled{background:#94a3b8;border-color:#94a3b8}.semester-teacher-own-panel{overflow:hidden}.semester-own-header{border-bottom:1px solid #e2e8f0;padding:15px 18px}.semester-own-header>div{gap:3px;display:grid}.semester-own-header span{color:#64748b;font-size:12px}.semester-own-header strong{color:#0f172a}.semester-bulk-result-summary{background:#f8fafc;border:1px solid #dbe3ee;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.semester-bulk-result-summary>div{gap:3px;display:grid}.semester-bulk-result-summary strong,.semester-bulk-result-summary span{display:block}.semester-bulk-result-summary span{color:#475569;font-size:12px}.semester-bulk-result-summary.is-complete{color:#047857;background:#f0fdf4;border-color:#bbf7d0}.semester-bulk-result-summary.has-skip{color:#a16207;background:#fffbeb;border-color:#fde68a}.semester-bulk-result-summary.has-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.semester-bulk-result-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.semester-bulk-result-counts>div{background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.semester-bulk-result-counts span{color:#64748b;font-size:12px}.semester-bulk-result-counts strong{font-size:18px}.semester-bulk-result-counts .is-success strong{color:#047857}.semester-bulk-result-counts .is-skipped strong{color:#a16207}.semester-bulk-result-counts .is-error strong{color:#b91c1c}.semester-bulk-result-list{gap:8px;display:grid}.semester-bulk-result-item{border-left:3px solid #cbd5e1}.semester-bulk-result-item.is-success{border-left-color:#22c55e}.semester-bulk-result-item.is-skipped{border-left-color:#eab308}.semester-bulk-result-item.is-error{border-left-color:#ef4444}.semester-bulk-result-item.is-success>strong{color:#047857}.semester-bulk-result-item.is-skipped>strong{color:#a16207}.semester-bulk-result-item.is-error>strong{color:#b91c1c}@media (width<=1100px){.semester-summary-grid,.semester-management-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.semester-bulk-selection-bar{grid-template-columns:1fr auto}.semester-bulk-selection-bar small{grid-column:1/-1}}@media (width<=720px){.semester-summary-grid,.semester-management-filters,.semester-bulk-result-counts,.semester-bulk-selection-bar{grid-template-columns:1fr}.semester-department-title{flex-direction:column;align-items:flex-start}.semester-department-stats{justify-content:flex-start}.semester-bulk-selection-count{justify-self:start}}.monthly-revision-audit-page{gap:16px;display:grid}.monthly-audit-readonly-badge{color:#047857;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.monthly-audit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.monthly-audit-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.monthly-audit-field{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:4px;min-width:0;padding:10px 12px;display:grid}.monthly-audit-field span{color:#64748b;font-size:.7rem}.monthly-audit-field strong{overflow-wrap:anywhere;color:#0f172a;font-size:.8rem;line-height:1.45}.monthly-revision-comparison{border-color:#c7d2fe}.monthly-compare-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.monthly-compare-overview article{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:5px;padding:11px 12px;display:grid}.monthly-compare-overview span{color:#64748b;font-size:.7rem;font-weight:700}.monthly-compare-overview strong{color:#0f172a;font-size:1rem}.monthly-compare-overview small{color:#64748b;font-size:.7rem;line-height:1.4}.monthly-compare-section{gap:8px;margin-top:16px;display:grid}.monthly-compare-section h3{color:#0f172a;margin:0;font-size:.88rem}.monthly-compare-table-scroll{overflow-x:auto}.monthly-compare-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.76rem}.monthly-compare-table th,.monthly-compare-table td{text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:9px 10px}.monthly-compare-table thead th{color:#475569;text-transform:uppercase;letter-spacing:.02em;background:#f8fafc;font-size:.7rem}.monthly-compare-table tbody th{color:#334155;background:#fffdf5;width:24%}.monthly-compare-table tbody td{overflow-wrap:anywhere;background:#fff}.monthly-compare-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:12px;font-size:.76rem;line-height:1.45}.monthly-compare-swap-links{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}@media (width<=1050px){.monthly-audit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.monthly-audit-grid,.monthly-audit-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-compare-overview{grid-template-columns:1fr}}@media (width<=520px){.monthly-audit-grid,.monthly-audit-notes{grid-template-columns:1fr}}:root{font-synthesis:none;text-rendering:optimizelegibility;color:#172033;background:#f4f6f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{color:#172033;background:#f4f6f9;min-height:100vh}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card,.status-card{background:#fff;border:1px solid #e2e7ef;border-radius:18px;width:min(440px,100%);padding:34px;box-shadow:0 18px 45px #15223a14}.auth-card h1{color:#172033;margin:0 0 10px;font-size:1.35rem;font-weight:750;line-height:1.25}.status-card h1{color:#172033;margin:6px 0 8px}.page-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#2262ad;margin:0 0 4px;font-size:.78rem;font-weight:800}.muted{color:#667085}.auth-form{gap:18px;margin-top:28px;display:grid}.auth-form label{color:#344054;gap:7px;font-weight:650;display:grid}.auth-form input{color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:9px;width:100%;height:46px;padding:0 12px}.auth-form input:focus{border-color:#2262ad;outline:3px solid #2262ad1f}.auth-form button{color:#fff;background:#2262ad;border:0;border-radius:9px;min-height:46px;font-weight:700}.login-intro{text-align:center}.login-intro .muted{margin-left:auto;margin-right:auto}.login-brand{margin-bottom:14px}.organization-name{color:#dc2626;letter-spacing:.01em;text-transform:uppercase;margin:0;font-size:1.75rem;font-weight:800;line-height:1.15}.login-footer{color:#98a2b3;text-align:center;border-top:1px solid #edf0f4;margin-top:26px;padding-top:18px;font-size:.72rem}.shell{min-height:100vh;display:flex}.sidebar{z-index:40;color:#fff;background:#12213a;border-right:1px solid #ffffff0f;flex-direction:column;width:264px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;height:78px;padding:0 20px;display:flex}.brand-icon{background:#2b6cba;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.sidebar-brand>div:nth-child(2){display:grid}.sidebar-brand strong{letter-spacing:.04em;font-size:1rem}.sidebar-brand span{color:#aebbd0;margin-top:1px;font-size:.78rem}.sidebar-close{color:#fff;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;margin-left:auto;padding:0;display:none}.sidebar-nav{flex:1;padding:20px 12px}.sidebar-section-label{color:#8393ac;letter-spacing:.09em;text-transform:uppercase;margin:0 10px 10px;font-size:.7rem;font-weight:800}.nav-item{color:#c8d2e2;border-radius:9px;align-items:center;gap:11px;min-height:44px;margin-bottom:4px;padding:0 12px;font-size:.91rem;font-weight:600;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item-active{color:#fff;background:#234c7e}.nav-item-disabled{cursor:default;opacity:.6}.nav-item-disabled small{background:#ffffff14;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:.62rem}.sidebar-footer{border-top:1px solid #ffffff14;gap:3px;padding:18px 20px 22px;display:grid}.sidebar-footer span{font-size:.78rem;font-weight:700}.sidebar-footer small{color:#8393ac;font-size:.68rem}.sidebar-backdrop{display:none}.shell-main{width:calc(100% - 264px);min-width:0;margin-left:264px}.topbar{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid #e5e9f0;align-items:center;gap:20px;height:78px;padding:0 28px;display:flex;position:sticky;top:0}.mobile-menu-button{color:#344054;background:#fff;border:1px solid #e2e7ef;border-radius:9px;width:40px;height:40px;padding:0;display:none}.topbar-context{display:grid}.topbar-context-label{color:#98a2b3;font-size:.72rem}.topbar-context strong{color:#344054;font-size:.9rem}.topbar-user{align-items:center;gap:11px;margin-left:auto;display:flex}.user-avatar{color:#2262ad;background:#edf4fc;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.user-summary{min-width:150px;display:grid}.user-summary strong{color:#344054;font-size:.85rem}.user-summary span{text-overflow:ellipsis;white-space:nowrap;color:#667085;max-width:260px;font-size:.72rem;overflow:hidden}.icon-text-button{color:#475467;background:#fff;border:1px solid #dfe4eb;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-weight:650;display:inline-flex}.icon-text-button:hover{background:#f7f9fc}.page-container{width:100%;padding:30px}.page{width:min(1400px,100%);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-heading h1{color:#172033;margin:3px 0 5px;font-size:clamp(1.65rem,2.6vw,2.25rem);line-height:1.2}.page-heading p:not(.page-eyebrow){color:#667085;margin:0}.surface{background:#fff;border:1px solid #e2e7ef;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #15223a06}.surface-header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:18px 22px;display:flex}.surface-header h2{color:#25324a;margin:0;font-size:1.05rem}.surface-header p{color:#7a8494;margin:3px 0 0;font-size:.83rem}.dashboard-grid,.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-grid{margin-bottom:20px}.dashboard-card,.stat-card{background:#fff;border:1px solid #e2e7ef;border-radius:13px;align-items:center;gap:14px;min-width:0;display:flex}.dashboard-card{min-height:116px;padding:20px}.card-icon,.stat-icon{color:#2262ad;background:#edf4fc;border-radius:11px;flex:none;place-items:center;display:grid}.card-icon{width:46px;height:46px}.dashboard-card>div:last-child{min-width:0;display:grid}.card-label{color:#7a8494;font-size:.77rem}.card-value{text-overflow:ellipsis;white-space:nowrap;color:#25324a;margin-top:2px;font-size:1.03rem;overflow:hidden}.card-meta{text-overflow:ellipsis;white-space:nowrap;color:#667085;margin-top:2px;font-size:.74rem;overflow:hidden}.dashboard-content-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:20px;display:grid}.quick-actions{gap:10px;padding:18px;display:grid}.quick-action{min-height:76px;color:inherit;border:1px solid #e4e9f0;border-radius:11px;align-items:center;gap:13px;padding:14px 16px;text-decoration:none;display:flex}.quick-action-icon{color:#2262ad;background:#edf4fc;border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.quick-action-content{flex:1;min-width:0;display:grid}.quick-action-content strong{color:#344054}.quick-action-content small{color:#7a8494;margin-top:2px}.quick-action-disabled{opacity:.65}.role-stack{gap:0;padding:8px 20px;display:grid}.role-row{border-bottom:1px solid #edf0f4;align-items:center;gap:12px;min-height:64px;display:flex}.role-row:last-child{border-bottom:0}.role-dot{background:#2d74c3;border-radius:50%;flex:none;width:9px;height:9px}.role-row div{display:grid}.role-row small{color:#7a8494}.security-box{color:#667085;background:#f5f7fa;border-radius:9px;margin:12px 20px 20px;padding:12px 14px;font-size:.78rem}.year-pill{color:#667085;background:#fff;border:1px solid #dfe5ed;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:.78rem;display:flex}.stats-grid{margin-bottom:20px}.stat-card{min-height:92px;padding:16px 18px}.stat-icon{width:42px;height:42px}.stat-card>div:last-child{display:grid}.stat-card span{color:#7a8494;font-size:.76rem}.stat-card strong{color:#25324a;font-size:1.5rem;line-height:1.2}.semester-stack{gap:20px;display:grid}.semester-kicker{color:#2262ad;letter-spacing:.09em;font-size:.68rem;font-weight:800}.semester-count{color:#667085;background:#eef2f6;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:700}.table-scroll{overflow-x:auto}.reports-table{border-collapse:collapse;width:100%;font-size:.84rem}.reports-table th{color:#667085;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e8ecf2;height:46px;padding:0 16px;font-size:.72rem;font-weight:750}.reports-table td{color:#344054;vertical-align:middle;border-bottom:1px solid #eef1f5;height:64px;padding:8px 16px}.reports-table tbody tr:last-child td{border-bottom:0}.period-cell{display:grid}.period-cell strong{color:#25324a}.period-cell span{color:#98a2b3;margin-top:2px;font-size:.69rem}.numeric-column{font-variant-numeric:tabular-nums;text-align:right!important}.action-column{width:130px;text-align:right!important}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:27px;padding:3px 9px;font-size:.7rem;font-weight:750;display:inline-flex}.status-missing{color:#667085;background:#f2f4f7}.status-draft{color:#315b9d;background:#eef4ff}.status-submitted{color:#946200;background:#fff6e8}.status-returned,.status-reopened{color:#b42318;background:#fff0f0}.status-department_approved{color:#18794e;background:#ecf8f1}.status-final_approved{color:#0d7168;background:#eaf7f6}.status-voided{color:#667085;background:#f2f4f7}.difference-value{font-weight:750}.difference-positive{color:#18794e!important}.difference-negative{color:#b42318!important}.difference-zero{color:#667085!important}.table-action-button{color:#fff;white-space:nowrap;background:#2262ad;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:.76rem;font-weight:700;display:inline-flex}.table-action-button:hover:not(:disabled){background:#194f8e}.table-action-button.secondary{color:#667085;background:#fff;border:1px solid #dfe4eb}.loading-surface{color:#667085;justify-content:center;align-items:center;gap:10px;min-height:160px;display:flex}.alert{border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:.82rem;display:flex}.alert svg{flex:none;margin-top:1px}.alert-error,.error-message{color:#a12622;background:#fff1f1}.alert-success{color:#18794e;background:#edf8f2}.alert-warning{color:#8a5a00;background:#fff7e8}.error-message{border-radius:8px;margin:0;padding:10px 12px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.dashboard-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-content-grid{grid-template-columns:1fr}}@media (width<=840px){.sidebar{transition:transform .18s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-close{display:grid}.sidebar-backdrop{z-index:35;background:#0d17287a;border:0;padding:0;display:block;position:fixed;inset:0}.shell-main{width:100%;margin-left:0}.mobile-menu-button{place-items:center;display:grid}.topbar{padding:0 18px}.topbar-context{display:none}.user-summary{min-width:0}.user-summary span{max-width:180px}.page-container{padding:22px 18px}}@media (width<=620px){.dashboard-grid,.stats-grid{grid-template-columns:1fr}.page-heading{flex-direction:column}.user-summary,.icon-text-button span{display:none}.auth-card,.status-card{padding:26px 22px}}.login-intro h1,.login-intro .organization-name,.login-intro .muted{text-align:center}.detail-toolbar{margin-bottom:18px}.back-link{color:#475467;align-items:center;gap:6px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:#2262ad}.detail-heading-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editable-pill{color:#8a5a00;background:#fff7e8;border-radius:999px;align-items:center;min-height:27px;padding:3px 9px;font-size:.7rem;font-weight:750;display:inline-flex}.detail-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.detail-summary-card{background:#fff;border:1px solid #e2e7ef;border-radius:13px;align-items:center;gap:13px;min-width:0;min-height:96px;padding:17px 18px;display:flex}.detail-summary-card>svg{color:#2262ad;flex:none}.detail-summary-card>div{min-width:0;display:grid}.detail-summary-card span{color:#7a8494;font-size:.73rem}.detail-summary-card strong{color:#25324a;margin-top:1px;font-size:1.05rem}.detail-summary-card small{color:#98a2b3;margin-top:1px}.detail-stack{gap:20px;display:grid}.read-grid,.metric-grid{gap:14px;padding:20px 22px;display:grid}.read-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.read-field{background:#fbfcfe;border:1px solid #e6eaf0;border-radius:10px;align-content:center;gap:4px;min-width:0;min-height:82px;padding:13px 14px;display:grid}.read-field span{color:#7a8494;font-size:.72rem}.read-field strong{overflow-wrap:anywhere;color:#344054;font-size:.92rem}.read-field small{color:#98a2b3;font-size:.7rem}.highlight-field{background:#f7faff;border-color:#cfe0f3}.table-action-button{text-decoration:none}@media (width<=1100px){.detail-summary-grid,.metric-grid,.read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.detail-summary-grid,.read-grid,.metric-grid{grid-template-columns:1fr}}.horizontal-header{background:#fff;border-bottom:1px solid #e5eaf1}.horizontal-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1480px,100% - 40px);min-height:72px;margin:0 auto;display:flex}.application-brand{align-items:center;gap:11px;min-width:0;display:flex}.application-brand-icon{color:#fff;background:linear-gradient(135deg,#5937d6,#3f63e8);border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.application-brand-text{min-width:0;display:grid}.application-brand-text span{color:#7b8aa3;letter-spacing:.07em;text-transform:uppercase;font-size:.67rem;font-weight:800}.application-brand-text strong{color:#172033;font-size:.98rem}.header-account{align-items:center;gap:10px;min-width:0;display:flex}.header-avatar{color:#5a4adb;background:#f6f8ff;border:1px solid #d8e2f0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.header-account-info{min-width:0;display:grid}.header-account-info strong{color:#25324a;font-size:.82rem}.header-account-info span{text-overflow:ellipsis;white-space:nowrap;color:#7a8494;max-width:290px;font-size:.7rem;overflow:hidden}.header-signout{color:#667085;background:#fff;border:1px solid #dfe5ed;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-weight:650;display:inline-flex}.header-signout:hover{background:#f7f9fc}.horizontal-nav-shell{z-index:25;background:#fff;border-bottom:1px solid #e5eaf1;position:sticky;top:0;box-shadow:0 2px 8px #15223a06}.horizontal-nav-inner{width:min(1480px,100% - 40px);margin:0 auto}.horizontal-nav{align-items:center;gap:3px;min-height:52px;display:flex}.horizontal-nav-item{color:#596579;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:.79rem;font-weight:650;text-decoration:none;display:inline-flex;position:relative}.horizontal-nav-item:hover{color:#4f46cf;background:#f4f5ff}.horizontal-nav-active{color:#5138dc;background:#eeeaff}.horizontal-nav-active:after{content:"";background:#5b41e4;border-radius:999px;height:2px;position:absolute;bottom:-7px;left:12px;right:12px}.horizontal-nav-disabled{cursor:default;opacity:.52}.horizontal-nav-disabled small{color:#98a2b3;background:#eef1f5;border-radius:999px;margin-left:2px;padding:2px 5px;font-size:.58rem}.horizontal-nav-mobile-toggle{display:none}.horizontal-content{width:min(1480px,100% - 40px);margin:0 auto;padding:26px 0 52px}@media (width<=820px){.horizontal-header-inner,.horizontal-nav-inner,.horizontal-content{width:min(100% - 28px,1480px)}.horizontal-header-inner{min-height:66px}.application-brand-text span{display:none}.application-brand-text strong{font-size:.86rem}.header-account-info,.header-signout span{display:none}.horizontal-nav-mobile-toggle{color:#475467;background:0 0;border:0;align-items:center;gap:7px;min-height:46px;padding:0;font-weight:700;display:inline-flex}.horizontal-nav{flex-direction:column;align-items:stretch;padding:0 0 12px;display:none}.horizontal-nav-open{display:flex}.horizontal-nav-item{width:100%}.horizontal-nav-active:after{display:none}.horizontal-content{padding-top:20px}}.declaration-page{max-width:1320px}.period-navigator{margin-bottom:16px;padding:14px 16px 16px}.period-navigator-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.period-navigator-header>div{display:grid}.period-navigator-header span{color:#7a8494;font-size:.7rem}.period-navigator-header strong{color:#344054;font-size:.9rem}.period-navigator-header small{color:#98a2b3}.period-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.period-tab{color:#475467;background:#fff;border:1px solid #e0e6ee;border-radius:9px;align-content:center;gap:2px;min-height:58px;padding:9px 10px;text-decoration:none;display:grid}.period-tab:hover{background:#f8faff;border-color:#b9c9e2}.period-tab span{font-size:.78rem;font-weight:750}.period-tab small{color:#98a2b3;font-size:.64rem}.period-tab-active{color:#5138dc;background:#f2efff;border-color:#6447e7}.period-tab-active small{color:#735fe2}.period-tab-disabled{opacity:.55;cursor:default}.declaration-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:18px 20px;display:flex}.declaration-heading h1{color:#172033;margin:2px 0 3px;font-size:1.4rem}.declaration-heading p:not(.page-eyebrow){color:#7a8494;margin:0;font-size:.78rem}.declaration-heading-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.declaration-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.declaration-main,.detail-stack{gap:16px;display:grid}.declaration-section{overflow:hidden}.declaration-section-header{border-bottom:1px solid #edf0f4;align-items:center;gap:11px;min-height:70px;padding:14px 18px;display:flex}.section-letter{color:#563dd6;background:#eeeaff;border-radius:8px;flex:none;place-items:center;width:31px;height:31px;font-size:.77rem;font-weight:850;display:grid}.declaration-section-header h2{color:#25324a;margin:0;font-size:.96rem}.declaration-section-header p{color:#8a94a5;margin:2px 0 0;font-size:.7rem}.declaration-grid{gap:10px;padding:16px 18px 18px;display:grid}.declaration-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.declaration-field{background:#fbfcfe;border:1px solid #e4e9f0;border-radius:8px;align-content:center;gap:3px;min-width:0;min-height:66px;padding:10px 12px;display:grid}.declaration-field>span{color:#7a8494;font-size:.68rem}.declaration-field>strong{color:#344054;font-size:.82rem}.declaration-field>small{color:#98a2b3;font-size:.64rem}.duty-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 18px 18px;display:grid}.duty-list .declaration-field:last-child{grid-column:1/-1}.monthly-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 18px;display:grid}.readonly-input-group{gap:6px;min-width:0;display:grid}.readonly-input-group label{color:#475467;font-size:.72rem;font-weight:700}.readonly-input-row{align-items:center;gap:7px;display:flex}.readonly-input-row input{color:#344054;background:#f7f9fc;border:1px solid #dce3ec;border-radius:7px;width:100%;min-width:0;height:38px;padding:0 10px;font-weight:700}.readonly-input-row span{color:#7a8494;flex:none;font-size:.7rem}.readonly-input-group textarea{resize:none;color:#667085;width:100%;font:inherit;background:#f8fafc;border:1px solid #e3e8ef;border-radius:7px;padding:8px 10px;font-size:.7rem}.readonly-input-group input:disabled,.readonly-input-group textarea:disabled{opacity:1}.declaration-form-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:9px;padding:14px 18px 18px;display:flex}.declaration-save-button,.declaration-submit-button{border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:.74rem;font-weight:750;display:inline-flex}.declaration-save-button{color:#667085;background:#fff;border:1px solid #d7dfea}.declaration-submit-button{color:#fff;background:#f5a623;border:0}.monthly-result-column{position:sticky;top:72px}.monthly-result-card{overflow:hidden}.monthly-result-header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:10px;min-height:62px;padding:14px 16px;display:flex}.monthly-result-header>div{align-items:center;gap:8px;display:flex}.monthly-result-header svg{color:#5b41e4}.monthly-result-header h2{color:#25324a;margin:0;font-size:.94rem}.result-difference-box{background:#f8fbff;border:1px solid #d8e4ef;border-radius:10px;justify-items:center;margin:14px 14px 10px;padding:14px;display:grid}.result-difference-box span{color:#7a8494;font-size:.68rem}.result-difference-box strong{margin:2px 0 0;font-size:1.75rem;line-height:1.15}.result-difference-box small{color:#98a2b3;font-size:.66rem}.result-breakdown{padding:2px 14px 14px}.result-breakdown>div{border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;gap:12px;min-height:39px;display:flex}.result-breakdown>div:last-child{border-bottom:0}.result-breakdown span{color:#667085;font-size:.68rem}.result-breakdown strong{color:#344054;font-variant-numeric:tabular-nums;flex:none;font-size:.77rem}.result-emphasis{background:#fbfcfe}.result-emphasis span,.result-emphasis strong{font-weight:750}.result-note,.result-warning{border-radius:8px;align-items:flex-start;gap:8px;margin:0 14px 14px;padding:10px 11px;font-size:.66rem;display:flex}.result-note{color:#18794e;background:#eff9f4}.result-warning{color:#8a5a00;background:#fff6e8}.result-note svg,.result-warning svg{flex:none}@media (width<=1050px){.declaration-layout{grid-template-columns:1fr}.monthly-result-column{position:static}.declaration-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.period-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.declaration-heading{flex-direction:column;align-items:flex-start}.declaration-grid-three,.duty-list,.monthly-input-grid{grid-template-columns:1fr}.duty-list .declaration-field:last-child{grid-column:auto}.declaration-form-actions{flex-direction:column}.declaration-save-button,.declaration-submit-button{justify-content:center}}.monthly-input-editable{background:#fbfdff;border:1px solid #dbe5f1;border-radius:9px;padding:10px}.monthly-input-editable .readonly-input-row input,.monthly-input-editable textarea{color:#25324a;background:#fff;border-color:#b9c9df}.monthly-input-editable .readonly-input-row input:hover,.monthly-input-editable textarea:hover{border-color:#91add0}.monthly-input-editable .readonly-input-row input:focus,.monthly-input-editable textarea:focus{border-color:#6751dc;outline:3px solid #5b41e41a}.declaration-save-button:not(:disabled){color:#315b8a;background:#fff;border-color:#b7c8dc}.declaration-save-button:not(:disabled):hover{background:#f2f7fc;border-color:#8faac9}.workflow-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.workflow-dialog{background:#fff;border:1px solid #e0e5ec;border-radius:14px;width:min(500px,100%);overflow:hidden;box-shadow:0 24px 70px #0f172a33}.workflow-dialog-header{border-bottom:1px solid #edf0f4;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.workflow-dialog-icon{color:#c77700;background:#fff4df;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.workflow-dialog-header>div:nth-child(2){flex:1}.workflow-dialog-header h2{color:#25324a;margin:0;font-size:1rem}.workflow-dialog-header p{color:#7a8494;margin:3px 0 0;font-size:.75rem}.workflow-dialog-close{color:#667085;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid}.workflow-dialog-close:hover:not(:disabled){background:#f3f5f8}.workflow-dialog-body{gap:16px;padding:18px 20px;display:grid}.workflow-warning{color:#8a5a00;background:#fff7e8;border-radius:9px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:.74rem;display:flex}.workflow-warning svg{flex:none}.workflow-comment{gap:6px;display:grid}.workflow-comment>span{color:#475467;font-size:.75rem;font-weight:700}.workflow-comment textarea{resize:vertical;color:#344054;width:100%;min-height:90px;font:inherit;background:#fff;border:1px solid #ccd6e2;border-radius:8px;padding:10px 11px;font-size:.78rem}.workflow-comment textarea:focus{border-color:#6751dc;outline:3px solid #5b41e41a}.workflow-dialog-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:9px;padding:14px 20px 18px;display:flex}.workflow-cancel-button,.workflow-confirm-button{border-radius:8px;min-height:38px;padding:0 14px;font-size:.76rem;font-weight:750}.workflow-cancel-button{color:#667085;background:#fff;border:1px solid #d8e0e9}.workflow-confirm-button{color:#fff;background:#f5a623;border:0;align-items:center;gap:6px;display:inline-flex}.workflow-confirm-button:hover:not(:disabled){background:#dc9017}.workflow-locked-state{color:#18794e;background:#f1faf5;border:1px solid #cfe8dc;border-radius:9px;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;display:flex}.workflow-locked-state>svg{flex:none;margin-top:1px}.workflow-locked-state>div{gap:2px;display:grid}.workflow-locked-state strong{font-size:.78rem}.workflow-locked-state span{color:#547566;font-size:.7rem}.department-review-page{max-width:1320px}.department-review-summary{grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:16px;display:grid}.review-summary-card{background:#fff;border:1px solid #e1e7ef;border-radius:11px;align-items:center;gap:12px;min-height:80px;padding:15px 16px;display:flex}.review-summary-card>svg{color:#5b41e4}.review-summary-card>div{display:grid}.review-summary-card span{color:#7a8494;font-size:.7rem}.review-summary-card strong{color:#25324a;font-size:1.35rem}.review-filter-panel{margin-bottom:18px;padding:16px}.review-filter-grid{grid-template-columns:minmax(220px,.5fr) minmax(280px,1fr);gap:14px;display:grid}.review-filter-grid label{gap:6px;display:grid}.review-filter-grid label>span{color:#667085;font-size:.7rem;font-weight:700}.review-filter-grid select,.review-search-box{background:#fff;border:1px solid #d8e0ea;border-radius:8px;min-height:40px}.review-filter-grid select{color:#344054;padding:0 10px}.review-search-box{color:#98a2b3;align-items:center;gap:8px;padding:0 11px;display:flex}.review-search-box input{color:#344054;background:0 0;border:0;outline:0;width:100%;min-width:0}.review-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.teacher-review-card{background:#fff;border:1px solid #dde5ee;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #15223a06}.teacher-review-card-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 16px 12px;display:flex}.teacher-review-card-header>div{min-width:0;display:grid}.teacher-review-card-header strong{text-overflow:ellipsis;white-space:nowrap;color:#25324a;font-size:.9rem;overflow:hidden}.teacher-review-period{border-bottom:1px solid #edf0f4;margin:0 16px 12px;padding-bottom:11px;display:grid}.teacher-review-period>span{color:#344054;font-size:.78rem;font-weight:750}.teacher-review-period small{color:#98a2b3;font-size:.65rem}.teacher-review-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 16px 12px;display:grid}.teacher-review-metrics>div{background:#fbfcfe;border:1px solid #e6eaf0;border-radius:8px;padding:9px 8px;display:grid}.teacher-review-metrics span{color:#8490a2;font-size:.62rem}.teacher-review-metrics strong{color:#344054;font-size:.84rem}.teacher-review-difference{background:#f8fbff;border:1px solid #dce5ef;border-radius:8px;justify-content:space-between;align-items:center;margin:0 16px 12px;padding:10px 11px;display:flex}.teacher-review-difference span{color:#667085;font-size:.68rem}.teacher-review-difference strong{font-size:.88rem}.teacher-review-meta{border-top:1px solid #edf0f4;justify-content:space-between;gap:10px;margin:0 16px;padding:9px 0;display:flex}.teacher-review-meta span{color:#98a2b3;font-size:.64rem}.teacher-review-meta strong{color:#667085;font-size:.65rem}.teacher-review-actions{border-top:1px solid #edf0f4;justify-content:flex-end;padding:11px 16px 14px;display:flex}.review-secondary-button{color:#667085;background:#fff;border:1px solid #d8e0e9;border-radius:7px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:.7rem;font-weight:700;display:inline-flex}.review-empty-state{text-align:center;color:#667085;align-content:center;place-items:center;gap:7px;min-height:220px;padding:30px;display:grid}.review-empty-state h2{color:#344054;margin:0;font-size:1rem}.review-empty-state p{margin:0;font-size:.78rem}@media (width<=1050px){.review-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.department-review-summary,.review-filter-grid,.review-card-grid{grid-template-columns:1fr}}.department-detail-page{max-width:1320px}.department-workflow-preview{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.department-workflow-preview>div:first-child{gap:2px;display:grid}.department-workflow-preview strong{color:#344054;font-size:.8rem}.department-workflow-preview span{color:#7a8494;font-size:.7rem}.department-workflow-preview>div:last-child{gap:8px;display:flex}.review-return-button,.review-approve-button{border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:.72rem;font-weight:750;display:inline-flex}.review-return-button{color:#b42318;background:#fff;border:1px solid #efc2c2}.review-approve-button{color:#fff;background:#159669;border:0}.review-secondary-button{text-decoration:none}@media (width<=720px){.department-workflow-preview{flex-direction:column;align-items:stretch}.department-workflow-preview>div:last-child{flex-direction:column}.review-return-button,.review-approve-button{justify-content:center}}.return-dialog-icon{color:#b42318;background:#fff0f0}.return-warning{color:#8a4b00;background:#fff4e8}.required-mark{color:#d92d20}.workflow-return-confirm-button{color:#fff;background:#d92d20;border:0;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:.76rem;font-weight:750;display:inline-flex}.workflow-return-confirm-button:hover:not(:disabled){background:#b42318}.workflow-return-confirm-button:disabled{cursor:not-allowed;opacity:.5}.review-return-button:not(:disabled){cursor:pointer}.review-return-button:hover:not(:disabled){background:#fff5f5;border-color:#e59a9a}.monthly-owned-field{background:#fff;border:1px solid #d9e0ea;border-radius:7px;gap:6px;min-width:0;padding:9px 10px;display:grid}.monthly-owned-field-label{color:#667085;font-size:.67rem;font-weight:650}.monthly-owned-number-control{align-items:center;gap:7px;display:flex}.monthly-owned-number-control input,.monthly-owned-text-input{color:#101828;width:100%;min-width:0;height:31px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:0 8px;font-size:.74rem;font-weight:650}.monthly-owned-number-control span{color:#667085;flex:none;font-size:.67rem}.monthly-owned-number-control input:focus,.monthly-owned-text-input:focus{border-color:#695cff;outline:2px solid #695cff1f}.monthly-owned-number-control input:disabled,.monthly-owned-text-input:disabled{cursor:not-allowed;color:#344054;opacity:1;background:#f8fafc;border-color:#0000}.approve-dialog-icon,.approve-warning{color:#067647;background:#ecfdf3}.workflow-approve-confirm-button{color:#fff;background:#159669;border:0;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:.76rem;font-weight:750;display:inline-flex}.workflow-approve-confirm-button:hover:not(:disabled){background:#107653}.workflow-approve-confirm-button:disabled{cursor:not-allowed;opacity:.55}.review-approve-button:not(:disabled){cursor:pointer}.review-approve-button:hover:not(:disabled){background:#107653}.workflow-comment small{color:#98a2b3;font-weight:500}:root{--ui-color-bg:#f5f7fa;--ui-color-surface:#fff;--ui-color-surface-muted:#f8fafc;--ui-color-surface-subtle:#f1f5f9;--ui-color-text:#172033;--ui-color-text-strong:#0f172a;--ui-color-text-muted:#667085;--ui-color-text-soft:#8b95a7;--ui-color-border:#dde3eb;--ui-color-border-strong:#cbd5e1;--ui-color-primary:#1f5fa8;--ui-color-primary-strong:#174b86;--ui-color-primary-soft:#edf4fb;--ui-color-primary-subtle:#f5f9fd;--ui-color-success:#18794e;--ui-color-warning:#946200;--ui-color-danger:#b42318;--ui-radius-sm:8px;--ui-radius-md:10px;--ui-radius-lg:12px;--ui-radius-xl:14px;--ui-shadow-xs:0 1px 2px #0f172a0a;--ui-shadow-sm:0 4px 14px #0f172a0d;--ui-shadow-nav:0 6px 18px #0f172a0e;--ui-content-width:1440px;--ui-focus-ring:0 0 0 3px #1f5fa829}html{background:var(--ui-color-bg)}body{background:var(--ui-color-bg);color:var(--ui-color-text)}button,a,input,select,textarea{transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--ui-focus-ring);outline:none}.surface,.dashboard-card,.stat-card,.detail-summary-card,.official-report-card{border-color:var(--ui-color-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-xs)}.surface-header{border-bottom-color:#e9edf3}.page-eyebrow{color:var(--ui-color-primary);letter-spacing:.075em;font-size:.74rem}.page-heading h1,.declaration-heading h1{color:var(--ui-color-text-strong);letter-spacing:-.018em}.page-heading p:not(.page-eyebrow),.declaration-heading p:not(.page-eyebrow),.muted{color:var(--ui-color-text-muted)}.status-badge,.editable-pill{border:1px solid #0000}.horizontal-shell{background:linear-gradient(180deg, #f8fafc 0, var(--ui-color-bg) 210px);min-height:100vh}.horizontal-header{border-bottom:1px solid var(--ui-color-border);background:#fffffffa}.horizontal-header-inner,.horizontal-nav-inner,.horizontal-content{width:min(var(--ui-content-width), calc(100% - 48px))}.horizontal-header-inner{gap:28px;min-height:76px}.application-brand{gap:12px}.application-brand-icon{border-radius:var(--ui-radius-md);background:linear-gradient(145deg,#174b86,#2570bd);border:1px solid #ffffff59;width:42px;height:42px;box-shadow:0 5px 14px #1f5fa82e}.application-brand-text{gap:1px}.application-brand-text span{color:#718096;letter-spacing:.075em;font-size:.68rem;font-weight:800}.application-brand-text strong{color:var(--ui-color-text-strong);letter-spacing:-.01em;font-size:1rem;font-weight:760}.header-account{gap:11px}.header-avatar{background:var(--ui-color-primary-soft);width:40px;height:40px;color:var(--ui-color-primary);border-color:#d9e3ee}.header-account-info{gap:1px;padding-right:4px}.header-account-info strong{color:var(--ui-color-text-strong);font-size:.84rem;font-weight:720}.header-account-info span{max-width:320px;color:var(--ui-color-text-muted);font-size:.71rem}.header-account-info small{color:var(--ui-color-text-soft);font-size:.67rem}.header-signout{border-color:var(--ui-color-border);border-radius:var(--ui-radius-sm);background:var(--ui-color-surface);color:#526071;min-height:40px;padding:0 12px;font-size:.8rem}.header-signout:hover{background:var(--ui-color-surface-muted);color:var(--ui-color-text-strong);border-color:#c9d4e1}.horizontal-nav-shell{z-index:25;border-bottom:1px solid var(--ui-color-border);box-shadow:var(--ui-shadow-nav);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;position:sticky;top:0}.horizontal-nav{scrollbar-width:none;gap:4px;min-height:56px;overflow-x:auto}.horizontal-nav::-webkit-scrollbar{display:none}.horizontal-nav-item{border-radius:var(--ui-radius-sm);color:#536174;flex:none;min-height:38px;padding:0 11px;font-size:.79rem;font-weight:650}.horizontal-nav-item svg{color:#778398}.horizontal-nav-item:hover{background:var(--ui-color-primary-subtle);color:var(--ui-color-primary-strong)}.horizontal-nav-item:hover svg{color:var(--ui-color-primary)}.horizontal-nav-active{background:var(--ui-color-primary-soft);color:var(--ui-color-primary-strong);font-weight:720}.horizontal-nav-active svg{color:var(--ui-color-primary)}.horizontal-nav-active:after{background:var(--ui-color-primary);height:2px;bottom:-9px;left:11px;right:11px}.horizontal-nav-section-label{color:#8a96a8;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex:none;margin-left:auto;padding-left:18px;font-size:.64rem;font-weight:800}.horizontal-nav-section-label:before{background:var(--ui-color-border);content:"";vertical-align:middle;width:1px;height:20px;margin-right:14px;display:inline-block}.horizontal-content{padding:30px 0 56px}.page-heading{margin-bottom:26px}.page-heading h1{font-size:clamp(1.7rem,2.3vw,2.1rem)}.surface-header h2{color:var(--ui-color-text-strong);font-weight:720}.dashboard-card,.stat-card,.detail-summary-card,.read-field,.quick-action{border-color:var(--ui-color-border)}.card-icon,.stat-icon,.quick-action-icon{background:var(--ui-color-primary-soft);color:var(--ui-color-primary)}.quick-action:not(.quick-action-disabled):hover{background:var(--ui-color-primary-subtle);border-color:#c7d8ea}.reports-table th{color:#5f6d80;background:#f7f9fc}.reports-table tbody tr:hover{background:#f8fbfe}.table-action-button,.review-primary-button{background:var(--ui-color-primary)}.table-action-button:hover:not(:disabled),.review-primary-button:hover:not(:disabled){background:var(--ui-color-primary-strong)}@media (width<=1100px){.horizontal-header-inner,.horizontal-nav-inner,.horizontal-content{width:min(var(--ui-content-width), calc(100% - 36px))}.header-account-info span{max-width:220px}.horizontal-nav-section-label{margin-left:10px}}@media (width<=820px){.horizontal-header-inner,.horizontal-nav-inner,.horizontal-content{width:min(var(--ui-content-width), calc(100% - 28px))}.horizontal-header-inner{min-height:68px}.application-brand-icon{width:38px;height:38px}.horizontal-nav-mobile-toggle{min-height:48px;color:var(--ui-color-text)}.horizontal-nav{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-sm);margin-bottom:12px;padding:8px;overflow:visible}.horizontal-nav-item{min-height:44px;padding:0 12px}.horizontal-nav-section-label{border-top:1px solid #e9edf3;width:100%;margin:8px 0 2px;padding:9px 12px 5px}.horizontal-nav-section-label:before{display:none}.horizontal-content{padding-top:22px}}@media (width<=560px){.horizontal-header-inner,.horizontal-nav-inner,.horizontal-content{width:calc(100% - 22px)}.application-brand{gap:9px}.application-brand-text strong{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.header-signout{justify-content:center;width:40px;padding:0}.header-signout span{display:none}.horizontal-content{padding-bottom:40px}}.horizontal-nav-rail{position:relative}.horizontal-nav-scroll-control{z-index:4;border:1px solid var(--ui-color-border);width:34px;height:38px;color:var(--ui-color-primary);background:#fffffffa;border-radius:9px;place-items:center;padding:0;transition:opacity .15s,visibility .15s,background-color .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 3px 12px #0f172a1f}.horizontal-nav-scroll-control:hover{background:var(--ui-color-primary-soft)}.horizontal-nav-scroll-left{left:2px}.horizontal-nav-scroll-right{right:2px}.horizontal-nav-scroll-control-hidden{opacity:0;visibility:hidden;pointer-events:none}.horizontal-nav-rail:before,.horizontal-nav-rail:after{z-index:3;pointer-events:none;content:"";width:48px;position:absolute;top:0;bottom:0}.horizontal-nav-rail:before{background:linear-gradient(90deg,#fffffffa,#fff0);left:0}.horizontal-nav-rail:after{background:linear-gradient(270deg,#fffffffa,#fff0);right:0}@media (width>=821px){.horizontal-nav{scroll-behavior:smooth;padding-left:6px;padding-right:6px}}@media (width<=820px){.horizontal-nav-rail:before,.horizontal-nav-rail:after,.horizontal-nav-scroll-control{display:none}}.page{width:min(1360px,100%)}.page-heading{align-items:flex-end;margin-bottom:22px}.page-heading h1{margin-top:4px;margin-bottom:6px;font-size:clamp(1.75rem,2.4vw,2.15rem);line-height:1.15}.page-heading p:not(.page-eyebrow){max-width:760px;font-size:.9rem}.year-pill{border:1px solid var(--ui-color-border);background:var(--ui-color-surface);min-height:36px;color:var(--ui-color-text-muted);box-shadow:var(--ui-shadow-xs);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.75rem;display:inline-flex}.year-pill strong{color:var(--ui-color-text-strong)}.dashboard-grid{gap:14px;margin-bottom:18px}.dashboard-card{gap:13px;min-height:108px;padding:17px 18px}.dashboard-card:hover{box-shadow:var(--ui-shadow-sm);border-color:#cbd7e4}.card-icon{border:1px solid #dce8f4;border-radius:10px;width:42px;height:42px}.card-label{color:var(--ui-color-text-soft);font-size:.72rem;font-weight:650}.card-value{color:var(--ui-color-text-strong);margin-top:3px;font-size:1rem;font-weight:760}.card-meta{color:var(--ui-color-text-muted);margin-top:2px;font-size:.72rem}.dashboard-content-grid{grid-template-columns:minmax(0,1.75fr) minmax(290px,.82fr);gap:18px}.surface-header{min-height:70px;padding:16px 18px}.surface-header h2{font-size:1rem}.surface-header p{font-size:.78rem}.quick-actions{gap:8px;padding:14px}.quick-action{border-radius:10px;min-height:68px;padding:12px 13px}.quick-action-icon{border-radius:9px;width:38px;height:38px}.quick-action-content strong{color:var(--ui-color-text-strong);font-size:.88rem}.quick-action-content small{color:var(--ui-color-text-muted);font-size:.74rem}.quick-action>svg:last-child{color:#7b8798}.role-stack{padding:7px 17px}.role-row{min-height:58px}.role-row strong{color:var(--ui-color-text-strong);font-size:.84rem}.role-row small{color:var(--ui-color-text-muted);font-size:.72rem}.security-box{background:var(--ui-color-surface-subtle);color:#687488;border-radius:9px;margin:10px 14px 14px;padding:10px 11px;font-size:.7rem;line-height:1.45}.stats-grid,.department-review-summary,.admin-user-summary-grid{gap:12px;margin-bottom:14px}.stat-card,.review-summary-card,.admin-user-summary-card{border:1px solid var(--ui-color-border);background:var(--ui-color-surface);min-height:86px;box-shadow:var(--ui-shadow-xs);border-radius:11px;padding:14px 16px}.stat-icon,.review-summary-card>svg,.admin-user-summary-card>svg{color:var(--ui-color-primary)}.stat-icon{border:1px solid #dce8f4;border-radius:9px;width:38px;height:38px}.stat-card span,.review-summary-card span,.admin-user-summary-card span{color:var(--ui-color-text-muted);font-size:.72rem;font-weight:620}.stat-card strong,.review-summary-card strong,.admin-user-summary-card strong{color:var(--ui-color-text-strong);font-size:1.35rem;line-height:1.1}.review-filter-panel,.admin-user-filter-panel{background:#ffffffeb;border-radius:11px;margin-bottom:14px;padding:12px}.review-filter-grid label>span,.admin-user-filter-panel label>span{color:#445268;font-size:.72rem;font-weight:700}.review-filter-grid select,.review-search-box,.admin-user-search-field,.admin-user-filter-panel select{border-color:var(--ui-color-border-strong);background:var(--ui-color-surface);border-radius:8px;min-height:42px}.review-search-box:focus-within,.admin-user-search-field:focus-within{border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring)}.review-search-box input,.admin-user-search-field input,.admin-user-filter-panel select,.review-filter-grid select{color:var(--ui-color-text-strong);font-size:.82rem}.table-scroll,.admin-user-table-scroll{scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin}.reports-table,.admin-user-table{font-size:.82rem}.reports-table th,.admin-user-table th{color:#667386;letter-spacing:.025em;background:#f6f8fb;height:44px;padding-top:0;padding-bottom:0;font-size:.69rem;font-weight:760}.reports-table td,.admin-user-table td{border-bottom-color:#edf0f4}.reports-table td{height:58px;padding:7px 15px}.reports-table tbody tr,.admin-user-table tbody tr{transition:background-color .12s}.reports-table tbody tr:hover,.admin-user-table tbody tr:hover{background:#f7fafc}.period-cell strong{color:var(--ui-color-text-strong);font-size:.8rem}.period-cell span{color:var(--ui-color-text-soft)}.status-badge{min-height:25px;padding:3px 8px;font-size:.68rem;font-weight:740}.table-action-button,.review-secondary-button,.review-approve-button,.admin-edit-button,.admin-status-button{border-radius:8px;min-height:36px;font-weight:700}.table-action-button.secondary,.review-secondary-button{color:#455468;background:#fff;border:1px solid #d4dde8}.table-action-button.secondary:hover,.review-secondary-button:hover{background:var(--ui-color-primary-subtle);color:var(--ui-color-primary-strong);border-color:#b8c9db}.review-card-grid{gap:14px}.teacher-review-card{border:1px solid var(--ui-color-border);background:var(--ui-color-surface);box-shadow:var(--ui-shadow-xs);border-radius:11px;transition:border-color .14s,box-shadow .14s,transform .14s}.teacher-review-card:hover{box-shadow:var(--ui-shadow-sm);border-color:#c5d3e2;transform:translateY(-1px)}.teacher-review-card-header{padding:13px 14px 10px}.teacher-review-card-header strong{color:var(--ui-color-text-strong);font-size:.86rem}.teacher-review-card-header span:not(.status-badge){color:var(--ui-color-text-soft);font-size:.7rem}.teacher-review-period{padding-left:14px;padding-right:14px}.teacher-review-period span{color:var(--ui-color-text-strong);font-weight:720}.teacher-review-period small{color:var(--ui-color-text-soft)}.teacher-review-metrics{gap:7px;padding-left:14px;padding-right:14px}.teacher-review-metrics>div{background:#fafbfd;border-color:#e1e7ef;border-radius:8px}.teacher-review-metrics span,.teacher-review-meta span{color:var(--ui-color-text-soft);font-size:.68rem}.teacher-review-metrics strong,.teacher-review-meta strong{color:var(--ui-color-text-strong)}.teacher-review-difference{background:#f8fafc;border-radius:8px;margin-left:14px;margin-right:14px}.teacher-review-actions{padding:10px 14px 13px}.teacher-review-card .alert{border-radius:8px;margin:8px 14px;padding:9px 10px;font-size:.72rem}.review-empty-state{min-height:220px;padding:34px}.review-empty-state>svg{color:var(--ui-color-success)}.review-empty-state h2{color:var(--ui-color-text-strong);font-size:1rem}.review-empty-state p{color:var(--ui-color-text-muted);font-size:.8rem}.semester-stack{gap:16px}.semester-header{background:#fbfcfd}.semester-kicker{color:var(--ui-color-primary)}.semester-count{background:var(--ui-color-surface-subtle);color:#5e6c80}.admin-user-summary-card>svg,.admin-user-avatar,.admin-dialog-icon{color:var(--ui-color-primary)}.admin-user-avatar,.admin-dialog-icon,.admin-readonly-badge,.admin-role-chip{background:var(--ui-color-primary-soft)}.admin-readonly-badge,.admin-role-chip{color:var(--ui-color-primary-strong)}.admin-edit-button{color:var(--ui-color-primary-strong);border-color:#bfd0e2}.admin-edit-button:hover{background:var(--ui-color-primary-subtle)}.admin-dialog-primary,.admin-role-add-button{border-color:var(--ui-color-primary);background:var(--ui-color-primary)}.admin-role-user:hover,.admin-role-user.active{background:var(--ui-color-primary-subtle)}.admin-role-user.active{box-shadow:inset 3px 0 0 var(--ui-color-primary)}.admin-user-table-wrap,.admin-role-users-panel,.admin-role-main-panel,.admin-profile-dialog,.admin-role-remove-dialog{border-radius:12px}.admin-user-table-header,.admin-role-panel-heading,.admin-role-selected-user,.admin-role-section{border-color:#e7ebf0}.admin-user-table th{font-size:.68rem}.admin-user-identity strong,.admin-role-user strong,.admin-role-selected-user h2,.admin-role-assignment strong{color:var(--ui-color-text-strong)}.admin-user-identity span,.admin-role-user span,.admin-role-selected-user p,.admin-role-assignment span{color:var(--ui-color-text-muted)}.admin-edit-field input,.admin-edit-field select,.admin-role-add-grid select{border-color:var(--ui-color-border-strong);border-radius:8px;min-height:42px}.admin-edit-field input:focus,.admin-edit-field select:focus,.admin-role-add-grid select:focus{border-color:var(--ui-color-primary);box-shadow:var(--ui-focus-ring);outline:none}.declaration-page{width:min(1440px,100%)}.declaration-page .declaration-layout{grid-template-columns:minmax(0,1fr) 330px;gap:20px}.declaration-page .declaration-section-header{min-height:74px;padding:15px 18px}.declaration-page .declaration-section-header h2{color:#1f2f46;font-size:1rem;font-weight:780}.declaration-page .declaration-section-header p{color:#67758a;margin-top:3px;font-size:.74rem;line-height:1.45}.declaration-page .monthly-owned-field-label,.declaration-page .readonly-input-group label{color:#46566d;font-size:.72rem;font-weight:720}.declaration-page .monthly-owned-number-control input,.declaration-page .monthly-owned-text-input,.declaration-page .readonly-input-row input,.declaration-page .readonly-input-group textarea{font-size:.78rem}.declaration-page .monthly-owned-field{border-radius:8px;padding:10px 11px;transition:background-color .12s,border-color .12s,box-shadow .12s}.declaration-page .monthly-owned-field:has(input:not(:disabled)){background:#fff;border-color:#c6d7e9;box-shadow:inset 0 0 0 1px #2c69aa08}.declaration-page .monthly-owned-field:has(input:not(:disabled)):focus-within{border-color:#8fb4d8;box-shadow:0 0 0 3px #2c69aa17}.declaration-page .monthly-owned-field:has(input:disabled){background:#f5f7fa;border-color:#e1e6ed}.declaration-page .monthly-owned-field:has(input:disabled) input:disabled{color:#3e4d61;background:0 0}.declaration-page .declaration-main>.declaration-section:nth-of-type(3){border-color:#bdd4ea;box-shadow:0 4px 16px #235d970f}.declaration-page .declaration-main>.declaration-section:nth-of-type(3) .declaration-section-header{background:#f6faff;border-bottom-color:#dce9f6}.declaration-page .declaration-main>.declaration-section:nth-of-type(3) .section-letter{color:#195f9f;background:#e5f1fc}.declaration-page .monthly-input-grid{gap:12px}.declaration-page .monthly-input-editable{background:#f8fbff;border-color:#c7d9eb;padding:11px}.declaration-page .monthly-input-editable:focus-within{border-color:#91b5da;box-shadow:0 0 0 3px #2c69aa14}.declaration-page .monthly-input-editable .readonly-input-row input,.declaration-page .monthly-input-editable textarea{border-color:#b9cade}.declaration-page .monthly-result-card{border-color:#cfdbe8;box-shadow:0 5px 18px #1c3e630f}.declaration-page .monthly-result-header{background:#fbfcfe;min-height:66px}.declaration-page .monthly-result-header h2{color:#203149;font-size:1rem}.declaration-page .monthly-result-header .status-badge{display:none}.declaration-page .result-difference-box{margin:12px 14px 10px;padding-top:14px;padding-bottom:14px}.declaration-page .result-difference-box>span{color:#5c6c81;font-size:.72rem;font-weight:700}.declaration-page .result-difference-box>strong{margin-top:2px;font-size:1.9rem;line-height:1}.declaration-page .result-breakdown{padding-left:14px;padding-right:14px}.declaration-page .result-breakdown span{color:#59687c;font-size:.7rem}.declaration-page .result-breakdown strong{color:#2d3d53;font-size:.8rem}.declaration-page .result-breakdown>.result-emphasis:nth-last-child(2),.declaration-page .result-breakdown>.result-emphasis:last-child{background:#f4f9fe;border:1px solid #d7e6f4;border-radius:8px;min-height:46px;margin-top:6px;padding:0 9px}.declaration-page .result-breakdown>.result-emphasis:nth-last-child(2) span,.declaration-page .result-breakdown>.result-emphasis:last-child span{color:#41556d;font-weight:760}.declaration-page .result-breakdown>.result-emphasis:nth-last-child(2) strong,.declaration-page .result-breakdown>.result-emphasis:last-child strong{color:#195f9f;font-size:.92rem;font-weight:820}.declaration-page .workflow-locked-state{background:#f5faf7;border-color:#cce4d5}@media (width<=1100px){.dashboard-content-grid{grid-template-columns:1fr}.review-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1050px){.declaration-page .declaration-layout{grid-template-columns:1fr}.declaration-page .monthly-result-column{position:static}}@media (width<=760px){.page-heading{align-items:flex-start}.page-heading h1{font-size:1.55rem}.review-card-grid{grid-template-columns:1fr}.dashboard-card,.stat-card,.review-summary-card{min-height:82px}.reports-table th,.reports-table td{padding-left:12px;padding-right:12px}.declaration-page .declaration-section-header{padding:13px 14px}.declaration-page .result-difference-box>strong{font-size:1.65rem}}:root{--ui-sem-blue:#2563eb;--ui-sem-blue-soft:#eff6ff;--ui-sem-blue-border:#bfdbfe;--ui-sem-cyan:#0e7490;--ui-sem-cyan-soft:#ecfeff;--ui-sem-cyan-border:#a5f3fc;--ui-sem-teal:#0f766e;--ui-sem-teal-soft:#f0fdfa;--ui-sem-teal-border:#99f6e4;--ui-sem-green:#15803d;--ui-sem-green-soft:#f0fdf4;--ui-sem-green-border:#bbf7d0;--ui-sem-amber:#a16207;--ui-sem-amber-soft:#fffbeb;--ui-sem-amber-border:#fde68a;--ui-sem-red:#b42318;--ui-sem-red-soft:#fef2f2;--ui-sem-red-border:#fecaca;--ui-sem-slate:#475569;--ui-sem-slate-soft:#f8fafc;--ui-sem-slate-border:#e2e8f0}.dashboard-grid .dashboard-card:first-child{border-top:3px solid var(--ui-sem-blue)}.dashboard-grid .dashboard-card:first-child .card-icon{border-color:var(--ui-sem-blue-border);background:var(--ui-sem-blue-soft);color:var(--ui-sem-blue)}.dashboard-grid .dashboard-card:nth-child(2){border-top:3px solid var(--ui-sem-cyan)}.dashboard-grid .dashboard-card:nth-child(2) .card-icon{border-color:var(--ui-sem-cyan-border);background:var(--ui-sem-cyan-soft);color:var(--ui-sem-cyan)}.dashboard-grid .dashboard-card:nth-child(3){border-top:3px solid var(--ui-sem-teal)}.dashboard-grid .dashboard-card:nth-child(3) .card-icon{border-color:var(--ui-sem-teal-border);background:var(--ui-sem-teal-soft);color:var(--ui-sem-teal)}.dashboard-grid .dashboard-card:nth-child(4){border-top:3px solid #64748b}.dashboard-grid .dashboard-card:nth-child(4) .card-icon{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.quick-action[href="/teacher/monthly-reports"] .quick-action-icon{border:1px solid var(--ui-sem-blue-border);background:var(--ui-sem-blue-soft);color:var(--ui-sem-blue)}.quick-action[href=\/department-review] .quick-action-icon{border:1px solid var(--ui-sem-amber-border);background:var(--ui-sem-amber-soft);color:var(--ui-sem-amber)}.quick-action[href=\/final-review] .quick-action-icon{border:1px solid var(--ui-sem-green-border);background:var(--ui-sem-green-soft);color:var(--ui-sem-green)}.stats-grid .stat-card:first-child{box-shadow:inset 0 3px 0 var(--ui-sem-blue), var(--ui-shadow-xs)}.stats-grid .stat-card:first-child .stat-icon{border-color:var(--ui-sem-blue-border);background:var(--ui-sem-blue-soft);color:var(--ui-sem-blue)}.stats-grid .stat-card:nth-child(2){box-shadow:inset 0 3px 0 var(--ui-sem-cyan), var(--ui-shadow-xs)}.stats-grid .stat-card:nth-child(2) .stat-icon{border-color:var(--ui-sem-cyan-border);background:var(--ui-sem-cyan-soft);color:var(--ui-sem-cyan)}.stats-grid .stat-card:nth-child(3){box-shadow:inset 0 3px 0 var(--ui-sem-amber), var(--ui-shadow-xs)}.stats-grid .stat-card:nth-child(3) .stat-icon{border-color:var(--ui-sem-amber-border);background:var(--ui-sem-amber-soft);color:var(--ui-sem-amber)}.stats-grid .stat-card:nth-child(4){box-shadow:inset 0 3px 0 var(--ui-sem-green), var(--ui-shadow-xs)}.stats-grid .stat-card:nth-child(4) .stat-icon{border-color:var(--ui-sem-green-border);background:var(--ui-sem-green-soft);color:var(--ui-sem-green)}.department-review-summary .review-summary-card:first-child{border-top:3px solid var(--ui-sem-amber)}.department-review-summary .review-summary-card:first-child>svg{color:var(--ui-sem-amber)}.department-review-summary .review-summary-card:nth-child(2){border-top:3px solid var(--ui-sem-blue)}.department-review-summary .review-summary-card:nth-child(2)>svg{color:var(--ui-sem-blue)}.review-filter-panel{border-left:3px solid #d7e5f4}.teacher-review-card:has(.status-submitted){border-left:4px solid var(--ui-sem-amber)}.teacher-review-card:has(.status-department_approved){border-left:4px solid var(--ui-sem-green)}.teacher-review-card:has(.alert-success){border-left:4px solid var(--ui-sem-green)}.teacher-review-card:has(.alert-warning){border-left:4px solid var(--ui-sem-amber)}.teacher-review-difference.difference-positive{border:1px solid var(--ui-sem-green-border);background:var(--ui-sem-green-soft)}.teacher-review-difference.difference-positive strong{color:var(--ui-sem-green)}.teacher-review-difference.difference-negative{border:1px solid var(--ui-sem-red-border);background:var(--ui-sem-red-soft)}.teacher-review-difference.difference-negative strong{color:var(--ui-sem-red)}.teacher-review-difference.difference-zero{border:1px solid var(--ui-sem-slate-border);background:var(--ui-sem-slate-soft)}.semester-stack>.surface:first-child .semester-header{border-top:3px solid var(--ui-sem-blue);background:linear-gradient(90deg, var(--ui-sem-blue-soft), #fff 42%)}.semester-stack>.surface:first-child .semester-kicker{color:var(--ui-sem-blue)}.semester-stack>.surface:nth-child(2) .semester-header{border-top:3px solid var(--ui-sem-teal);background:linear-gradient(90deg, var(--ui-sem-teal-soft), #fff 42%)}.semester-stack>.surface:nth-child(2) .semester-kicker{color:var(--ui-sem-teal)}.teacher-review-card .alert-success{border-color:var(--ui-sem-green-border);background:var(--ui-sem-green-soft);color:#166534}.teacher-review-card .alert-warning{border-color:var(--ui-sem-amber-border);background:var(--ui-sem-amber-soft);color:#92400e}.teacher-review-card:has(.alert-warning) .status-returned{border-color:var(--ui-sem-amber-border);color:#9a3412;background:#fff7ed}.admin-user-summary-grid .admin-user-summary-card:first-child{border-top:3px solid var(--ui-sem-blue)}.admin-user-summary-grid .admin-user-summary-card:first-child>svg{color:var(--ui-sem-blue)}.admin-user-summary-grid .admin-user-summary-card:nth-child(2){border-top:3px solid var(--ui-sem-green)}.admin-user-summary-grid .admin-user-summary-card:nth-child(2)>svg{color:var(--ui-sem-green)}.admin-user-summary-grid .admin-user-summary-card:nth-child(3){border-top:3px solid var(--ui-sem-teal)}.admin-user-summary-grid .admin-user-summary-card:nth-child(3)>svg{color:var(--ui-sem-teal)}.admin-status-chip.active{border:1px solid var(--ui-sem-green-border);background:var(--ui-sem-green-soft);color:var(--ui-sem-green)}.admin-status-chip.inactive{border:1px solid var(--ui-sem-red-border);background:var(--ui-sem-red-soft);color:var(--ui-sem-red)}.admin-role-user.active{background:var(--ui-sem-blue-soft);box-shadow:inset 3px 0 0 var(--ui-sem-blue)}.admin-role-assignment{border-left:3px solid #c9d9eb}.reports-table .difference-positive{color:var(--ui-sem-green);font-weight:760}.reports-table .difference-negative{color:var(--ui-sem-red);font-weight:760}.reports-table .difference-zero{color:var(--ui-sem-slate);font-weight:700}.status-submitted{border-color:var(--ui-sem-amber-border);background:var(--ui-sem-amber-soft);color:#92400e}.status-department_approved{border-color:var(--ui-sem-teal-border);background:var(--ui-sem-teal-soft);color:var(--ui-sem-teal)}.status-final_approved,.status-final-approved{border-color:var(--ui-sem-green-border);background:var(--ui-sem-green-soft);color:var(--ui-sem-green)}.status-returned{border-color:var(--ui-sem-red-border);background:var(--ui-sem-red-soft);color:var(--ui-sem-red)}.status-draft,.status-missing,.status-voided{border-color:var(--ui-sem-slate-border);background:var(--ui-sem-slate-soft);color:var(--ui-sem-slate)}@media (width<=760px){.dashboard-grid .dashboard-card,.department-review-summary .review-summary-card,.admin-user-summary-grid .admin-user-summary-card{border-top-width:2px}:is(.teacher-review-card:has(.status-submitted),.teacher-review-card:has(.status-department_approved),.teacher-review-card:has(.alert-success),.teacher-review-card:has(.alert-warning)){border-left-width:3px}}.official-print-page{--viewer-accent:var(--ui-sem-blue);--viewer-accent-soft:var(--ui-sem-blue-soft);--viewer-accent-border:var(--ui-sem-blue-border);background:linear-gradient(#eef3f8 0,#e8edf5 180px)}.official-print-page:has(.official-print-actions){--viewer-accent:var(--ui-sem-blue);--viewer-accent-soft:var(--ui-sem-blue-soft);--viewer-accent-border:var(--ui-sem-blue-border)}.official-print-page:not(.monthly-preview-page):not(:has(.official-print-actions)){--viewer-accent:var(--ui-sem-teal);--viewer-accent-soft:var(--ui-sem-teal-soft);--viewer-accent-border:var(--ui-sem-teal-border)}.monthly-preview-page{--viewer-accent:var(--ui-sem-amber);--viewer-accent-soft:var(--ui-sem-amber-soft);--viewer-accent-border:var(--ui-sem-amber-border)}.official-print-toolbar{box-sizing:border-box;background:#fffffffa;border-color:#d6dee8;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;min-height:72px;margin-bottom:16px;padding:12px 14px 12px 16px;position:relative;overflow:hidden;box-shadow:0 7px 22px #0f172a13}.official-print-toolbar:before{background:var(--viewer-accent);content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.official-print-toolbar>.review-secondary-button:first-child{color:#4b596d;background:#fff;border-color:#ced8e4;border-radius:8px;min-height:38px;padding:0 11px;font-size:.76rem;font-weight:710;text-decoration:none}.official-print-toolbar>.review-secondary-button:first-child:hover{border-color:var(--viewer-accent-border);background:var(--viewer-accent-soft);color:var(--viewer-accent)}.official-print-toolbar>div:not(.official-print-actions):not(.monthly-preview-toolbar-state){gap:5px;min-width:0}.official-print-toolbar>div:not(.official-print-actions):not(.monthly-preview-toolbar-state) strong{color:var(--ui-color-text-strong);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:780;overflow:hidden}.official-print-toolbar>div:not(.official-print-actions):not(.monthly-preview-toolbar-state) span{border:1px solid var(--viewer-accent-border);background:var(--viewer-accent-soft);max-width:100%;color:var(--viewer-accent);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-self:flex-start;padding:4px 8px;font-size:.68rem;font-weight:670;line-height:1.2;overflow:hidden}.official-print-actions{justify-content:flex-end;align-items:center;flex-direction:row!important;gap:8px!important;display:flex!important}.official-print-actions .review-secondary-button,.official-print-actions .review-primary-button,.official-print-toolbar>.review-primary-button{white-space:nowrap;border-radius:8px;min-height:38px;padding:0 12px;font-size:.76rem;font-weight:730}.official-print-actions .review-secondary-button{border-color:var(--viewer-accent-border);background:var(--viewer-accent-soft);color:var(--viewer-accent)}.official-print-actions .review-secondary-button:hover:not(:disabled){border-color:var(--viewer-accent);background:var(--viewer-accent-soft);color:var(--viewer-accent)}.official-print-actions .review-primary-button,.official-print-toolbar>.review-primary-button{border-color:var(--viewer-accent);background:var(--viewer-accent);color:#fff}.official-print-actions .review-primary-button:hover:not(:disabled),.official-print-toolbar>.review-primary-button:hover:not(:disabled){filter:brightness(.94)}.official-print-page:not(.monthly-preview-page):not(:has(.official-print-actions)) .official-print-toolbar>.review-primary-button{border-color:var(--ui-sem-teal);background:var(--ui-sem-teal)}.monthly-preview-toolbar-state{border:1px solid var(--ui-sem-amber-border);background:var(--ui-sem-amber-soft);color:#92400e;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 11px;font-size:.72rem;font-weight:740;flex-direction:row!important;gap:7px!important;display:inline-flex!important}.monthly-preview-toolbar-state span{color:inherit!important}.monthly-preview-banner{border-color:var(--ui-sem-amber-border);color:#92400e;background:linear-gradient(90deg,#fff7ed,#fffbeb);border-radius:10px;box-shadow:0 2px 10px #92400e0a}.official-pdf-error{max-width:210mm;margin:0 auto 14px}@media (width<=820px){.official-print-toolbar{grid-template-columns:auto minmax(0,1fr);width:210mm}.official-print-actions,.monthly-preview-toolbar-state,.official-print-toolbar>.review-primary-button{grid-column:1/-1;justify-self:stretch}.official-print-actions{justify-content:flex-end}.official-print-toolbar>.review-primary-button,.monthly-preview-toolbar-state{width:100%}}@media (width<=560px){.official-print-toolbar{grid-template-columns:1fr}.official-print-toolbar>.review-secondary-button:first-child,.official-print-toolbar>div,.official-print-actions,.monthly-preview-toolbar-state,.official-print-toolbar>.review-primary-button{grid-column:1}.official-print-toolbar>.review-secondary-button:first-child{justify-self:start}.official-print-actions{width:100%}.official-print-actions>button{flex:1}}.teacher-report-semester-grid,.monthly-print-grid{align-items:stretch}.semester-print-card,.monthly-print-card{height:100%}.semester-print-card{min-height:226px}.semester-print-card .teacher-report-identity,.monthly-print-card .teacher-report-identity{justify-content:flex-start;min-height:42px}.semester-print-card .teacher-report-identity strong,.monthly-print-card .teacher-report-identity strong{line-height:1.25}.semester-print-card .teacher-report-identity strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;display:-webkit-box;overflow:hidden}.monthly-print-card{min-height:174px}.monthly-print-card .teacher-report-identity strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;display:-webkit-box;overflow:hidden}.monthly-print-card>small{min-height:1.2em}.semester-print-difference,.monthly-print-difference{flex:none}.semester-print-card .review-primary-button,.monthly-print-action{min-height:34px;margin-top:auto}@media (width<=640px){.semester-print-card,.monthly-print-card,.semester-print-card .teacher-report-identity,.monthly-print-card .teacher-report-identity,.semester-print-card .teacher-report-identity strong,.monthly-print-card .teacher-report-identity strong{min-height:auto}}
