.staff-login .institution-field{gap:10px;display:grid;position:relative}.staff-login .institution-field__loading{min-height:44px;color:var(--staff-muted,#64748b);align-items:center;margin:0;display:flex}.staff-login .institution-field__hint{color:var(--staff-muted,#64748b);margin:0;font-size:13px}.institution-search{position:relative}.staff-login .institution-search input[type=search]{border:1px solid var(--staff-border,#e2e8f0);width:100%;min-height:48px;color:var(--staff-ink,#0f172a);background:#fff;border-radius:12px;padding:10px 14px 10px 42px}.staff-login .institution-search input[type=search]:focus{border-color:var(--staff-primary-light,#14b8a6)}.institution-search__icon{fill:none;stroke:#94a3b8;stroke-width:2px;stroke-linecap:round;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.institution-options{z-index:40;overscroll-behavior:contain;border:1px solid var(--staff-border,#e2e8f0);background:#fff;border-radius:14px;max-height:min(320px,52vh);margin:6px 0 0;padding:6px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0f172a1f}.institution-option{cursor:pointer;min-height:52px;color:var(--staff-ink,#0f172a);border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.institution-option[aria-selected=true]{background:var(--staff-tint,#f0fdfa)}.institution-options__empty{color:var(--staff-muted,#64748b);padding:12px 10px;font-size:14px}.institution-option__text,.institution-selected__text{gap:2px;min-width:0;line-height:1.35;display:grid}.institution-option__text strong,.institution-selected__text strong{overflow-wrap:anywhere;font-weight:500}.institution-option__text span,.institution-selected__text span{color:var(--staff-muted,#64748b);font-size:12px}.institution-mark{background:var(--institution-colour,var(--staff-primary,#0f766e));color:#fff;letter-spacing:.5px;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid;overflow:hidden}.institution-mark img{object-fit:contain;background:#fff;width:100%;height:100%}.institution-selected{border:1px solid #ccfbf1;border-left:4px solid var(--institution-colour,var(--staff-primary,#0f766e));color:var(--staff-ink,#0f172a);background:linear-gradient(135deg,#f0fdfa,#fff);border-radius:14px;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.institution-selected__text{flex:1}.institution-change{min-height:40px;color:var(--staff-primary,#0f766e);background:#fff;border:1px solid #ccfbf1;border-radius:999px;flex:none;padding:8px 14px;font-weight:500}@media (width<=650px){.institution-options{max-height:min(280px,45vh)}.institution-selected{padding:10px}}.course-progress-print{display:none}.course-progress-report-preview{overflow-x:auto}.course-progress-report-preview table,.course-progress-print table{border-collapse:collapse;width:100%}.course-progress-report-preview th,.course-progress-report-preview td,.course-progress-print th,.course-progress-print td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border:1px solid #bbb;padding:.55rem}@media print{body:has(>.course-progress-print)>:not(.course-progress-print){display:none!important}body>.course-progress-print{color:#000;background:#fff;font:11pt sans-serif;display:block}body:has(>.course-progress-print){margin:0;overflow:visible!important}.course-progress-print thead{display:table-header-group}.course-progress-print tr{break-inside:avoid}}.course-progress-report-preview table{min-width:640px}.course-progress-report-preview th{white-space:nowrap}.staff-timetable{font-family:var(--font-family);color:#334155;background:#fff;border:1px solid #e8ebf0;border-radius:20px;min-width:0;margin:16px 0 28px;overflow:hidden;box-shadow:0 4px 12px #00000008}.staff-ts-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 8px;display:flex}.staff-ts-header h2{margin:0;font-size:16px;font-weight:700}.staff-ts-header p{color:#64748b;margin:3px 0;font-size:12px}.staff-today-chip{color:#0f766e;background:#ccfbf1;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.staff-ts-controls{align-items:center;gap:8px;display:flex}.staff-ts-controls button{color:#0f766e;border-color:#e8ebf0;padding:6px 10px;font-size:12px}.staff-date-picker{color:#64748b;flex-direction:column;gap:2px;font-size:11px;display:flex}.staff-date-picker input{font:inherit;color:#334155;background:#fff;border:1px solid #e8ebf0;border-radius:8px;max-width:135px;min-height:32px;padding:3px}.staff-date-navigation{align-items:center;min-width:0;display:flex}.staff-date-navigation>button{color:#0f766e;background:0 0;border:0;flex-shrink:0;padding:4px 8px;font-size:23px}.staff-ts-dates{scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;flex:1;gap:6px;padding:8px 4px 12px;display:flex;position:relative;overflow-x:auto}.staff-ts-dates::-webkit-scrollbar{display:none}.staff-ts-pill{background:#f8fafc;border:2px solid #0000;border-radius:14px;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:48px;min-height:58px;padding:8px 4px;display:flex}.staff-ts-pill span{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.staff-ts-pill strong{color:#334155;font-size:16px;font-weight:700;line-height:1.2}.staff-timetable .staff-ts-pill[aria-pressed=true]{background:#14b8a6;border-color:#14b8a6}.staff-ts-pill[aria-pressed=true] span,.staff-ts-pill[aria-pressed=true] strong{color:#fff}.staff-day-dot{background:#22c55e;border-radius:50%;width:5px;height:5px}.staff-dot-none{background:0 0}.staff-dot-missing{background:#ef4444}.staff-dot-upcoming{background:#f59e0b}.staff-dot-holiday{background:#a855f7;border-radius:2px;width:7px;height:7px}.staff-dot-suspended,.staff-dot-transferred{background:#64748b;border-radius:1px;width:9px;height:3px}.staff-ts-periods{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y;gap:12px;padding:0 16px 14px;display:flex;overflow-x:auto}.staff-ts-periods::-webkit-scrollbar{height:4px}.staff-ts-periods::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.staff-ts-card{width:280px;box-shadow:inset 4px 0 0 var(--staff-period-accent), 0 2px 10px #0000000d;scroll-snap-align:start;background:#fff;border-radius:16px;flex-direction:column;flex-shrink:0;gap:5px;padding:14px;display:flex}.staff-ts-card-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.staff-ts-hour{color:#fff;background:#14b8a6;border-radius:8px;padding:3px 9px;font-size:11px;font-weight:700}.staff-ts-type{color:var(--staff-period-accent);font-size:10px;font-weight:700}.staff-ts-card h3{text-transform:uppercase;color:#1e293b;overflow-wrap:anywhere;margin:3px 0 0;font-size:13px;font-weight:700;line-height:1.4}.staff-ts-card p{margin:0}.staff-ts-code{color:#94a3b8;font-size:11px}.staff-ts-batch{color:#64748b;font-size:12px}.staff-ts-source{color:#0f766e;font-size:11px}.staff-attendance-counts{gap:8px;margin-top:9px;display:flex}.staff-attendance-counts button{border:0;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:flex}.staff-attendance-counts .staff-present{color:#15803d;background:#f0fdf4}.staff-attendance-counts .staff-absent{color:#be123c;background:#fff1f2}.staff-attendance-counts strong{font-size:16px}.staff-ts-card .staff-count-note{color:#64748b;margin-bottom:4px;font-size:10px}.staff-period-actions{flex-wrap:wrap;gap:5px;display:flex}.staff-period-actions button{border:1px solid #e8ebf0;border-radius:8px;padding:6px 8px;font-size:11px}.staff-period-actions .staff-attend{color:#fff;background:#0f766e;border-color:#0f766e}.staff-ts-card .staff-class-link{color:#2563eb;text-align:left;background:0 0;border:0;margin-top:auto;padding:5px;font-size:11px}.staff-ts-notice{color:#7e22ce;background:#faf5ff;border-radius:10px;margin:8px 12px;padding:9px 12px;font-size:12px}.staff-ts-card .staff-ts-notice{margin:8px 0}.staff-ts-empty{text-align:center;color:#64748b;padding:16px;font-size:13px}.staff-ts-footer{border-top:1px solid #f1f5f9;padding:8px 16px 12px}.staff-ts-view{gap:6px;display:flex}.staff-ts-view button{background:#f8fafc;border:0;flex:1;font-size:12px}.staff-ts-legend{flex-wrap:wrap;gap:12px;margin:9px 0 0;font-size:10px;display:flex}.staff-ts-legend span:first-child{color:#15803d}.staff-ts-legend span:nth-child(2){color:#dc2626}.staff-ts-legend span:nth-child(3){color:#b45309}.staff-ts-legend span:nth-child(4){color:#9333ea}.staff-ts-list{grid-template-columns:minmax(0,1fr);display:grid;overflow:visible}.staff-ts-list .staff-ts-card{width:100%}.staff-period-tabs{flex-wrap:wrap;gap:6px;margin:16px 0;display:flex}.staff-period-tabs button{padding:7px 12px;font-size:12px}.decision-panel .staff-period-tabs button[aria-pressed=true]{color:#fff;background:#0f766e;border-color:#0f766e}.staff-period-roster{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.staff-period-roster li{background:#f8fafc;border-radius:12px;align-items:center;gap:12px;padding:10px;font-size:13px;display:flex}.staff-roll{color:#0f766e;text-align:center;background:#e6faf6;border-radius:9px;min-width:38px;padding:9px;font-weight:700}.staff-mark{text-transform:capitalize;margin-left:auto;font-size:11px}.staff-mark-present{color:#15803d}.staff-mark-absent{color:#be123c}.staff-mark-other{color:#a16207}.staff-mark-unmarked{color:#64748b}.staff-topic-list article{background:#f0fdf4;border-left:3px solid #22c55e;border-radius:12px;margin:10px 0;padding:12px 15px}.staff-topic-list p{margin:5px 0;font-size:13px}.staff-timetable{background:#fff;border-color:#dbeafe;box-shadow:0 12px 28px #1e40af14}.staff-ts-header h2{color:#173e86}.staff-today-chip{color:#1d4ed8;background:#dbeafe}.staff-ts-controls button,.staff-date-navigation>button{color:#1d4ed8}.staff-date-picker input{background:#f8fbff;border-color:#bfdbfe}.staff-ts-pill{background:#f8fbff;border-color:#0000}.staff-ts-pill.staff-ts-today{border-color:#60a5fa}.staff-timetable .staff-ts-pill[aria-pressed=true]{background-color:#14b8a6;background-image:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#1d4ed8;box-shadow:0 6px 14px #2563eb38}.staff-ts-card{box-shadow:inset 4px 0 0 var(--staff-period-accent), 0 8px 20px #0f172a12;background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #e5edfa}.staff-ts-hour{background:#1d4ed8}.staff-ts-source{color:#1d4ed8}.staff-period-actions .staff-attend{background:#1d4ed8;border-color:#1d4ed8}.staff-ts-footer{border-top-color:#e5edfa}.staff-ts-view button{background:#f1f5f9}.staff-timetable .staff-ts-view button[aria-pressed=true]{color:#1d4ed8;background:#dbeafe}.staff-ts-notice{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe}.staff-roll{color:#1d4ed8;background:#dbeafe}@media (width<=640px){.staff-timetable{border-radius:18px}.staff-ts-header{padding:14px 14px 6px}.staff-ts-controls{flex-wrap:wrap;justify-content:flex-end}.staff-ts-controls button{border-radius:10px}.staff-ts-dates{padding-inline:2px}.staff-ts-periods{padding-inline:14px;scroll-padding-inline:14px}.staff-ts-card{border-radius:18px;width:min(84vw,320px);min-width:260px}.staff-ts-header{align-items:flex-start;padding:10px 12px 4px}.staff-ts-header h2{font-size:13px}.staff-ts-header p{font-size:11px}.staff-ts-controls{gap:4px}.staff-ts-controls button{padding:5px 7px;font-size:11px}.staff-date-picker input{max-width:117px}.staff-ts-dates{gap:4px;padding:6px 0 10px}.staff-ts-pill{border-radius:12px;width:42px;padding:6px 3px}.staff-ts-pill span{font-size:9px}.staff-ts-pill strong{font-size:14px}.staff-ts-periods{gap:10px;padding:0 12px 12px}.staff-ts-card{width:calc(100vw - 88px);min-width:220px;max-width:300px;padding:12px}.staff-ts-list .staff-ts-card{max-width:none}.staff-timetable{margin-top:12px}.staff-period-roster li{gap:7px;font-size:12px}.staff-mark{font-size:10px}}@media (prefers-reduced-motion:reduce){.staff-ts-dates{scroll-behavior:auto}}.staff-ts-card .staff-period-request-link{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;margin-top:6px;padding:6px 8px;font-size:11px}.staff-period-requests{gap:12px;margin-top:16px;display:grid}.staff-period-requests>p{color:#52678e;font-size:13px}.staff-period-requests article{background:linear-gradient(120deg,#eff6ff,#f0fdfa);border:1px solid #dbeafe;border-radius:14px;padding:16px}.staff-period-requests header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.staff-period-requests h3{margin:0;font-size:15px}.staff-period-requests article p{overflow-wrap:anywhere;margin:10px 0;font-size:13px}.staff-request-status{color:#1d4ed8;background:#fff;border-radius:8px;padding:5px 9px;font-size:12px}.staff-ts-card .staff-duty-status{color:#6d28d9;text-align:left;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:9px;padding:7px 9px;font-size:11px;line-height:1.5}.staff-dashboard-view{gap:16px;font-family:Roboto,sans-serif}.staff-dashboard-view .staff-profile-card{background:linear-gradient(115deg,#102a56,#1d4ed8);border-radius:20px;padding:16px;box-shadow:0 4px 12px #00000008}.staff-dashboard-view .staff-profile-copy h1{font-size:18px;font-weight:700}.staff-dashboard-view .staff-profile-copy p{font-size:12px}.staff-dashboard-view .staff-timetable{border:1px solid #e8ebf0;margin:0;box-shadow:0 4px 12px #00000008}.staff-dashboard-view .staff-ts-header h2{color:#334155;font-size:16px}.staff-dashboard-view .staff-ts-card{background:color-mix(in srgb,var(--staff-period-accent) 7%,white);width:260px;box-shadow:inset 4px 0 0 var(--staff-period-accent),0 2px 10px #0000000d;border:0;border-radius:16px;gap:4px;padding:14px}.staff-dashboard-view .staff-ts-card h3{color:#020617;font-size:13px;font-weight:700;line-height:1.4}.staff-dashboard-view .staff-ts-code{font-size:11px}.staff-dashboard-view .staff-ts-batch{font-size:12px}.staff-dashboard-view .staff-attendance-counts{margin-top:4px}.staff-dashboard-view .staff-attendance-counts button{min-height:28px;padding:3px 7px}.staff-dashboard-view .staff-attendance-counts strong{font-size:13px}.staff-period-more summary{cursor:pointer;color:#1d4ed8;padding:4px 0;font-size:11px;font-weight:500}.staff-period-more[open] .staff-period-actions{padding:8px 0}.staff-dashboard-view .staff-ts-card .staff-period-request-link{min-height:26px;margin:0;padding:3px 6px}.staff-dashboard-view .staff-app-groups button{text-transform:uppercase;letter-spacing:.06em;padding:9px 16px;font-size:10px}.staff-dashboard-view .staff-app-groups button[aria-selected=true]{box-shadow:none;background:#1d4ed8;border-color:#1d4ed8}.staff-dashboard-view .staff-feature-tile{box-shadow:none;border:0;border-radius:16px;min-height:110px}.staff-dashboard-view .staff-feature-icon{background:0 0}.staff-dashboard-view .staff-feature-text strong{font-size:12px;font-weight:500}.staff-dashboard-view .staff-feature-text small{display:none}.staff-category-empty{color:#64748b;text-align:center;background:#fff;border-radius:16px;padding:24px;font-size:13px}.staff-classes-view .class-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow:visible;gap:20px!important;display:grid!important}.staff-classes-view .staff-batch-card{background:#fff;border:1px solid #e8ecf1;border-radius:16px;padding:20px;box-shadow:0 4px 20px #2563eb06}.staff-classes-view .staff-subject-chip{background:#f8fafc;border:1px solid #eef2f6;border-radius:12px;padding:14px}.staff-classes-view .staff-batch-heading h2{color:#1e293b;font-size:16px}.staff-back-home{color:#1d4ed8;background:0 0;border:0;justify-self:start}@media (width<=640px){.staff-dashboard-view .staff-ts-header h2{font-size:13px}.staff-dashboard-view .staff-ts-card{width:calc(100vw - 56px);min-width:220px;max-width:300px;padding:12px}.staff-dashboard-view .staff-apps .staff-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.staff-dashboard-view .staff-apps .staff-feature-tile{min-height:100px;padding:10px 4px}.staff-dashboard-view .staff-profile-stats{display:none}.staff-dashboard-view .staff-profile-card{grid-template-columns:auto 1fr}.staff-classes-view .class-grid{grid-template-columns:1fr}}.staff-dashboard-view .staff-ts-card.staff-card-compact,.staff-dashboard-view .staff-ts-card.staff-free-period{box-sizing:border-box;gap:4px;height:132px;min-height:132px;padding:12px}.staff-dashboard-view .staff-card-compact .staff-ts-card-top{flex-wrap:nowrap;min-height:18px}.staff-dashboard-view .staff-card-compact .staff-ts-type{text-overflow:ellipsis;white-space:nowrap;color:#64748b;min-width:0;font-size:9px;overflow:hidden}.staff-dashboard-view .staff-card-compact .staff-period-eye:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.staff-dashboard-view .staff-card-compact .staff-card-status{flex-shrink:0;font-size:9px}.staff-dashboard-view .staff-card-compact h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.staff-dashboard-view .staff-card-compact .staff-ts-batch{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.staff-dashboard-view .staff-card-compact .staff-attendance-counts{flex-wrap:nowrap;align-items:center;gap:6px;margin-top:0;display:flex}.staff-student-total{white-space:nowrap;color:#64748b;align-items:center;gap:4px;font-size:10px;display:inline-flex}.staff-dashboard-view .staff-card-compact .staff-attendance-counts button{white-space:nowrap;background:0 0;border:0;flex:none;justify-content:flex-start;align-items:center;gap:4px;min-height:28px;padding:0;font-size:10px;display:inline-flex}.staff-dashboard-view .staff-card-compact .staff-attendance-counts strong{font-size:11px}.staff-dashboard-view .staff-card-compact .staff-attendance-counts .staff-period-eye{color:#0f766e;width:24px;box-shadow:none;background:0 0;border-radius:0;justify-content:center;margin-left:auto}.staff-dashboard-view .staff-ts-card.staff-card-compact{box-shadow:inset 4px 0 0 var(--staff-period-accent,#e2e8f0),0 2px 10px #0000000d}.staff-dashboard-view .staff-ts-card.staff-period-missing{background:#fff1f2;box-shadow:inset 4px 0 #fb7185,0 2px 10px #0000000d}.staff-dashboard-view .staff-ts-card.staff-period-recorded{background:#f0fdf4}.staff-dashboard-view .staff-ts-card.staff-period-future,.staff-dashboard-view .staff-ts-card.staff-period-neutral{background:#fff}.staff-dashboard-view .staff-ts-card.staff-free-period{background:#f0fdfa;box-shadow:inset 4px 0 #2dd4bf,0 2px 10px #0000000d}.staff-topic-preview{color:#0f172a;align-items:center;gap:6px;min-width:0;font-size:11px;line-height:1.5;display:flex}.staff-topic-preview>span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.staff-dashboard-view .staff-topic-preview button{color:#0f766e;background:0 0;border:0;flex-shrink:0;min-height:20px;padding:0 2px;font-size:11px;font-weight:700}.staff-dashboard-view .staff-free-period>svg{width:20px;height:20px;margin-top:4px}dialog[aria-label="Teaching period details"]{color:#0f172a;background:linear-gradient(#fff,#fbfffe);border:1px solid #e2e8e6e6;border-radius:24px;width:min(720px,94vw);max-height:min(90dvh,820px);padding:18px;box-shadow:0 30px 70px #0f172a33}dialog[aria-label="Teaching period details"]::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a57}dialog[aria-label="Teaching period details"] header{background:#f8fafc;border-bottom:1px solid #e2e8f0;gap:16px;margin:-18px -18px 12px;padding:16px 20px}dialog[aria-label="Teaching period details"] header h2{letter-spacing:-.01em;font-size:16px;font-weight:700}dialog[aria-label="Teaching period details"] header button{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;font-size:12px}dialog[aria-label="Teaching period details"] .staff-period-tabs{flex-wrap:wrap;gap:6px}dialog[aria-label="Teaching period details"] .staff-period-tabs button{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;font-size:12px}dialog[aria-label="Teaching period details"] .staff-period-tabs button[aria-pressed=true]{color:#fff;background:#0f766e;border-color:#0f766e}.staff-modal-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.staff-modal-actions button{color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;font-size:12px}.staff-portal:has(.staff-dashboard-view){--staff-blue-700:#0f766e;--staff-blue-50:#f0fdfa;background:#fff}.staff-dashboard-view,.staff-dashboard-view .staff-timetable{background:#fff}body:has(.staff-dashboard-view){background:#fff}.staff-dashboard-view .staff-ts-periods{align-items:stretch}.staff-dashboard-view .staff-free-period{color:#64748b;background:#fff;gap:4px}.staff-dashboard-view .staff-free-period .staff-ts-hour{color:#fff;background:#14b8a6}.staff-dashboard-view .staff-free-period>svg{margin-top:16px}.staff-dashboard-view .staff-free-period p{color:#64748b;font-size:12px}.staff-dashboard-view .staff-card-topics{color:#0f766e;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:5px;min-height:24px;padding:2px 0;font-size:11px;display:flex}body:has(.staff-dashboard-view) .dev-banner{display:none}.staff-portal:not(.menu-open):has(.staff-dashboard-view)>.workspace-header{display:none}.staff-dashboard-view .staff-profile-card{grid-template-columns:auto 1fr auto}.staff-profile-menu{z-index:1;color:#fff;background:#ffffff14;border:0;border-radius:12px;place-items:center;margin-left:auto;padding:8px;display:grid;position:relative}.staff-portal:has(.staff-dashboard-view) .workspace-content{max-width:1100px;padding:14px 14px 100px}.staff-dashboard-view{color:#1a1a2e;gap:14px}.staff-dashboard-view .staff-profile-card{background:radial-gradient(circle at 0 0,#7dd3fc47,#0000 32%),radial-gradient(circle at 100% 100%,#14b8a633,#0000 34%),linear-gradient(135deg,#08111f 0%,#0f2f37 45%,#135e63 100%);border:8px solid #fff;border-radius:24px;margin:0;padding:14px 16px;position:relative;box-shadow:0 12px 30px #0f172a14}.staff-dashboard-view .staff-profile-copy h1{color:#fff;text-transform:uppercase;font-size:20px;font-weight:800;line-height:1.02}.staff-dashboard-view .staff-profile-copy p{color:#f0fdfae6;margin-top:6px;font-size:12px;font-weight:700}.staff-dashboard-view .staff-profile-avatar{background:linear-gradient(135deg,#0f766e,#14b8a6 55%,#38bdf8);border-radius:16px;width:48px;height:48px}.staff-dashboard-view .staff-profile-stats{display:none}.staff-dashboard-view .staff-timetable{box-shadow:none;background:#fff;border:0;border-radius:16px}.staff-dashboard-view .staff-ts-header{padding:4px 2px 12px}.staff-dashboard-view .staff-ts-header h2{font-size:13px;font-weight:700}.staff-dashboard-view .staff-ts-header p{font-size:11px}.staff-dashboard-view .staff-ts-controls button{color:#0f766e;background:0 0;border:0;min-height:30px;padding:4px 6px}.staff-dashboard-view .staff-ts-dates{gap:6px}.staff-dashboard-view .staff-ts-pill{box-shadow:none;background:0 0;border:0;border-radius:12px;width:42px;min-width:42px;padding:8px 4px}.staff-dashboard-view .staff-ts-pill[aria-pressed=true]{background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 4px 12px #14b8a633}.staff-dashboard-view .staff-ts-pill strong{font-size:14px}.staff-dashboard-view .staff-ts-pill small{font-size:9px}.staff-dashboard-view .staff-ts-periods{gap:12px;padding:6px 2px 14px}.staff-dashboard-view .staff-ts-card{background:#ecf5f0;box-shadow:inset 3px 0 #34a879,0 2px 10px #0000000d}.staff-dashboard-view .staff-ts-hour{background:#14b8a6}.staff-dashboard-view .staff-class-link,.staff-dashboard-view .staff-period-more summary{color:#0f766e}.staff-dashboard-view .staff-period-request-link{color:#0f766e;background:#f0fdfa;border-color:#ccfbf1}.staff-dashboard-view .staff-ts-footer{border:0;padding:0}.staff-dashboard-view .staff-ts-view button{color:#64748b;background:0 0;min-height:30px;padding:6px}.staff-dashboard-view .staff-ts-view button[aria-pressed=true]{color:#0f766e;background:#fff}.staff-dashboard-view .staff-app-groups{gap:10px;padding:4px 2px 10px}.staff-dashboard-view .staff-app-groups button{color:#5f7287;letter-spacing:.08em;background:#fffffff5;border:1px solid #cbd5e1cc;border-radius:999px;padding:10px 18px;font-size:11px;font-weight:800;box-shadow:0 10px 24px #94a3b81f}.staff-dashboard-view .staff-app-groups button[aria-selected=true]{background:linear-gradient(135deg,#0f766e,#14b8a6);border-color:#0000;box-shadow:0 18px 34px #14b8a63d}.staff-dashboard-view .staff-apps .staff-feature-tile{border-radius:16px;gap:10px;min-height:110px;padding:20px 8px}.staff-dashboard-view .staff-apps .staff-feature-icon{width:44px;height:44px;box-shadow:none;background:0 0;border:0}.staff-dashboard-view .staff-feature-icon svg{width:28px;height:28px}.staff-dashboard-view .staff-feature-text strong{font-size:12px;font-weight:500;line-height:1.3}.staff-dashboard-view .tone-emerald,.staff-dashboard-view .tone-green{color:#0f766e;background:#0f766e12}.staff-dashboard-view .tone-blue{color:#3b82f6;background:#3b82f612}.staff-dashboard-view .tone-rose{color:#ec4899;background:#ec489912}.staff-dashboard-view .tone-violet,.staff-dashboard-view .tone-indigo{color:#8b5cf6;background:#8b5cf612}.staff-dashboard-view .tone-amber{color:#f59e0b;background:#f59e0b12}.staff-dashboard-view .tone-cyan{color:#14b8a6;background:#14b8a612}.staff-dc{background:#fff;border-radius:22px;gap:16px;padding:18px;display:grid;box-shadow:0 12px 30px #0f172a08}.staff-dc header{justify-content:space-between;align-items:center;display:flex}.staff-dc header span{color:#0f766e;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.staff-dc h2{color:#0f172a;margin:4px 0 0;font-size:19px}.staff-dc-nav{gap:6px;display:flex}.staff-dc-nav button{color:#334155;background:#f8fafc;border:0;border-radius:12px;width:34px;height:34px}.staff-dc-weekdays,.staff-dc-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.staff-dc-weekdays span{text-align:center;color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:800}.staff-dc-grid button{color:#0f172a;background:#f8fafc;border:0;border-radius:14px;min-height:48px;padding:6px 4px;font-size:13px;font-weight:700}.staff-dashboard-view .staff-dc-grid button[aria-pressed=true]{color:#0f766e;background:#f0fdfa;outline:2px solid #0f766e}.staff-dashboard-view .staff-ts-card .staff-class-link{min-height:24px;margin-top:0;padding:3px 0}.staff-dashboard-view .staff-attendance-counts button{min-height:24px}.staff-dc-grid button:disabled{opacity:.35}.staff-dc p{color:#64748b;margin:0;font-size:12px}.staff-dashboard-view .staff-ts-dates{justify-content:space-between;min-width:0;padding:8px 4px 12px}.staff-dashboard-view .staff-ts-pill{background:#f8fafc;border:2px solid #0000;border-radius:14px;flex:0 0 48px;gap:2px;width:48px;padding:8px 4px}.staff-dashboard-view .staff-ts-pill[aria-pressed=true]{box-shadow:none;background:#14b8a6;border-color:#14b8a6}.staff-dashboard-view .staff-ts-pill span{text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.staff-dashboard-view .staff-ts-pill strong{font-size:16px;line-height:1.2}.staff-dashboard-view .staff-ts-card{gap:4px;width:260px;max-width:none;padding:14px}.staff-card-status{color:#64748b;margin-left:auto;font-size:10px}.staff-card-status.recorded{color:#16a34a}.staff-card-details{margin-top:3px}.staff-card-details>summary{cursor:pointer;color:#0f766e;text-align:right;padding:4px 0;font-size:11px;font-weight:600;list-style:none}.staff-card-details>summary::-webkit-details-marker{display:none}.staff-card-details[open]>summary{margin-bottom:8px}.staff-dashboard-view .staff-ts-card h3{margin:0}.staff-dc-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.staff-dc-summary>div{background:#f8fafc;border-radius:16px;flex-direction:column;gap:4px;padding:12px;display:flex}.staff-dc-summary span,.staff-dc-detail-head span{color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.staff-dc-summary strong{color:#0f172a;font-size:18px}.staff-dc-grid button{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;display:flex}.staff-dc-grid button small{color:var(--calendar-accent,#475569);font-size:10px;font-weight:800}.staff-dc-dot{background:var(--calendar-accent,#475569);border-radius:999px;width:6px;height:6px}.staff-dashboard-view .staff-dc-grid button[aria-pressed=true]{outline-color:var(--calendar-accent,#0f766e)}.staff-dc-detail{background:#f8fafc;border-radius:18px;gap:10px;padding:14px;display:grid}.staff-dc-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.staff-dc-detail-head h3{color:#0f172a;margin:4px 0 0;font-size:17px}.staff-dc-detail-head b{color:#0f766e;background:#ccfbf1;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.staff-dc-detail article{border-left:4px solid var(--calendar-accent,#0f766e);background:#fff;border-radius:16px;gap:8px;padding:12px 14px;display:grid}.staff-dc-detail article>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-dc-detail article span{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800;display:inline-flex}.staff-dc-detail article strong{color:#0f172a;font-size:14px}.staff-dc-detail article p{color:#475569;font-size:12px;line-height:1.55}.staff-dc .staff-dc-view{color:#0f766e;background:0 0;border:0;justify-self:start;padding:6px 0;font-size:12px;font-weight:700}.staff-dc .staff-dc-source{color:#64748b;font-size:11px}@media (width<=640px){.staff-dashboard-view .staff-profile-copy h1{font-size:16px}.staff-dashboard-view .staff-apps .staff-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.staff-dashboard-view .staff-ts-card{width:260px;min-width:260px;max-width:300px;padding:12px}.staff-dashboard-view .staff-ts-dates{scroll-snap-type:x mandatory;gap:6px;padding-inline:0}.staff-dashboard-view .staff-ts-pill{scroll-snap-align:start;border-radius:12px;flex-basis:calc(16.6667% - 5px);width:calc(16.6667% - 5px);min-width:0;padding:6px 3px}.staff-dashboard-view .staff-ts-pill span{font-size:9px}.staff-dashboard-view .staff-ts-pill strong{font-size:14px}}:root{--font-family:"Roboto", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}body{color:#172541;font:16px var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f6fb;margin:0}button,input{font:inherit}button{cursor:pointer;min-height:44px;color:inherit;background:#fff;border:1px solid #cbd5e4;border-radius:9px;padding:10px 16px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #edab35}.dev-banner{color:#674800;text-align:center;background:#fff2d6;padding:9px;font-size:14px}.shell{min-height:calc(100vh - 35px);display:flex}.shell>aside{color:#fff;background:#122852;flex-shrink:0;width:235px;padding:30px 22px}.brand{letter-spacing:-1px;font-size:34px;font-weight:700}.brand span{letter-spacing:2px;color:#b6c8ed;margin:5px 0 42px;font-size:12px;display:block}nav a{color:#fff;background:#294579;border-radius:9px;padding:14px;text-decoration:none;display:block}.aside-note{color:#bdccec;margin-top:90px;font-size:14px;line-height:1.6}main{width:100%;min-width:0;max-width:1450px;padding:0 34px 40px}.topbar{color:#536581;border-bottom:1px solid #dbe3ef;justify-content:space-between;align-items:center;height:78px;font-size:14px;display:flex}.day-heading{justify-content:space-between;align-items:center;margin:28px 0 20px;display:flex}h1{letter-spacing:-.6px;margin:9px 0 8px;font-size:28px}h2{margin:8px 0;font-size:22px}.eyebrow{color:#567096;letter-spacing:1.3px;font-size:12px;font-weight:700}.sessions{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px;display:grid}.session{text-align:left;border-left:4px solid #cbd5e4;flex-direction:column;gap:10px;padding:18px;display:flex}.session span,.session small{color:#556683;font-size:14px}.session strong{font-size:17px}.session.selected{background:#eef4ff;border-color:#2459c7}.workspace{background:#fff;border:1px solid #dce4ef;border-radius:16px;overflow:hidden}.workspace header{justify-content:space-between;align-items:center;gap:15px;padding:26px;display:flex}.workspace header p{color:#64738a;font-size:14px}.badge{color:#2451a4;white-space:nowrap;background:#edf3ff;border-radius:25px;padding:8px 12px;font-size:14px}.summary{color:#586781;background:#f6f8fc;border-block:1px solid #e4eaf3;align-items:center;gap:28px;padding:17px 26px;font-size:14px;display:flex}.summary b{color:#203d6c;margin-right:5px;font-size:24px}.summary span:last-child{margin-left:auto}.tools{flex-wrap:wrap;align-items:center;gap:14px;padding:24px 26px 0;display:flex}input:not([type=checkbox]){border:1px solid #b9c7db;border-radius:8px;min-width:0;padding:12px}.tools label{align-items:center;gap:6px;font-size:14px;display:flex}.hint{color:#65738a;margin:18px 26px;font-size:14px}.roster{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:0 26px 26px;display:grid}.roster.compact{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}.student{text-align:left;align-items:center;gap:10px;min-height:64px;display:flex}.student strong{font-size:20px}.student small{margin-left:auto}.student.present{color:#145b36;background:#e6f5ed;border-color:#84bfa0}.student.absent{color:#a22e29;background:#fff0ef;border-color:#de9390}.student.unmarked{color:#63738c;background:#f8faff;border-style:dashed}.student span{font-size:14px}.workspace footer{border-top:1px solid #e0e7f0;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;font-size:14px;display:flex}.primary{color:#fff;background:#2057bf;border-color:#2057bf;font-weight:500}.review{background:#f0f5ff;border-top:1px solid #c7d8f5;padding:24px 26px}.workspace>p[role=status]{padding:0 26px 15px}.connect{max-width:540px;margin:70px auto}.connect h1{font-size:42px;line-height:1.2}.connect p{color:#61718a;line-height:1.7}.connect form{gap:20px;display:grid}.connect label{gap:10px;display:grid}.connect .primary{justify-self:start}@media (width<=900px){.shell>aside{width:175px;padding:25px 15px}main{padding:0 20px 30px}.sessions{gap:8px}.session{padding:13px}.workspace header{flex-direction:column;align-items:flex-start}.summary{gap:15px}}@media (width<=650px){.shell>aside{display:none}main{padding:0 12px 24px}.topbar{height:60px}.day-heading{margin:22px 0 15px}.day-heading h2{font-size:20px}.day-heading>span{display:none}.sessions{display:flex;overflow:auto}.session{min-width:220px}.workspace header{padding:20px}h1{font-size:24px}.summary{flex-wrap:wrap;padding:14px 18px}.summary span:last-child{margin-left:0}.tools{padding:20px 18px 0}.tools>input{width:100%}.hint{margin:18px}.roster{padding:0 18px 20px}.roster.compact{grid-template-columns:repeat(4,1fr);gap:8px}.student{gap:4px;padding:9px}.workspace footer{background:#fff;padding:15px;position:sticky;bottom:0;box-shadow:0 -4px 15px #132a5210}.connect{margin:40px 10px}.connect h1{font-size:34px}.dev-banner{font-size:12px}}.scope-note{color:#314a70;background:#eaf1ff;border-left:3px solid #2459c7;border-radius:4px;padding:16px 20px;line-height:1.6}.class-tools{flex-wrap:wrap;justify-content:space-between;gap:20px;margin:24px 0;display:flex}.class-tools [role=group]{flex-wrap:wrap;gap:6px;display:flex}.class-tools button[aria-pressed=true]{color:#fff;background:#2057bf;border-color:#2057bf}.class-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;display:grid}.class-card{background:#fff;border:1px solid #dce4ef;border-radius:14px;padding:22px}.class-code{color:#3d6399;justify-content:space-between;align-items:center;font-size:14px;display:flex}.class-card h2{margin-top:20px;line-height:1.3}.class-card p{color:#586781;font-size:14px}.class-footer{border-top:1px solid #e4eaf3;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;font-size:14px;display:flex}.class-footer span{color:#536f97}@media (width<=650px){.class-grid{grid-template-columns:1fr}.class-tools>input{width:100%}.scope-note,.class-tools button{font-size:14px}}nav a{margin-bottom:8px}nav a:not([aria-current=page]){color:#c4d4f3;background:0 0}.request-filters{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.request-filters label{gap:8px;font-size:14px;display:grid}.request-filters select{font:inherit;color:#172541;background:#fff;border:1px solid #b9c7db;border-radius:8px;min-height:44px;padding:10px}.request-list{gap:12px;display:grid}.request-card{background:#fff;border:1px solid #dce4ef;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.request-card p{color:#586781;font-size:14px}.pagination{justify-content:flex-end;gap:12px;margin:20px 0;display:flex}@media (width<=650px){.request-filters label{flex:1;min-width:130px}.request-card{flex-direction:column}}.mobile-nav{display:none}@media (width<=650px){.mobile-nav{gap:8px;margin:16px 0;display:flex}.mobile-nav button[aria-pressed=true]{color:#fff;background:#2057bf}}.workspace fieldset{border:1px solid #dbe5f0;border-radius:12px;gap:.75rem;margin:1.25rem 0;padding:1rem;display:grid}.workspace fieldset label{align-items:flex-start;gap:.6rem;display:flex}.workspace textarea,.decision-panel textarea{resize:vertical;width:100%;min-height:5rem;font:inherit;border:1px solid #ccd9e8;border-radius:8px;padding:.6rem}.decision-panel{z-index:30;background:#fff;border:1px solid #dbe5f0;border-radius:18px;width:min(34rem,100vw - 2rem);padding:1.4rem;position:fixed;inset:1rem 1rem 1rem auto;overflow-y:auto;box-shadow:0 16px 80px #112a5266}.decision-panel header{justify-content:space-between;gap:1rem;display:flex}.decision-panel fieldset{gap:1rem;margin-block:1rem;display:grid}.decision-panel label{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.decision-panel select{max-width:100%}.decision-panel::backdrop{background:#102a5266}.decision-panel{color:#172541;font:inherit;line-height:1.5}.decision-panel h2{font-size:22px;line-height:1.25}.decision-panel p{color:#4b607d;font-size:14px}.decision-panel fieldset{border:1px solid #dbe5f0;border-radius:12px;padding:16px}.decision-panel legend{color:#3a577f;font-size:14px;font-weight:700}:is(.decision-panel label:has(input[type=checkbox]),.decision-panel label:has(input[type=radio])){grid-template-columns:20px 1fr;align-items:start;font-size:14px;display:grid}.decision-panel input[type=checkbox],.decision-panel input[type=radio]{margin-top:4px}.decision-panel select{font:inherit;color:inherit;background:#fff;border:1px solid #bbcbe0;border-radius:8px;width:100%;min-height:44px;padding:8px}.decision-panel .review{border:1px solid #dbe5f0;border-radius:12px;margin:16px 0;padding:18px}.decision-panel .review button{margin:4px 6px 4px 0}.workspace>button{margin:12px 24px}.workspace>fieldset{margin:18px 24px}.workspace .tools{padding-top:16px;padding-bottom:12px}@media (width<=650px){.decision-panel{padding:18px}.workspace>button{margin:12px 18px}.workspace>fieldset{margin:16px 18px}}.course-plan-layout{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:start;gap:1.25rem;display:grid}.course-plan-layout>*{min-width:0}.course-plan-layout aside{background:#eef4ff;border-radius:1rem;padding:1rem}.course-plan-layout h2{font-size:1.15rem}.course-topics{gap:.75rem;display:grid}.course-topics article{overflow-wrap:anywhere;background:#fff;border-radius:.65rem;padding:.75rem}.course-topics article.subtopic{border-left:3px solid #7e9fe2;margin-left:.6rem}.course-plan-layout .pagination{flex-wrap:wrap}@media (width<=850px){.course-plan-layout{grid-template-columns:1fr}}.marks-roster{gap:.85rem;margin-block:1rem;display:grid}.marks-roster article{background:#f3f7ff;border:1px solid #dbe5f5;border-radius:.9rem;padding:1rem}.marks-roster h3{margin:0;font-size:1rem}.marks-roster p{color:#4b6080;font-size:.9rem}.marks-roster fieldset{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:.75rem;display:grid}.workspace-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.decision-panel fieldset{border:0;min-width:0;margin:0;padding:0}.workspace-tabs{background:#edf3ff;border-radius:1rem;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:.5rem;display:flex}.workspace-tabs button[aria-pressed=true]{color:#fff;background:#235bc4;border-color:#235bc4}.workspace-records{gap:.85rem;margin:1rem 0;display:grid}.workspace-records article{background:#fff;border:1px solid #dae4f2;border-left:4px solid #4a75c8;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1.1rem;display:flex}.workspace-records article>div{flex:1;min-width:0}.workspace-records article h2{overflow-wrap:anywhere;margin:.25rem 0;font-size:1.05rem}.workspace-records article p{color:#4b6080;margin:.35rem 0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.workspace-search{flex:1;gap:.5rem;min-width:0;display:flex}.workspace-search input{flex:1;min-width:0}.class-workspace .pagination{flex-wrap:wrap}@media (width<=600px){.workspace-records article{flex-wrap:wrap;align-items:flex-start}.class-footer{flex-wrap:wrap}.workspace-search{flex-basis:100%}.class-workspace .day-heading{flex-wrap:wrap;align-items:flex-start}}.decision-panel.decision-panel-wide{width:min(1240px,100vw - 2rem);max-width:1240px}.template-designer{grid-template-columns:minmax(290px,.85fr) minmax(0,1.15fr);align-items:start;gap:1.25rem;display:grid}.template-designer>.template-preview:only-child{grid-column:1/-1}.template-controls{background:#f0f5ff;border-radius:1rem;min-width:0;padding:1rem}.template-controls label{margin-bottom:.8rem}.template-part-controls{border-top:1px solid #ccdaef;padding-block:.8rem}.decision-panel .template-question-controls{background:#fff;border:1px solid #cfdaee;border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem;padding:.75rem;display:grid}.template-question-controls legend{color:#324d78;font-weight:700}.template-question-controls button{grid-column:1/-1}.template-preview{overflow-wrap:anywhere;background:#fff;border:1px solid #dbe4f2;border-radius:1rem;min-width:0;padding:1.5rem}.template-preview h2{font-size:1.35rem}.template-preview h3{border-bottom:2px solid #215ec6;padding-bottom:.6rem}.template-totals{color:#235bc4;border-bottom:1px solid #dbe4f2;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1rem;display:flex}.template-questions{padding:0;list-style:none}.template-questions li{border-bottom:1px solid #edf0f5;align-items:flex-start;gap:.75rem;padding-block:.85rem;display:flex}.template-questions li>div{flex:1;min-width:0}.template-questions p{color:#536783;margin:.4rem 0 0;font-size:.85rem}.template-number{color:#536783}.template-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.template-actions p{flex-basis:100%}@media (width<=850px){.template-designer{grid-template-columns:1fr}.template-preview{padding:1rem}}.class-tools>label{gap:.45rem;display:grid}.class-workspace select,.decision-panel select,.decision-panel input:not([type=checkbox]):not([type=radio]){font:inherit;color:#172541;background:#fff;border:1px solid #c5d4e9;border-radius:.6rem;min-width:0;max-width:100%;min-height:44px;padding:.6rem .7rem}.decision-panel select:focus-visible,.class-workspace select:focus-visible,.decision-panel textarea:focus-visible{outline-offset:3px;outline:3px solid #edab35}.template-controls label{gap:.4rem;display:grid}.template-controls label>input,.template-controls label>select{width:100%}@media (width<=600px){.course-plan-layout .workspace-records article>div{flex-basis:100%}}.template-mobile-switch{display:none}@media (width>=851px){.template-designer>.template-preview{max-height:calc(100dvh - 4rem);position:sticky;top:0;overflow-y:auto}}@media (width<=850px){.template-mobile-switch{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.template-mobile-switch button[aria-pressed=true]{color:#fff;background:#235bc4;border-color:#235bc4}.template-designer[data-panel=edit]>.template-preview,.template-designer[data-panel=preview]>.template-controls{display:none}}.course-progress-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;display:grid}.course-progress-summary>div{background:#edf3ff;border:1px solid #d6e3fc;border-radius:1rem;padding:1rem}.course-progress-summary dt{color:#4b6080;font-size:.85rem}.course-progress-summary dd{color:#2159c9;margin:.5rem 0 0;font-size:1.6rem;font-weight:700}.settings-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.settings-heading h1{margin:.25rem 0}.settings-version{white-space:nowrap;color:#25478a;background:#e9effb;border-radius:2rem;padding:.55rem .9rem}.settings-layout{grid-template-columns:210px minmax(0,1fr);gap:1.5rem;display:grid}.settings-groups{flex-direction:column;align-self:start;gap:.5rem;display:flex}.settings-groups button{text-align:left}.settings-groups button[aria-pressed=true]{color:#fff;background:#234c91}.settings-fields{min-width:0}.setting-field{background:#fff;border:1px solid #dbe3ef;border-radius:1rem;min-width:0;margin:1.2rem 0;padding:1.2rem}.setting-field legend{padding:0 .35rem;font-weight:650}.setting-field p,.settings-hint{color:#596980;line-height:1.5}.setting-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.setting-choice{overflow-wrap:anywhere;align-items:center;gap:.65rem;display:flex}.setting-choice input[type=checkbox]{flex-shrink:0;width:1.1rem;height:1.1rem}.settings-publish{background:#edf3ff;border-radius:1rem;flex-wrap:wrap;align-items:end;gap:1rem;margin:1.5rem 0;padding:1.2rem;display:flex}.settings-publish label{flex:100%}.settings-history{border-top:1px solid #dbe3ef;padding:1rem 0}.settings-history summary{cursor:pointer;font-weight:600}.settings-history article,.settings-diff article{overflow-wrap:anywhere;border-bottom:1px solid #dbe3ef;padding:.7rem 0}.settings-diff h3{font-size:1rem}.settings-diff p{margin:.3rem 0}@media (width<=700px){.settings-layout{grid-template-columns:1fr;gap:1rem}.settings-groups{flex-flow:wrap}.settings-groups button{flex:auto}.settings-heading{flex-wrap:wrap}.setting-choices{grid-template-columns:1fr}.settings-publish button{flex:auto}}.settings-fields>label,.settings-publish label{flex-direction:column;gap:.5rem;display:flex}.settings-fields input:not([type=checkbox]),.setting-field select,.settings-publish input{box-sizing:border-box;width:100%;max-width:38rem}.setting-field select{font:inherit;color:#243b5a;background:#fff;border:1px solid #ccd8eb;border-radius:.5rem;padding:.75rem}.decision-panel .exam-periods{flex-wrap:wrap;gap:.65rem 1rem;display:flex}.decision-panel .exam-periods label{align-items:center;gap:.4rem;display:flex}.decision-panel .exam-periods input{width:auto}.approval-route-filters{background:#fff;border:1px solid #dbe5f0;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:60rem;padding:1.25rem;display:grid}.approval-route-filters label{gap:.5rem;display:grid}.approval-route-filters select{width:100%;min-width:0;padding:.8rem}.approval-route-filters p{grid-column:1/-1}.approval-route-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.approval-route-preview{overflow-wrap:anywhere;background:#f1f6ff;border:1px solid #d6e4fb;border-radius:14px;padding:1rem}.approval-route-preview li{padding:.5rem 0}.approval-stage{border-bottom:1px solid #dbe5f0;padding-bottom:1rem}.approval-stage ul{padding:0;list-style:none}.approval-stage li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.approval-route-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}@media (width<=760px){.approval-route-layout,.approval-route-filters{grid-template-columns:minmax(0,1fr)}}.approval-route-header{align-items:flex-start}.approval-route-header>button{white-space:nowrap;flex-shrink:0;padding:.65rem}@media (width>=761px){.approval-route-preview{position:sticky;top:0}}.exam-review-list{gap:1rem;margin:1.5rem 0;display:grid}.exam-review-list .review-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.exam-review-list h2{margin:.35rem 0;font-size:1.1rem}.exam-review-list p{margin:.35rem 0}.decision-summary{border-left:4px solid var(--primary,#2563eb);overflow-wrap:anywhere;background:#eff6ff;border-radius:.6rem;margin-block:1rem;padding:1.2rem}@media (width<=640px){.exam-review-list .review-row{flex-direction:column;align-items:stretch}}.decision-panel>header{align-items:flex-start}.decision-panel>header>div{overflow-wrap:anywhere;min-width:0}.decision-panel>header>button{white-space:nowrap;flex-shrink:0}.decision-panel .form-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.exam-review-list .review-row{background:#fff;border:1px solid #dbe5f0;border-radius:16px;padding:1.2rem}.approval-route-impact,.approval-route-retained{background:linear-gradient(120deg,#f5f3ff,#eff6ff);border:1px solid #c4b5fd;border-radius:16px;margin:1rem 0;padding:1rem 1.2rem}.approval-route-impact h3{color:#5b21b6;margin-top:0}.hierarchy-mapping-history{color:#6d28d9;margin-bottom:.5rem;font-size:.8rem;display:block}.approval-route-impact label{color:#312e81;align-items:flex-start;gap:.7rem;font-weight:500;display:flex}.approval-route-impact input[type=checkbox]{flex-shrink:0;width:18px;height:18px}:root{--workspace-blue:#1d4ed8;--workspace-blue-bright:#3b82f6;--workspace-ink:#16264b;--workspace-teal:#059669;--workspace-violet:#7c3aed}body{color:var(--workspace-ink);background:#fbfdff}.staff-portal{background:radial-gradient(at 90% 10%,#e2f8f380,#0000 44%),radial-gradient(at 0,#eff6ff,#0000 55%),#fbfdff;min-height:100vh}.workspace-header{z-index:10;background:#fff;border-bottom:1px solid #dbeafe;position:relative;box-shadow:0 8px 32px #1d4ed808}.workspace-header-top{align-items:center;gap:2rem;max-width:1600px;margin:auto;padding:1.1rem 2.5rem;display:flex}.workspace-brand{color:var(--workspace-blue);letter-spacing:-.06em;flex-shrink:0;align-items:center;gap:.65rem;font-size:1.85rem;font-weight:700;display:flex}.workspace-brand-mark{color:#fff;background:linear-gradient(140deg,#1d4ed8,#60a5fa);border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 5px 12px #1d4ed828}.workspace-brand>div>span{letter-spacing:.14em;color:#526a96;margin-top:.15rem;font-size:.58rem;display:block}.workspace-search{color:#4b72af;background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;flex:1;align-items:center;gap:.65rem;max-width:400px;padding:.35rem .8rem;display:flex}.workspace-search input{width:100%;min-width:0;color:var(--workspace-ink);background:0 0;border:none;padding:.45rem 0;font-size:.9rem}.workspace-search kbd{white-space:nowrap;background:#fff;border:1px solid #c8dbff;border-radius:5px;padding:.2rem .35rem;font-size:.7rem}.workspace-account{color:#3c5480;align-items:center;gap:1rem;margin-left:auto;font-size:.85rem;display:flex}.workspace-account>span{overflow-wrap:anywhere;max-width:320px}.workspace-account button{color:var(--workspace-blue);white-space:nowrap;border-color:#dbeafe;padding:.6rem .8rem;font-size:.85rem}.workspace-nav-line{justify-content:space-between;align-items:center;gap:1rem;max-width:1600px;margin:auto;padding:0 2.5rem .65rem;display:flex}.workspace-groups{align-items:center;gap:.4rem;display:flex}.workspace-group-trigger{color:#3d5480;background:0 0;border-color:#0000;border-radius:11px;align-items:center;gap:1.1rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;display:flex}.workspace-group-trigger[aria-current],.workspace-group-trigger:hover,.workspace-group-trigger[aria-expanded=true]{color:var(--workspace-blue);background:#eff6ff;border-color:#dbeafe}.workspace-group-trigger[data-tone=violet][aria-current],.workspace-group-trigger[data-tone=violet][aria-expanded=true]{color:#6d28d9;background:#f3edff;border-color:#e5d9ff}.workspace-group-trigger[data-tone=teal][aria-current],.workspace-group-trigger[data-tone=teal][aria-expanded=true]{color:#047857;background:#e8fbf3;border-color:#bef1d9}.workspace-context{color:#5c7193;font-size:.8rem}.workspace-mega{background:linear-gradient(125deg,#fff,#f3f8ff);border-top:1px solid #e7efff;padding:1.5rem max(2.5rem,50% - 760px)}.workspace-menu-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.workspace-menu-heading h2{overflow-wrap:anywhere;margin:.3rem 0;font-size:1.25rem}.workspace-menu-heading button{color:#4e67a0;border-color:#dbeafe;padding:.4rem .7rem}.workspace-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.workspace-menu-grid a{color:var(--workspace-ink);background:#fff;border:1px solid #dce8ff;border-radius:16px;align-items:center;gap:.8rem;margin:0;padding:1.1rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.workspace-menu-grid a>span:nth-child(2){flex:1;min-width:0}.workspace-menu-grid strong{font-size:.95rem;font-weight:600;display:block}.workspace-menu-grid small{color:#5a7092;margin-top:.3rem;font-size:.79rem;line-height:1.5;display:block}.workspace-menu-grid a:hover,.workspace-menu-grid a[aria-current=page]{background:#f8fbff;border-color:#60a5fa;box-shadow:0 5px 15px #2563eb10}.workspace-link-icon{color:#2563eb;background:#eaf2ff;border-radius:13px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}[data-tone=violet] .workspace-link-icon{color:#7c3aed;background:#f1eaff}[data-tone=teal] .workspace-link-icon{color:#047857;background:#dcfce7}.workspace-content{width:100%;min-width:0;max-width:1520px;margin:auto;padding:2rem 2.5rem 3rem}.workspace-content>section>header:not(.workspace-page-hero),.workspace-content>section>.day-heading{background:linear-gradient(120deg,#e8f0ff,#eef8ff 65%,#e4faf2);border:1px solid #dbeafe;border-radius:22px;margin:0 0 1.5rem;padding:1.6rem 1.7rem}.workspace-content h1{color:#173e86;letter-spacing:-.025em;margin:.4rem 0 .7rem;font-size:1.8rem}.workspace-content .scope-note{color:#315e8b;background:#eef8ff;border-color:#cde6ff}.workspace-content .class-card{background:linear-gradient(150deg,#f1f6ff,#fff 55%);border:1px solid #cddffc;border-top:3px solid #3b82f6;box-shadow:0 8px 25px #1d4ed806}.workspace-content .class-card:nth-child(3n+2){background:linear-gradient(150deg,#ecfcf4,#fff 55%);border-top-color:#059669}.workspace-content .class-card:nth-child(3n+3){background:linear-gradient(150deg,#f4edff,#fff 55%);border-top-color:#8b5cf6}.workspace-content .class-card button,.workspace-filter-bar>button,.workspace-page-hero>button{background:var(--workspace-blue);color:#fff;border-color:var(--workspace-blue)}.workspace-content .class-tools{background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:1rem}.workspace-content button[aria-pressed=true]{background:linear-gradient(135deg,#1d4ed8,#3b82f6);border-color:#1d4ed8}.workspace-page-hero{background:linear-gradient(120deg,#edf4ff,#e6f8ff);border:1px solid #d8e6ff;border-radius:22px;align-items:center;gap:1.1rem;margin-bottom:1.5rem;padding:1.7rem;display:flex}.workspace-page-hero>div{flex:1;min-width:0}.workspace-page-hero p{color:#4f6691;max-width:60rem;margin:.5rem 0;line-height:1.6}.workspace-page-hero[data-tone=violet]{background:linear-gradient(120deg,#eee6ff,#eef7ff);border-color:#e0d3ff}.workspace-page-hero[data-tone=teal]{background:linear-gradient(120deg,#defaf0,#eef8ff);border-color:#bdeedc}.workspace-hero-icon{color:#7c3aed;background:#ffffffa8;border-radius:18px;flex-shrink:0;place-items:center;width:58px;height:58px;display:grid}[data-tone=teal] .workspace-hero-icon{color:#059669}.workspace-filter-bar{background:#fff;border:1px solid #dbeafe;border-radius:16px;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.workspace-filter-bar label{color:#3e5683;flex:1;gap:.5rem;min-width:0;font-size:.85rem;display:grid}.workspace-filter-bar input,.workspace-filter-bar select,.module-search-label input{width:100%;min-width:0;font:inherit;color:var(--workspace-ink);background:#fbfdff;border:1px solid #cdddfa;border-radius:10px;padding:.8rem}.hierarchy-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.hierarchy-cards>article{background:linear-gradient(145deg,#f8f4ff,#fff 70%);border:1px solid #ded6f9;border-top:3px solid #9b74e6;border-radius:18px;flex-direction:column;min-width:0;padding:1.3rem;display:flex}.hierarchy-cards h2{color:#38275d;margin:1rem 0 .4rem;font-size:1.13rem}.hierarchy-cards p{color:#665d7f;overflow-wrap:anywhere;flex:1;font-size:.85rem;line-height:1.6}.hierarchy-category{color:#7956a3;letter-spacing:.045em;text-transform:uppercase;font-size:.7rem;font-weight:600}.hierarchy-card-icon{color:#8b5cf6;margin-top:1rem}.hierarchy-cards article>div{border-top:1px solid #e9e2f7;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.9rem;display:flex}.hierarchy-cards article>div>span{color:#77688e;font-size:.75rem}.hierarchy-cards button{color:#6d28d9;border-color:#d7c3ff;padding:.5rem .75rem;font-size:.8rem}.hierarchy-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.3rem 0;display:grid}.hierarchy-summary>span{color:#6b5095;background:#f0eaff;border-radius:12px;padding:.9rem;font-size:.75rem}.hierarchy-summary strong{color:#6333ac;margin-bottom:.25rem;font-size:1.5rem;display:block}.hierarchy-detail-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.5rem;display:grid}.hierarchy-stage-list{padding:0;list-style:none}.hierarchy-stage-list>li{gap:.8rem;padding-bottom:1.2rem;display:flex;position:relative}.hierarchy-stage-list>li:not(:last-child):before{content:"";background:#dfcefa;width:2px;position:absolute;top:34px;bottom:0;left:15px}.hierarchy-stage-number{color:#fff;background:#7c3aed;border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:600;display:grid}.hierarchy-stage-list>li>div{flex:1;min-width:0}.hierarchy-stage-list h4{margin:.25rem 0 .8rem}.hierarchy-role{color:#6845a1;overflow-wrap:anywhere;background:#f7f2ff;border:1px solid #e4d7fb;border-radius:12px;align-items:center;gap:.7rem;margin-bottom:.5rem;padding:.8rem;display:flex}.hierarchy-role svg{flex-shrink:0}.hierarchy-role p{margin:.25rem 0 0}.hierarchy-role.archived{opacity:.65}.hierarchy-scope{background:#f7fbff;border:1px solid #d8e6fa;border-radius:16px;align-self:start;padding:1rem}.hierarchy-scope>article{background:#fff;border:1px solid #e1eafb;border-radius:10px;margin:.6rem 0;padding:.7rem}.hierarchy-scope article p{margin:.4rem 0}.hierarchy-scope dl>div{border-bottom:1px solid #e0eafd;justify-content:space-between;gap:1rem;padding:.6rem 0;font-size:.8rem;display:flex}.hierarchy-scope dd{overflow-wrap:anywhere;max-width:50%;margin:0;font-weight:500}.hierarchy-protection{background:#fff7e5;border:1px solid #f6d996;border-radius:14px;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.hierarchy-protection svg{color:#b77916;flex-shrink:0}.module-explanation{background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.2rem;display:flex}.module-explanation>div{flex:1}.module-explanation h2{font-size:1.1rem}.module-explanation p{color:#546c90;font-size:.9rem;line-height:1.6}.module-search-label{gap:.5rem;max-width:450px;margin-bottom:1.5rem;font-size:.85rem;display:grid}.module-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.module-cards article{background:linear-gradient(140deg,#e8fbf1,#fff);border:1px solid #cce8dc;border-radius:18px;flex-wrap:wrap;gap:1rem;min-width:0;padding:1.2rem;display:flex}.module-cards article[data-accent="1"]{background:linear-gradient(140deg,#eaf2ff,#fff);border-color:#d3e3ff}.module-cards article[data-accent="2"]{background:linear-gradient(140deg,#f3eaff,#fff);border-color:#e6d8fa}.module-cards article[data-accent="3"]{background:linear-gradient(140deg,#fff5df,#fff);border-color:#f2e1b8}.module-card-icon{color:#059669}.module-cards article h2{overflow-wrap:anywhere;margin:.45rem 0;font-size:1.05rem}.module-cards article p{color:#5f7492;font-size:.8rem}.module-status{color:#166534;background:#dcfce7;border-radius:20px;padding:.2rem .5rem;font-size:.65rem}.module-workspace-links{flex-wrap:wrap;gap:.45rem;width:100%;display:flex}.module-status[data-enabled=false]{color:#92400e;background:#fef3c7}.module-workspace-links button{color:#1d4ed8;border-color:#cbdffd;padding:.4rem .65rem;font-size:.8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-content{color:#1d4ed8;z-index:30;background:#fff;padding:.8rem;position:absolute;top:-80px;left:1rem}.skip-content:focus{top:.5rem}@media (width<=1050px){.workspace-header-top{gap:1rem;padding:1rem 1.4rem}.workspace-account>span{max-width:180px;font-size:.75rem}.workspace-search{max-width:320px}.workspace-content{padding:1.5rem}.workspace-nav-line{padding-inline:1.4rem}.workspace-mega{padding:1.3rem 1.4rem}.workspace-menu-grid,.module-cards,.hierarchy-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.workspace-header-top{flex-wrap:wrap;gap:.9rem;padding:1rem}.workspace-brand{font-size:1.6rem}.workspace-brand-mark{width:38px;height:38px}.workspace-account{gap:.6rem}.workspace-account>span{max-width:120px;font-size:.72rem}.workspace-account button{padding:.35rem .5rem;font-size:.75rem}.workspace-search{flex:100%;order:3;max-width:none}.workspace-search kbd{display:none}.workspace-nav-line{padding:0 1rem .75rem}.workspace-context{display:none}.workspace-groups{flex-wrap:wrap;gap:.25rem;width:100%}.workspace-group-trigger{gap:.45rem;padding:.55rem .65rem;font-size:.8rem}.workspace-mega{padding:1rem}.workspace-menu-grid{grid-template-columns:minmax(0,1fr)}.workspace-menu-grid a{padding:.9rem}.workspace-content{padding:1rem 1rem 2rem}.workspace-content h1{font-size:1.45rem}.workspace-content>section>header:not(.workspace-page-hero),.workspace-content>section>.day-heading{border-radius:18px;padding:1.15rem}.workspace-page-hero{flex-wrap:wrap;gap:.7rem;padding:1.15rem}.workspace-hero-icon{width:44px;height:44px}.workspace-page-hero>div{flex-basis:calc(100% - 60px)}.workspace-page-hero p{font-size:.85rem}.workspace-page-hero>button{margin-left:auto}.workspace-filter-bar{flex-wrap:wrap;padding:1rem}.workspace-filter-bar label{flex-basis:100%}.workspace-filter-bar>button{width:100%}.module-cards,.hierarchy-cards,.hierarchy-detail-layout{grid-template-columns:minmax(0,1fr)}.module-explanation{flex-direction:column;align-items:stretch}.hierarchy-summary{gap:.4rem}.hierarchy-summary>span{padding:.65rem;font-size:.65rem}.hierarchy-summary strong{font-size:1.25rem}.hierarchy-protection{padding:.8rem}}@media (prefers-reduced-motion:reduce){.workspace-menu-grid a{transition:none}}.approval-workspace-tabs{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.approval-workspace-tabs button[aria-pressed=true]{color:#fff;background:#334fc4;border-color:#334fc4}.approval-policy-impact{color:#273c80;background:linear-gradient(115deg,#edf2ff,#f4efff);border:1px solid #d4dafa;border-radius:16px;margin:1rem 0;padding:1rem 1.2rem}.approval-policy-impact p{margin:.4rem 0 0}.approval-policy-fields{border:1px solid #dce5f7;border-radius:16px;min-width:0;padding:1rem}.approval-policy-field{border-bottom:1px solid #e7edfa;grid-template-columns:minmax(0,1fr) auto;gap:.45rem 1rem;padding:.85rem 0;display:grid}.approval-policy-field label{margin:0;font-weight:600}.approval-policy-field small{color:#52678e;grid-column:1/-1}.approval-policy-field input[type=checkbox]{accent-color:#334fc4;width:22px;height:22px}.approval-policy-field input[type=number]{width:6rem}.approval-policy-fields>label{gap:.5rem;margin:1rem 0;display:grid}.approval-policy-preview{background:linear-gradient(150deg,#eff5ff,#f5f0ff);border:1px solid #ccdafb;border-radius:18px;min-width:0;padding:1.3rem}.approval-policy-preview dl>div{border-bottom:1px solid #dbe4f8;justify-content:space-between;gap:1rem;padding:.65rem 0;display:flex}.approval-policy-preview dd{color:#334fc4;margin:0;font-weight:700}.approval-policy-review{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.8rem;margin:1rem 0;display:grid}.approval-policy-review article{background:#eff7ff;border:1px solid #d3e4fb;border-radius:14px;padding:1rem}.approval-policy-review h3{margin:0 0 .5rem}.approval-workflow-cards article{border-top:3px solid #6d75db}.staff-batch-card{background:#fff;border:1px solid #e8ecf1;border-radius:16px;padding:20px;box-shadow:0 4px 20px #2563eb06}.staff-batch-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-batch-heading h2{color:#1e293b;margin:0;font-size:16px}.staff-batch-heading .badge{color:#4338ca;white-space:nowrap;background:#eef2ff;font-size:11px}.staff-batch-card .staff-batch-meta{color:#64748b;margin:8px 0 16px;font-size:12px}.staff-batch-subjects{border-top:1px solid #eef2f6;gap:10px;padding-top:14px;display:grid}.staff-subject-chip{background:linear-gradient(115deg,#f0f9ff,#f0fdfa);border:1px solid #dbeafe;border-radius:12px;padding:12px}.staff-subject-chip h3{color:#1e293b;margin:4px 0 10px;font-size:14px}.staff-subject-chip .eyebrow{font-size:10px}.staff-subject-chip button{padding:7px 12px;font-size:12px}.staff-batch-card:hover{border-color:#c7d2fe}.leave-route-editor fieldset{border:1px solid #dbe5f0;border-radius:12px;gap:.8rem;min-width:0;margin:1rem 0;padding:1rem;display:grid}.leave-route-editor fieldset label{align-items:flex-start;gap:.6rem;display:flex}.leave-route-editor>fieldset>label{display:grid}.leave-route-editor textarea{resize:vertical;width:100%;min-height:6rem;font:inherit;border:1px solid #ccd9e8;border-radius:8px;padding:.75rem}:root{--staff-blue-950:#102a56;--staff-blue-900:#173e86;--staff-blue-700:#1d4ed8;--staff-blue-600:#2563eb;--staff-blue-100:#dbeafe;--staff-blue-50:#eff6ff;--staff-surface:#fff;--staff-page:#f4f7fc}.staff-portal{background:radial-gradient(circle at 100% 0, #93c5fd47, transparent 34rem), var(--staff-page)}.workspace-header{border-bottom-color:var(--staff-blue-100);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;box-shadow:0 5px 24px #1e40af14}.workspace-header-top{padding:1rem max(1rem,50% - 760px)}.workspace-brand{color:var(--staff-blue-700)}.workspace-brand-mark{background:linear-gradient(135deg, var(--staff-blue-900), var(--staff-blue-600));box-shadow:0 8px 18px #2563eb3d}.workspace-search{background:var(--staff-blue-50);border-color:var(--staff-blue-100)}.workspace-nav-line{padding-inline:max(1rem,50% - 760px)}.workspace-content{padding:1.15rem max(1rem,50% - 760px) 3rem}.workspace-content>section>.day-heading{border-color:var(--staff-blue-100);background:linear-gradient(135deg,#eaf2ff 0%,#f5f9ff 60%,#eaf6ff 100%);margin-bottom:1rem;padding:1.25rem 1.35rem;position:relative;overflow:hidden;box-shadow:0 10px 30px #2563eb0f}.workspace-content>section>.day-heading:after{content:"";background:#60a5fa2e;border-radius:50%;width:180px;height:180px;position:absolute;top:-100px;right:-74px}.workspace-content h1{color:var(--staff-blue-900);font-weight:800}.workspace-content .eyebrow{color:var(--staff-blue-700)}.workspace-content .scope-note{border:1px solid var(--staff-blue-100);background:#eff6ffc7;border-radius:14px;margin:0 0 1rem}.workspace-content .class-tools{border:0;border-radius:18px;padding:.65rem;box-shadow:0 5px 20px #0f172a0d}.workspace-content .class-tools [role=group]{background:#eef2f8;border-radius:13px;gap:.35rem;padding:.25rem;display:flex}.workspace-content .class-tools button{color:#64748b;background:0 0;border:0;border-radius:10px;padding:.65rem .8rem}.workspace-content .class-tools button[aria-pressed=true]{color:#fff;background:linear-gradient(135deg,var(--staff-blue-700),var(--staff-blue-600));box-shadow:0 5px 12px #2563eb40}.workspace-content .class-tools input{background:#f8fbff;border-color:#d7e2f3;border-radius:12px}.workspace-content .class-card{border:0;border-top:3px solid var(--staff-blue-600);background:linear-gradient(150deg,#f3f7ff,#fff 58%);border-radius:20px;box-shadow:0 10px 28px #0f172a12}.workspace-content .staff-batch-heading h2{color:var(--staff-blue-900)}.workspace-content .staff-subject-chip{background:linear-gradient(135deg,#f7fbff,#eef5ff);border-color:#d9e7fb;border-radius:16px}.workspace-content .staff-subject-chip button{background:var(--staff-blue-700);color:#fff;border-color:var(--staff-blue-700);border-radius:10px}.workspace-content .staff-subject-chip button:last-child{color:var(--staff-blue-700);background:#e8f0ff;border-color:#c7dcff}.staff-mobile-nav{display:none}@media (width<=680px){body{background:var(--staff-page)}.dev-banner{letter-spacing:.02em;padding:.45rem .75rem;font-size:.68rem}.workspace-header{position:sticky;top:0}.workspace-header-top{grid-template-columns:1fr auto;gap:.75rem;padding:.75rem 1rem .65rem;display:grid}.workspace-brand{gap:.45rem;font-size:1.35rem}.workspace-brand-mark{border-radius:12px;width:36px;height:36px}.workspace-brand>div>span{font-size:.47rem}.workspace-account{gap:.35rem;font-size:.68rem}.workspace-account>span{white-space:nowrap;text-overflow:ellipsis;max-width:115px;overflow:hidden}.workspace-account button{min-height:34px;padding:.4rem .55rem;font-size:.68rem}.workspace-search{border-radius:12px;grid-area:2/1/auto/-1;max-width:none}.workspace-search kbd{display:none}.workspace-nav-line{scrollbar-width:none;padding:.15rem .85rem .55rem;overflow-x:auto}.workspace-groups{flex-shrink:0}.workspace-group-trigger{min-height:34px;padding:.4rem .65rem;font-size:.75rem}.workspace-context{display:none}.workspace-mega{padding:1rem}.workspace-menu-grid{grid-template-columns:1fr}.workspace-content{padding:.8rem .75rem 6rem}.workspace-content>section>.day-heading{border-radius:20px;padding:1rem;display:block}.workspace-content>section>.day-heading>button{width:100%;margin-top:.8rem}.workspace-content h1{font-size:1.45rem}.workspace-content .scope-note{padding:.75rem;font-size:.76rem;line-height:1.5}.workspace-content .class-tools{gap:.6rem;display:grid}.workspace-content .class-tools [role=group]{overflow-x:auto}.workspace-content .class-tools button{white-space:nowrap;font-size:.73rem}.workspace-content .class-tools input{width:100%}.class-grid{scroll-snap-type:x mandatory;padding:.2rem .1rem 1rem;overflow-x:auto;gap:.8rem!important;display:flex!important}.class-grid>.class-card{scroll-snap-align:start;flex:0 0 88%}.staff-mobile-nav{z-index:20;left:.7rem;right:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #bfdbfee6;border-radius:20px;gap:.2rem;padding:.4rem;display:flex;position:fixed;box-shadow:0 12px 30px #0f172a29}.staff-mobile-nav button{color:#64748b;background:0 0;border:0;border-radius:15px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;min-height:52px;padding:.35rem .2rem;font-size:.62rem;display:flex}.staff-mobile-nav button svg{width:19px;height:19px}.staff-mobile-nav button.active{color:var(--staff-blue-700);background:var(--staff-blue-50)}}.workspace-content{max-width:1120px;margin-inline:auto}.staff-home{gap:1rem;display:grid}.staff-profile-card{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#147d9a 43%,#2563eb 100%);border:1px solid #cfe0ff;border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem 1.35rem;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 35px #1e40af29}.staff-profile-card:after{content:"";background:#ffffff1f;border-radius:50%;width:220px;height:220px;position:absolute;top:-130px;right:-90px}.staff-profile-avatar{background:#fff3;border:1px solid #ffffff59;border-radius:20px;place-items:center;width:58px;height:58px;display:grid}.staff-profile-avatar svg{width:30px;height:30px}.staff-profile-copy{z-index:1;position:relative}.staff-profile-copy .eyebrow{color:#ffffffc2}.staff-profile-copy h1{color:#fff;margin:.25rem 0 .2rem;font-size:clamp(1.3rem,2.4vw,1.8rem)}.staff-profile-copy p{color:#ffffffd6;max-width:38rem;margin:0;font-size:.82rem}.staff-profile-stats{z-index:1;gap:.55rem;display:flex;position:relative}.staff-profile-stats span{background:#ffffff26;border:1px solid #ffffff38;border-radius:15px;gap:.15rem;min-width:82px;padding:.65rem .75rem;display:grid}.staff-profile-stats strong{font-size:1.2rem}.staff-profile-stats small{color:#fffc;white-space:nowrap;font-size:.62rem}.staff-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.staff-feature-tile{text-align:left;border:1px solid #0000;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:108px;padding:.85rem;transition:transform .16s,box-shadow .16s;display:grid;box-shadow:0 7px 18px #0f172a0f}.staff-feature-tile:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a1a}.staff-feature-icon{border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.staff-feature-icon svg{width:21px;height:21px}.staff-feature-text{gap:.25rem;min-width:0;display:grid}.staff-feature-text strong{color:#1e293b;font-size:.88rem}.staff-feature-text small{color:#64748b;font-size:.68rem;line-height:1.25}.staff-feature-arrow{color:#64748b;font-size:1.25rem}.tone-classes{background:#e5f8f2;border-color:#c7efe3}.tone-classes .staff-feature-icon{color:#0f8a72;background:#c9f1e4}.tone-requests{background:#eaf3ff;border-color:#cfe2ff}.tone-requests .staff-feature-icon{color:#2563eb;background:#d5e6ff}.tone-staff-leave{background:#fff4dc;border-color:#f8e6bb}.tone-staff-leave .staff-feature-icon{color:#c47c14;background:#ffe9b2}.tone-modules{background:#f7ecfb;border-color:#ebd8f4}.tone-modules .staff-feature-icon{color:#9333a8;background:#ecd7f6}.staff-apps{gap:.8rem;display:grid}.staff-app-groups{scrollbar-width:none;gap:.55rem;padding:.15rem .05rem;display:flex;overflow-x:auto}.staff-app-groups::-webkit-scrollbar{display:none}.staff-app-groups button{color:#526078;background:#ffffffd1;border:1px solid #dbe4ef;border-radius:999px;flex:none;padding:.58rem 1rem;font-size:.76rem;font-weight:700}.staff-app-groups button[aria-selected=true]{color:#fff;background:linear-gradient(135deg,#0f766e,#159a8c);border-color:#0f766e;box-shadow:0 5px 12px #0f766e33}.staff-apps .staff-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-apps .staff-feature-tile{text-align:center;flex-direction:column;justify-content:center;gap:.65rem;min-height:132px;display:flex}.staff-apps .staff-feature-icon{background:#ffffff9e;width:48px;height:48px;margin-inline:auto}.staff-apps .staff-feature-icon svg{width:26px;height:26px}.staff-apps .staff-feature-text strong{font-size:.83rem}.staff-apps .staff-feature-text small{font-size:.65rem}.tone-emerald{background:#e8f8f3;border-color:#cfede3}.tone-emerald .staff-feature-icon{color:#0f927c}.tone-blue{background:#eaf3ff;border-color:#d3e4fb}.tone-blue .staff-feature-icon{color:#2771cf}.tone-rose{background:#fff0f3;border-color:#f7dce3}.tone-rose .staff-feature-icon{color:#c03c68}.tone-green{background:#edf9ee;border-color:#d8edda}.tone-green .staff-feature-icon{color:#299657}.tone-violet{background:#f4ecfb;border-color:#e8d8f5}.tone-violet .staff-feature-icon{color:#8144bd}.tone-amber{background:#fff6df;border-color:#f5e7be}.tone-amber .staff-feature-icon{color:#cb8219}.tone-cyan{background:#e8f9fb;border-color:#cfedf0}.tone-cyan .staff-feature-icon{color:#168ba0}.tone-indigo{background:#eef0ff;border-color:#dfe2f8}.tone-indigo .staff-feature-icon{color:#5b54c6}.staff-home>.day-heading{margin-top:.2rem}.staff-home>.scope-note{margin-top:-.35rem}@media (width<=760px){.workspace-content{padding-inline:.75rem}.staff-profile-card{border-radius:21px;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;padding:.8rem}.staff-profile-avatar{border-radius:16px;width:48px;height:48px}.staff-profile-copy h1{font-size:1.12rem}.staff-profile-copy p{font-size:.69rem;line-height:1.25}.staff-profile-stats{gap:.3rem}.staff-profile-stats span{min-width:56px;padding:.45rem .4rem}.staff-profile-stats strong{font-size:.95rem}.staff-profile-stats small{white-space:normal;font-size:.5rem;line-height:1.1}.staff-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.staff-feature-tile{border-radius:17px;grid-template-columns:auto 1fr;min-height:94px;padding:.7rem}.staff-feature-arrow{display:none}.staff-apps .staff-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-apps .staff-feature-tile{min-height:118px;padding:.8rem .5rem}}.staff-attendance-editor{color:#182c32;background:#fff}.staff-attendance-editor h1{font-size:clamp(18px,3vw,23px)}.staff-attendance-editor .summary{flex-wrap:wrap;gap:8px 18px;padding:14px 0;font-size:13px;display:flex}.attendance-marking{margin:16px 0}.attendance-mode-tabs{background:#f2f6f6;border-radius:14px;gap:6px;margin-bottom:14px;padding:4px;display:flex;overflow-x:auto}.attendance-mode-tabs button{white-space:nowrap;background:0 0;border:0;border-radius:11px;flex:1;padding:10px 12px;font-size:13px}.attendance-mode-tabs button[aria-pressed=true]{color:#11796f;background:#fff;box-shadow:0 2px 6px #163b3010}.attendance-default{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.attendance-default input{accent-color:#11998b;width:18px;height:18px}.attendance-help,.attendance-roll-entry p{color:#60727c;font-size:12px;line-height:1.5}.attendance-search{width:100%;margin:4px 0 14px}.staff-attendance-editor .roster{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:8px;padding:0}.staff-attendance-editor .roster.compact{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.staff-attendance-editor .student{min-height:48px;box-shadow:none;border-radius:12px;gap:10px;padding:10px}.staff-attendance-editor .student strong{font-size:14px;font-weight:600}.staff-attendance-editor .student span{font-size:13px;font-weight:400}.staff-attendance-editor .student small{font-size:10px}.staff-attendance-editor .student.present{color:#186552;background:#f1fbf6;border:1px solid #cbe8dc}.staff-attendance-editor .student.absent{color:#a32f48;background:#fff2f3;border:1px solid #e7a5ad}.staff-attendance-editor .compact .student{flex-direction:column;justify-content:center;gap:2px;min-height:56px}.staff-attendance-editor .compact .student small{margin:0}.staff-attendance-editor fieldset{border:1px solid #e0ece8;border-radius:16px;margin:18px 0;padding:16px}.staff-attendance-editor fieldset label{margin:10px 0;font-size:13px;display:block}.staff-attendance-editor textarea{width:100%;min-height:72px;margin-top:8px;display:block}.staff-attendance-editor .review{background:#f1faf7;border-radius:16px;padding:18px}@media (width<=600px){.staff-attendance-editor .roster:not(.compact){grid-template-columns:1fr}.staff-attendance-editor.workspace{padding:14px}.attendance-mode-tabs button{padding:10px 8px}}.staff-portal .workspace-content .staff-attendance-editor{border-color:#dfebe7;padding:16px}.staff-portal .workspace-content .staff-attendance-editor>header{border-radius:16px;gap:8px;padding:14px 16px}.staff-attendance-editor>header h1{margin:5px 0}.staff-attendance-editor>header p{margin:6px 0;font-size:12px}.staff-attendance-editor.workspace>button{margin:8px 0 12px}.staff-attendance-editor.workspace>button:first-child{color:#167b6e;background:0 0;border:0;padding:4px 0}.staff-attendance-editor.workspace .tools{padding:12px 0}.staff-attendance-editor .summary{color:#45675f;background:#f4faf8;border-color:#dfebe7;border-radius:10px;gap:8px 14px;padding:10px 12px}.staff-attendance-editor .summary span:last-child{margin-left:0}.staff-attendance-editor .attendance-mode-tabs button[aria-pressed=true]{color:#11796f;background:#fff;box-shadow:0 2px 6px #163b3010}.staff-attendance-editor .attendance-mode-tabs button:not([aria-pressed=true]){color:#506760;background:0 0}.staff-attendance-editor.workspace fieldset{margin:16px 0}.staff-attendance-editor.workspace fieldset label{margin:4px 0;display:block}.staff-attendance-editor.workspace fieldset label input[type=checkbox]{accent-color:#11998b;margin-right:8px}.staff-attendance-editor.workspace fieldset textarea{margin-top:8px;display:block}.attendance-session-bar{color:#48685f;justify-content:space-between;align-items:center;gap:8px;margin:12px 0;font-size:12px;display:flex}.attendance-session-bar button{border-color:#d8e9e2;border-radius:10px;padding:7px 10px;font-size:12px}@media (width>=900px){.staff-attendance-editor.workspace{max-width:1000px;margin-inline:auto}}.staff-portal .staff-attendance-editor.workspace>button:first-child{display:none}.attendance-student-batch{color:#687d76;margin-top:3px;font-size:11px;font-style:normal;display:block}.attendance-batch-group h3{color:#197d72;margin:14px 0 8px;font-size:13px}.attendance-hour-selection{flex-wrap:wrap;gap:12px!important;display:flex!important}.attendance-hour-selection label{font-size:12px}.staff-period-manage{color:#0f766e;margin-left:auto;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.staff-hour-faculty{color:#52736b;font-size:12px!important}.staff-class-hour+.staff-class-hour{border-top:1px solid #e4eeeb;margin-top:10px;padding-top:10px}.attendance-hub{background:#fff;border-radius:20px;padding:18px}.attendance-hub header h1{font-size:22px}.attendance-report-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.attendance-report-filters label{flex:1;gap:6px;min-width:140px;font-size:12px;display:grid}.attendance-hub select{background:#fff;border:1px solid #dce9e4;border-radius:12px;width:100%;padding:12px}.attendance-hub-dates{margin:16px 0}.attendance-hub .staff-ts-pill[aria-pressed=true]{color:#fff;background:#14b8a6}.attendance-hub .attendance-mode-tabs button[aria-pressed=true]{color:#11796f;background:#f0fdfa;border-color:#bce6dc}.attendance-report-table{overflow:auto}.attendance-report-table table{border-collapse:collapse;width:100%;font-size:12px}.attendance-report-table th,.attendance-report-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5eeeb;padding:12px}.attendance-report-table td button{color:#146e64;background:0 0;border:0;padding:0;font-size:13px}.attendance-report-table small{color:#71877e;margin-top:4px;display:block}.attendance-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0;display:grid}.attendance-calendar strong{text-align:center;color:#7c8b85;font-size:11px}.attendance-calendar button{background:#f8fbfa;border:0;border-radius:12px;min-height:52px;padding:8px;font-size:13px}.attendance-calendar button span{justify-content:center;gap:3px;margin-top:5px;display:flex}.attendance-calendar i{background:#a78bfa;border-radius:50%;width:5px;height:5px}.attendance-calendar .attendance-dot-present{background:#14b8a6}.attendance-calendar .attendance-dot-absent{background:#e55d72}.attendance-calendar .attendance-dot-duty{background:#a78bfa}.attendance-calendar-hour{background:#f8fbfa;border-left:3px solid #14b8a6;border-radius:12px;margin-bottom:8px;padding:12px;font-size:13px}.attendance-calendar-hour.absent{border-color:#e55d72}.attendance-calendar-hour.duty{border-color:#a78bfa}.attendance-calendar-legend{color:#5c706b;flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.attendance-calendar-legend span{align-items:center;gap:5px;display:flex}.attendance-calendar-legend i{background:#a78bfa;border-radius:50%;width:6px;height:6px}.attendance-calendar-legend .attendance-dot-present{background:#14b8a6}.attendance-calendar-legend .attendance-dot-absent{background:#e55d72}.attendance-calendar-legend .attendance-dot-other{background:#8595a4}.attendance-calendar button[aria-pressed=true]{background:#eafaf6;outline:2px solid #14b8a6}.attendance-hub-dates{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:hidden;display:grid!important}.attendance-hub-dates .staff-ts-pill{background:#f7faf9;border:0;border-radius:12px;gap:4px;width:100%;min-width:0;padding:10px 2px;display:grid}.attendance-hub-dates .staff-ts-pill span{text-transform:uppercase;color:#72827c;font-size:10px}.attendance-hub-dates .staff-ts-pill strong{font-size:14px}.attendance-hub-dates .staff-ts-pill[aria-pressed=true] span{color:#fff}.attendance-hub .attendance-mode-tabs{flex-wrap:nowrap;overflow-x:auto}@media (width<=600px){.attendance-hub{padding:12px}.attendance-report-filters{gap:8px}.attendance-report-table{max-width:100%}}.staff-portal .staff-timetable .staff-class-periods{align-items:flex-start}.staff-portal .staff-timetable .staff-class-periods .staff-ts-card{min-height:132px}.attendance-hub>header{margin-bottom:18px!important;padding:16px 18px!important}.attendance-hub>header p{margin-bottom:0}.staff-portal .staff-timetable .staff-ts-card.staff-card-compact,.staff-portal .staff-timetable .staff-ts-card.staff-free-period{box-sizing:border-box;scrollbar-width:thin;gap:1px;height:112px;min-height:112px;max-height:112px;padding:4px 12px;overflow-y:auto}.staff-portal .staff-timetable .staff-ts-periods{align-items:flex-start}.staff-portal .staff-timetable .staff-ts-card h3{margin:0;line-height:1.3}.staff-portal .staff-timetable .staff-ts-card p{margin:0}.staff-portal .staff-timetable .staff-ts-card .staff-attendance-counts{margin-top:2px}.staff-class-subjects{overscroll-behavior-y:contain;scrollbar-width:thin;flex:1;min-height:0;max-height:none;overflow-y:auto}.staff-class-subject-heading{align-items:start;gap:8px;display:flex}.staff-class-subject-heading h3{flex:1}.staff-class-hour+.staff-class-hour{margin-top:6px;padding-top:6px}.staff-hour-faculty{line-height:1.4}.staff-hour-source{color:#73817b;font-size:11px}.staff-attendance-shortcut{color:#0f766e;background:0 0!important;border:0!important;padding:2px 0!important;font-size:11px!important}.staff-hour-restriction{color:#637771;margin-top:3px;font-size:10px}.staff-hour-restriction summary{cursor:pointer}.staff-hour-restriction p{padding-top:4px;line-height:1.45}.attendance-date-section{margin:12px 0}.staff-calendar-picker{border:1px solid #e2e8e6;border-radius:9px;place-items:center;width:32px;height:32px;display:grid;position:relative}.staff-calendar-picker input{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.staff-calendar-picker input::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.staff-calendar-picker:focus-within{outline:2px solid #14b8a6}.attendance-coverage-toolbar{align-items:center;gap:12px;display:flex}.attendance-coverage-toolbar label{flex:1}.attendance-coverage-toolbar input{width:100%;margin-top:5px;display:block}.attendance-coverage-toolbar span{color:#0f766e;white-space:nowrap;font-size:12px}.attendance-topic-list{max-height:210px;margin:10px 0;overflow:auto}.staff-attendance-editor.workspace .attendance-topic-list label{background:#f8fbfa;border-radius:9px;align-items:start;gap:8px;margin:4px 0;padding:8px;line-height:1.45;display:flex}.attendance-topic-list input{flex-shrink:0;margin-top:3px}.attendance-coverage-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=600px){.attendance-coverage-notes{grid-template-columns:1fr}.attendance-date-section .staff-ts-header{flex-wrap:wrap}}.staff-class-periods .staff-attendance-counts>span{white-space:nowrap;align-items:center;gap:3px;font-size:10px;display:inline-flex}.staff-class-periods .staff-attendance-counts .staff-present{color:#18734f}.staff-class-periods .staff-attendance-counts .staff-absent{color:#b33549}.staff-portal .staff-timetable .staff-period-manage{flex:0 0 24px;place-items:center;width:24px;height:24px;min-height:24px;line-height:1;display:inline-grid}.staff-portal .staff-timetable .staff-attendance-counts button{min-height:22px}.staff-portal .attendance-hub .staff-timetable{box-shadow:none;border:0}.staff-portal .attendance-hub .staff-ts-header{padding:4px 2px 12px}.staff-portal .attendance-hub .staff-ts-header h2{font-size:13px}.staff-portal .attendance-hub .staff-ts-header p{font-size:11px}.staff-portal .attendance-hub .staff-ts-controls button{box-shadow:none;color:#0f766e;background:0 0;border:0;min-height:30px;padding:4px 6px}.staff-portal .attendance-hub .staff-ts-dates{justify-content:space-between;min-width:0}.staff-portal .attendance-hub .staff-ts-pill{box-shadow:none;border:2px solid #0000;gap:2px}.staff-portal .attendance-hub .staff-ts-pill.staff-ts-today{border-color:#14b8a6}.staff-portal .attendance-hub .staff-ts-pill[aria-pressed=true]{box-shadow:none;background:#14b8a6;border-color:#14b8a6}.staff-portal .attendance-hub .staff-ts-pill:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.staff-portal .attendance-hub .staff-dc-grid button[aria-pressed=true]{box-shadow:none;color:#0f766e;background:#f0fdfa;outline:2px solid #0f766e}.staff-portal .staff-timetable .staff-card-compact>.staff-ts-card-top,.staff-portal .staff-timetable .staff-free-period>.staff-ts-card-top{flex-wrap:nowrap;flex:0 0 24px;min-height:24px}.staff-portal .staff-timetable .staff-card-compact>h3{white-space:nowrap;text-overflow:ellipsis;flex:0 0 16px;line-height:16px;display:block;overflow:hidden}.staff-portal .staff-timetable .staff-card-compact>.staff-ts-batch{flex-shrink:0;line-height:14px}.staff-portal .staff-timetable .staff-card-compact .staff-attendance-counts{flex-shrink:0;margin-top:0}.staff-card-coverage{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:flex}.staff-card-coverage .staff-topic-preview{flex:1;min-width:0}.staff-portal .staff-timetable .staff-card-attend{min-height:20px;box-shadow:none;color:#0f766e;background:0 0;border:0;flex-shrink:0;padding:0;font-size:10px;line-height:20px}.staff-portal .staff-timetable .staff-card-compact .staff-topic-preview{line-height:16px}.staff-portal .staff-timetable .staff-card-compact .staff-topic-preview button{min-height:20px;line-height:20px}.staff-portal .staff-timetable .staff-ts-periods{padding-bottom:6px}.staff-portal .staff-timetable .staff-class-periods .staff-free-request,.staff-portal .staff-timetable .staff-class-periods .staff-hour-restriction{flex-shrink:0}.staff-portal{--staff-control-radius:12px;--staff-control-border:#dce7e3;--staff-control-ink:#28534b}.staff-portal.staff-authenticated .workspace-content{padding-bottom:100px}.staff-portal.staff-authenticated .workspace-content button:not(.staff-timetable button):not(.staff-apps button):not(.staff-profile-card button):not(.attendance-marking button):not(.staff-dc button):not(.evaluation-type-tabs button):not(.workspace-tabs button):not(.approval-workspace-tabs button),.staff-portal.staff-authenticated .decision-panel button:not(.student):not(.staff-period-tabs button){border-radius:var(--staff-control-radius);border-color:var(--staff-control-border);box-shadow:none;font-family:inherit;font-size:13px;font-weight:500}.staff-portal.staff-authenticated :is(.workspace-content,.decision-panel) button.primary{color:#fff;background:#0f8277;border:1px solid #0f8277;padding:10px 16px}.staff-portal.staff-authenticated :is(.workspace-content,.decision-panel) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid var(--staff-control-border);color:#243b36;background:#fff;border-radius:12px;font-family:inherit;font-size:13px}.staff-portal.staff-authenticated :is(.workspace-content,.decision-panel) :is(input,select,textarea,button):focus-visible{outline-offset:2px;outline:2px solid #14b8a6}.staff-portal.staff-authenticated .staff-page-navigation{justify-content:flex-start;gap:8px;margin-bottom:0;padding:12px 18px;display:flex}.staff-portal.staff-authenticated:has(.staff-dashboard-view) .staff-page-navigation{display:none}.staff-portal.staff-authenticated .staff-page-navigation button{color:#147b70;min-height:36px;font:500 13px var(--font-family);background:#f0f8f5;border:0;border-radius:12px;align-items:center;gap:7px;padding:7px 13px;display:inline-flex}.staff-page-navigation svg,.pagination svg{flex-shrink:0;width:18px;height:18px}.staff-portal.staff-authenticated .pagination{color:#63776f;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:20px 0;padding:10px 0;font-size:12px;display:flex}.staff-portal.staff-authenticated .pagination button{color:#16786d;border:1px solid var(--staff-control-border);background:#fff;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 12px;display:inline-flex}.staff-portal.staff-authenticated .pagination button:disabled{opacity:.45}.staff-portal.staff-authenticated .local-page-back,.staff-portal.staff-authenticated .attendance-hub>button:last-child{display:none}.staff-portal.staff-authenticated :is(.attendance-hub,.staff-attendance-editor)>header{box-shadow:none;background:#fff;border:0;border-bottom:1px solid #e5ece8;border-radius:0;padding:12px 0!important}.staff-portal.staff-authenticated :is(.attendance-hub,.staff-attendance-editor)>header h1{font-size:20px;font-weight:600}.staff-portal.staff-authenticated .staff-mobile-nav{box-shadow:none;background:#fff;border:0;border-top:1px solid #e5e7eb;border-radius:0}.faculty-workspace{color:#243b36;background:#fff;border-radius:18px;min-width:0;padding:18px}.faculty-page-heading{border-bottom:1px solid #e5ece8;align-items:center;gap:12px;margin-bottom:14px;padding:8px 0 16px;display:flex}.faculty-page-heading>svg{color:#0f8277;flex-shrink:0;width:26px;height:26px}.faculty-page-heading h1{margin:0;font-size:20px;font-weight:600}.faculty-page-heading p{color:#697d75;margin:5px 0 0;font-size:13px}.faculty-workspace-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.faculty-workspace-filters label{color:#5a7067;flex:1;gap:6px;min-width:140px;font-size:12px;display:grid}.faculty-workspace-filters select{width:100%;padding:10px}.faculty-search{gap:6px;margin:12px 0 18px;font-size:12px;display:grid}.faculty-search input{width:100%;padding:11px 13px}.evaluation-class-panel{border:1px solid #e2ebe6;border-radius:16px;margin:16px 0;padding:15px}.evaluation-class-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.evaluation-class-panel h2{margin:5px 0;font-size:15px;line-height:1.4}.evaluation-class-panel header p{color:#6b7f76;margin:0;font-size:12px}.evaluation-class-panel header button{color:#0f8277;background:#edf9f5;border:1px solid #d5ebe2;padding:9px 13px}.evaluation-global-records,.faculty-class-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;display:grid}.staff-portal .evaluation-record,.staff-portal .faculty-class-choice{text-align:left;background:#f9fcfb;border:1px solid #e2ebe6;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:14px;display:flex}.evaluation-record strong,.faculty-class-choice strong{font-size:14px;line-height:1.4}.evaluation-record span,.faculty-class-choice span{color:#647b71;font-size:12px}.evaluation-record small,.faculty-class-choice small{color:#127c70;font-size:11px}.evaluation-record .evaluation-status{color:#996823;background:#fff7e9;border-radius:6px;padding:3px 7px;font-size:10px;display:inline-flex}.evaluation-record .evaluation-status.published{color:#258356;background:#e8f8ed}.empty-state{color:#708479;padding:6px 0;font-size:13px}.staff-portal .faculty-workspace .evaluation-type-tabs{margin:10px 0}.staff-portal .staff-timetable .staff-ts-card.staff-card-compact{gap:0;padding-block:3px}.staff-portal .staff-timetable .staff-card-compact>h3{white-space:normal;text-overflow:clip;scrollbar-width:thin;flex:0 auto;min-height:14px;max-height:28px;font-size:12px;line-height:14px;display:block;overflow-y:auto}.staff-portal .staff-timetable .staff-card-compact>h3 button{font-size:inherit;line-height:inherit}.staff-portal .staff-timetable .staff-card-compact .staff-topic-preview button,.staff-portal .staff-timetable .staff-card-attend{min-height:18px;line-height:18px}@media (width<=600px){.faculty-workspace{padding:12px}.faculty-workspace-filters{gap:8px}.evaluation-global-records,.faculty-class-grid{grid-template-columns:1fr}}.staff-portal.staff-authenticated .faculty-workspace>.faculty-page-heading{box-shadow:none;background:#fff;border:0;border-bottom:1px solid #e5ece8;border-radius:0;padding:8px 0 16px}.staff-portal.staff-authenticated .faculty-workspace .evaluation-type-tabs button{border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600}.staff-tool-directory{color:#506b62;margin-top:18px;padding:12px 4px;font-size:12px}.staff-tool-directory summary{cursor:pointer;padding:10px 0}.staff-tool-directory .staff-app-grid{margin-top:10px}.staff-tool-pending{color:#667b73;font-size:10px;font-weight:400;display:block}.staff-portal.staff-authenticated .decision-panel label:has(>input:not([type=checkbox]):not([type=radio]),>select,>textarea){color:#415e54;flex-direction:column;align-items:stretch;gap:7px;min-width:0;margin:0;font-size:12px;font-weight:500;display:flex}.staff-portal.staff-authenticated .decision-panel label>:is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:10px 12px}.staff-portal.staff-authenticated .decision-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-portal.staff-authenticated .decision-panel header h2{margin:0;font-size:19px;font-weight:600;line-height:1.3}.staff-portal.staff-authenticated .decision-panel fieldset{gap:14px}.decision-panel .evaluation-co-choice{background:#f6fbfa;border:1px solid #d6e8e4;border-radius:12px;flex-direction:row;align-items:flex-start;gap:10px;padding:12px;display:flex}.decision-panel .evaluation-co-choice input{accent-color:#149c8e;flex:none;width:18px;height:18px;margin:2px 0}.evaluation-co-choice small{color:#536975;margin-top:4px;font-size:12px;font-weight:400;line-height:1.5;display:block}.linked-question-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;display:grid}.linked-question-grid small{color:#607580;font-size:11px;font-weight:400;display:block}.staff-portal.staff-authenticated .decision-panel .workspace-tabs{scrollbar-width:none;background:#fff;border:0;flex-wrap:nowrap;gap:8px;padding:6px 0 12px;display:flex;overflow-x:auto}.staff-portal.staff-authenticated .decision-panel .workspace-tabs button{white-space:nowrap;color:#607580;background:#fff;border-radius:999px;flex:none;padding:10px 16px}.staff-portal.staff-authenticated .decision-panel .workspace-tabs button[aria-pressed=true]{color:#fff;background:#0f8277;border-color:#0f8277}
