.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}}.decision-panel .treq{gap:12px;font-size:14px;display:grid}.decision-panel .treq>*{min-width:0;margin:0}.treq-head{background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:0 0 4px;display:flex}.treq-head h2{color:#0f172a;margin:2px 0 0;font-size:18px;line-height:1.25}.treq-kicker{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;font-size:11px;font-weight:800}.decision-panel .treq-close{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:14px;place-items:center;width:44px;min-width:44px;height:44px;padding:0;display:grid}.treq-period{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#0f766e 58%,#14b8a6 100%);border-radius:18px;align-items:center;gap:12px;padding:12px 14px;display:flex}.treq-period>div{gap:2px;min-width:0;display:grid}.treq-period strong{overflow-wrap:anywhere;font-size:14.5px;line-height:1.3}.treq-period small{color:#ccfbf1;font-size:12px}.treq-hour{background:#ffffff29;border-radius:14px;flex:none;place-items:center;min-width:46px;height:46px;font-size:15px;font-weight:800;display:grid}.treq-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;padding:10px 12px;font-size:13px}.treq-note{color:#115e59;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.5}.treq-fields{background:#fff;border:1px solid #e2e8f0;border-radius:16px}.treq-fields>summary{color:#0f766e;cursor:pointer;align-items:center;min-height:44px;padding:0 14px;font-size:13px;font-weight:700;list-style:none;display:flex}.treq-fields>summary::-webkit-details-marker{display:none}.treq-fields>summary:after{content:"›";margin-left:auto;font-size:18px;transition:transform .15s;transform:rotate(90deg)}.treq-fields:not([open])>summary:after{transform:rotate(0)}.decision-panel .treq-fields fieldset{border:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin:0;padding:0 14px 14px;display:grid}.decision-panel .treq-fields legend{display:none}.decision-panel .treq :is(label){color:#475569;gap:5px;font-size:12.5px;font-weight:700;display:grid}.decision-panel .treq input:not([type=checkbox]):not([type=radio]){min-height:44px;font-size:16px}.decision-panel .treq .primary.treq-find{width:100%;min-height:48px}.decision-panel .treq-recipients{border:0;gap:8px;margin:0;padding:0;display:grid}.decision-panel .treq-recipients legend{color:#0f172a;margin-bottom:8px;padding:0;font-size:13px;font-weight:800}:is(.decision-panel .treq-recipients>label:has(input[type=checkbox]),.decision-panel .treq-recipients>label:has(input[type=radio])){color:#0f172a;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;min-height:52px;padding:8px 14px;font-size:14px;font-weight:600;display:flex}.decision-panel .treq-recipients>label:has(input:checked){background:#f0fdfa;border-color:#14b8a6}.decision-panel .treq-recipients input[type=checkbox],.decision-panel .treq-recipients input[type=radio]{accent-color:#0f766e;flex:none;width:20px;height:20px}.decision-panel .treq-review{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:8px;padding:12px 14px;display:grid}.decision-panel .treq-review h3{margin:0;font-size:15px}.decision-panel .treq-review ul{margin:0;padding-left:18px}.decision-panel .treq>button,.decision-panel .treq-review>button{min-height:46px}@media (width<=640px){.decision-panel .treq{padding-bottom:env(safe-area-inset-bottom,0px)}}.finance-skeleton-page{gap:14px;display:grid}.finance-skeleton-hero{border-radius:26px;height:148px}.finance-skeleton-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;display:grid}.finance-skeleton-card{background:#fff;border:1px solid #94a3b82e;border-radius:20px;gap:10px;padding:16px;display:grid;box-shadow:0 18px 40px #0f172a0a}.finance-skeleton-card .finance-skeleton-line{border-radius:8px;height:14px}.finance-skeleton-card .finance-skeleton-line-short{width:38%}.finance-skeleton-card .finance-skeleton-line-mid{border-radius:14px;width:72%;height:40px}.finance-empty-error{background:linear-gradient(#fff,#fff7f7);border-color:#fecaca}.finance-empty-error .finance-empty-icon{color:#b91c1c;background:#fee2e2}.finance-app .finance-empty-error h2{color:#991b1b}.finance-app .finance-empty-error .finance-empty-body p{color:#7f1d1d}.finance-app .finance-pill-tab{min-height:44px}.finance-app .finance-pill-tab[aria-pressed=true]{background:var(--g-active);color:#fff;box-shadow:var(--sh-pill-active);border-color:#0000}.finance-pill-tab[aria-pressed=true] .finance-pill-count{color:#fff;background:#ffffff38}.staff-portal .finance-app nav.finance-pill-tabs{background:0 0;border:0;margin:0;padding:2px 2px 8px}.staff-ui{container-type:inline-size}.staff-ui>*,.staff-ui-section>*{min-width:0}.staff-ui-section{gap:14px;min-width:0;display:grid}.finance-app.staff-ui :is(h1,h2,h3,h4){letter-spacing:normal}.finance-app.staff-ui p{margin:0}.finance-app.staff-ui .finance-page-hero-text p+p{margin-top:4px}.finance-app.staff-ui button{min-height:44px}.finance-app.staff-ui button.primary,.finance-app.staff-ui .finance-empty-action button{border-radius:var(--r-pill);background:var(--g-active);color:#fff;border:0;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex;box-shadow:0 10px 22px #14b8a638}.finance-app.staff-ui button.primary:disabled{opacity:.6;box-shadow:none}.finance-app.staff-ui :is(.staff-ui-toolbar,.workspace-actions,.finance-card-actions,.staff-ui-row-actions,.pagination,.staff-ui-search) button:not(.primary):not(.finance-pill-tab):not([aria-pressed]):not(.staff-ui-refresh){border-radius:var(--r-pill);color:var(--fin-primary-dark);box-shadow:none;background:#fff;border:1px solid #cbd5e1cc;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex}.finance-app.staff-ui :is(.staff-ui-toolbar,.workspace-actions,.finance-card-actions,.staff-ui-row-actions,.pagination,.staff-ui-search) button:not(.primary):not(.finance-pill-tab):not([aria-pressed]):not(.staff-ui-refresh):hover:not(:disabled){border-color:var(--fin-tint-border);background:var(--fin-tint)}.finance-app.staff-ui :is(.staff-ui-toolbar,.workspace-actions,.pagination) button:disabled{opacity:.55;cursor:not-allowed}.finance-app .finance-hero-link.class-hero-primary,.finance-app .finance-page-hero-actions button.primary{color:var(--fin-primary-dark);background:#fff;border-color:#fff;box-shadow:0 12px 26px #0f172a2e}.finance-app .finance-page-hero-actions button:not(.primary):not(.class-hero-primary):not(.staff-ui-refresh){border-radius:var(--r-pill);color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;align-items:center;min-height:44px;padding:8px 16px;font-size:13px;font-weight:700;display:inline-flex}.finance-app .finance-page-hero-actions button:disabled{opacity:.6}.finance-page-hero-copy>p,.finance-app .finance-page-hero-text{color:#f8fafcd9}.finance-app .staff-ui-toolbar,.staff-portal .finance-app .class-tools.staff-ui-toolbar{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);box-shadow:var(--sh-card);background:#fffffff0;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:12px;display:flex}.staff-ui-toolbar>.finance-pill-tabs{flex:100%;min-width:0;padding-bottom:2px}.staff-ui-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.staff-ui-toolbar-actions:empty{display:none}.finance-app .staff-ui-search{background:0 0;border:0;flex:320px;gap:8px;min-width:0;max-width:560px;margin:0;padding:0;display:flex}.finance-app .staff-ui-search input{border:1px solid var(--fin-line);border-radius:var(--r-control);background:#fff;flex:auto;min-width:0;min-height:44px;padding:10px 14px;font-size:14px}.finance-app .staff-ui-search input:focus{border-color:var(--fin-primary-light);outline:none;box-shadow:0 0 0 3px #14b8a626}.staff-portal .finance-app.staff-ui .staff-ui-records{gap:0;margin:0;display:grid}.staff-portal .finance-app.staff-ui .staff-ui-records>article{border:0;border-bottom:1px solid var(--fin-divider);box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0;padding:14px 4px;display:flex}.staff-portal .finance-app.staff-ui .staff-ui-records>article:last-child{border-bottom:0}.staff-portal .finance-app.staff-ui .staff-ui-records>article>div:first-child{flex:260px;gap:3px;min-width:0;display:grid}.staff-portal .finance-app.staff-ui .staff-ui-records :is(h2,h3){color:var(--fin-ink);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:1.4}.staff-portal .finance-app.staff-ui .staff-ui-records p{color:var(--fin-muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.staff-portal .finance-app.staff-ui .staff-ui-records .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-primary);font-size:10px;font-weight:800}.staff-portal .finance-app.staff-ui .staff-ui-records .workspace-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;display:flex}.staff-ui-record-chips{flex-wrap:wrap;gap:6px;display:flex}.finance-app .staff-ui-records-card>.finance-empty{box-shadow:none;border-style:dashed}.finance-app .staff-ui-notice{background:var(--g-clear);color:#065f46;border:1px solid #86efac;border-radius:16px;align-items:center;gap:10px;margin:0;padding:10px 10px 10px 14px;font-size:13px;font-weight:600;display:flex}.finance-app .staff-ui-notice span{flex:1;min-width:0}.finance-app .staff-ui-notice button{width:44px;min-height:44px;color:inherit;background:0 0;border:0;padding:0;font-size:20px}.staff-portal.staff-authenticated .finance-app .pagination{margin:4px 0 0;padding:0}.staff-portal.staff-authenticated .finance-app .pagination button{min-height:44px}@media (width<=640px){.finance-app.staff-ui{padding-top:12px;padding-bottom:24px}.staff-ui-toolbar-actions{width:100%;margin-left:0}.staff-ui-toolbar-actions>button{flex:auto}.finance-app .staff-ui-search{flex-basis:100%;max-width:none}.finance-app .staff-ui-search input{font-size:16px}.staff-portal .finance-app.staff-ui .staff-ui-records .workspace-actions{justify-content:stretch;width:100%}.staff-portal .finance-app.staff-ui .staff-ui-records .workspace-actions>button{flex:calc(50% - 8px)}.finance-page-hero-actions:has(.class-hero-primary,.primary){width:100%}.finance-page-hero-actions>:is(button,a):not(.staff-ui-refresh){flex:auto;justify-content:center}.finance-app.staff-ui .staff-ui-row-actions>button{flex:calc(50% - 8px)}.finance-app.staff-ui .staff-ui-tile{padding:12px}}.staff-ui-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;display:grid}.finance-app.staff-ui .staff-ui-tile{border:1px solid var(--fin-soft-border);border-top:3px solid var(--fin-primary-light);background:linear-gradient(#fff,#fbfdff);border-radius:18px;align-content:start;gap:10px;min-width:0;margin:0;padding:14px;display:grid;box-shadow:0 8px 22px #0f172a0d}.finance-app.staff-ui .staff-ui-tile-head{background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 10px;margin:0;padding:0;display:flex}.finance-app.staff-ui .staff-ui-tile-head h3{color:var(--fin-ink);overflow-wrap:anywhere;flex:60%;min-width:0;margin:0;font-size:15px;font-weight:700;line-height:1.35}.finance-app.staff-ui .staff-ui-tile-meta{color:var(--fin-muted);margin:0;font-size:12px;line-height:1.5}.finance-app.staff-ui .staff-ui-row-actions{flex-wrap:wrap;gap:8px;display:flex}.finance-app.staff-ui .staff-ui-row-actions>button{flex:auto}.staff-ui-subjects{gap:8px;margin:0;padding:0;list-style:none;display:grid}.finance-app.staff-ui .staff-ui-subjects>li{border:1px solid var(--fin-divider);background:var(--fin-inset);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0;padding:10px 12px;display:flex}.staff-ui-subject-copy{flex:180px;justify-items:start;gap:3px;min-width:0;display:grid}.finance-app.staff-ui .staff-ui-subject-copy .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-primary);font-size:10px;font-weight:800}.finance-app.staff-ui .staff-ui-subject-copy h4{color:var(--fin-ink);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600;line-height:1.4}.finance-app.staff-ui .staff-ui-subjects .staff-ui-row-actions{flex:0 auto}.staff-ui-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-ui-filter-row>.finance-pill-tabs{flex:auto;min-width:0}.finance-app .staff-ui-filter-row>.staff-ui-search{flex:260px;max-width:420px}.finance-app.staff-ui .staff-ui-result-count{color:var(--fin-muted);margin:0;font-size:12px;font-weight:600}.finance-app.staff-ui .staff-ui-callout{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:16px;margin:0;padding:10px 14px;font-size:13px}@media (width<=640px){.finance-app .staff-ui-filter-row>.staff-ui-search{flex-basis:100%;max-width:none}.finance-app.staff-ui .staff-ui-subjects .staff-ui-row-actions{width:100%}}.staff-ui-choice-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;display:grid}.staff-portal .finance-app.staff-ui .staff-ui-choice{border:1px solid var(--fin-soft-border);text-align:left;min-width:0;min-height:44px;color:var(--fin-row);box-shadow:none;background:linear-gradient(#fff,#f8fbff);border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.staff-portal .finance-app.staff-ui .staff-ui-choice:hover{border-color:#14b8a657;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a14}.finance-app.staff-ui .staff-ui-choice strong{color:var(--fin-ink);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.finance-app.staff-ui .staff-ui-choice-meta{color:var(--fin-muted);overflow-wrap:anywhere;font-size:12px}.finance-app.staff-ui .staff-ui-choice small{color:var(--fin-primary);align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.finance-app.staff-ui .staff-ui-choice small svg{width:14px;height:14px}@media (hover:none){.staff-portal .finance-app.staff-ui .staff-ui-choice:hover{transform:none}}.staff-ui-filter-grid{flex:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;min-width:0;display:grid}.finance-app.staff-ui :is(.staff-ui-filter-grid,.staff-ui-inline-field)>label,.finance-app.staff-ui label.staff-ui-inline-field{min-width:0;color:var(--fin-muted);gap:4px;margin:0;font-size:11px;font-weight:700;display:grid}.finance-app.staff-ui .staff-ui-filter-grid input:not([type=checkbox]):not([type=radio]){border:1px solid var(--fin-line);border-radius:var(--r-control);min-height:44px;color:var(--fin-ink);background:#fff;padding:10px 12px;font-size:14px;font-weight:400}.finance-app.staff-ui label.staff-ui-inline-field{grid-template-columns:auto minmax(180px,280px);align-items:center;gap:8px}.finance-app.staff-ui .staff-ui-inline-empty{border:1px dashed var(--fin-line);color:var(--fin-caption);text-align:center;border-radius:14px;margin:0;padding:12px;font-size:13px}.staff-ui-more{justify-content:center;display:flex}.finance-app.staff-ui .staff-ui-more button{border-radius:var(--r-pill);min-height:44px;color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc;padding:10px 18px;font-weight:700}.finance-app.staff-ui .finance-card-actions>button{min-height:44px}@media (width<=640px){.finance-app.staff-ui label.staff-ui-inline-field{grid-template-columns:1fr;width:100%}.finance-app.staff-ui .staff-ui-filter-grid input:not([type=checkbox]):not([type=radio]){font-size:16px}.finance-app.staff-ui .finance-card-actions{width:100%}.finance-app.staff-ui .finance-card-actions:not(:has(>:not(.staff-ui-refresh))){width:auto;margin-left:auto}.finance-app.staff-ui .finance-card-actions>button:not(.staff-ui-refresh){flex:auto}}.finance-app.staff-ui .evaluation-class-panel{margin:0}.finance-app .staff-ui-chip{border-radius:var(--r-pill);background:var(--fin-inset);border:1px solid var(--fin-line);min-height:32px;color:var(--fin-body);white-space:nowrap;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.finance-app .course-plan-layout{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:start;gap:14px;display:grid}.staff-portal .finance-app .course-plan-layout>aside.finance-card{color:var(--fin-row);border:1px solid var(--fin-soft-border);border-radius:var(--r-card);background:#fffffff0;padding:14px;font-size:13px;font-weight:400;display:grid}.finance-app .course-plan-layout .finance-card-title :is(h2,h3){margin:0;font-size:16px}.finance-app .course-plan-syllabus .course-topics{overscroll-behavior:contain;gap:0;max-height:min(70vh,720px);display:grid;overflow-y:auto}.staff-portal .finance-app .course-plan-syllabus .course-topics article{border:0;border-bottom:1px solid var(--fin-divider);box-shadow:none;background:0 0;border-radius:0;gap:4px;margin:0;padding:10px 2px;display:grid}.staff-portal .finance-app .course-plan-syllabus .course-topics article.subtopic{border-left:2px solid var(--fin-tint-2);padding-left:14px}.finance-app .course-plan-syllabus .course-topics .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-primary);font-size:10px;font-weight:800}.finance-app .course-plan-syllabus .course-topics p{color:var(--fin-ink);margin:0;font-size:13px;line-height:1.5}.finance-app .course-plan-syllabus .course-topics button{border-radius:var(--r-pill);min-height:44px;color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc;justify-self:start;padding:8px 14px;font-size:12px;font-weight:700}@media (width<=1023px){.finance-app .course-plan-layout{grid-template-columns:1fr}.finance-app .course-plan-syllabus .course-topics{max-height:50vh}}.finance-app .course-approval{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);box-shadow:var(--sh-card);background:#fffffff0;margin:0;padding:14px}.finance-app .course-approval-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.finance-app .course-approval-actions button:not(.primary){border-radius:var(--r-pill);min-height:44px;color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc;padding:10px 16px;font-weight:700}.staff-portal .staff-ui-refresh,.staff-ui-refresh{color:#115e59;cursor:pointer;background:#fff;border:1px solid #cbd5e1cc;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-grid}.staff-ui-refresh:hover:not(:disabled){background:#f0fdfa;border-color:#99f6e4}.staff-ui-refresh:disabled{opacity:.55;cursor:not-allowed}.staff-ui-refresh svg{width:20px;height:20px}.staff-ui-refresh.is-busy svg{animation:1s linear infinite staff-ui-spin}.finance-page-hero .staff-ui-refresh{color:#fff;background:#ffffff1f;border-color:#ffffff42}@keyframes staff-ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.staff-ui-refresh.is-busy svg{animation:none}}@media (width<=640px){.finance-app.staff-ui .staff-ui-toolbar-actions{width:auto;margin-left:auto}.finance-app.staff-ui .staff-ui-toolbar-actions>.staff-ui-refresh{flex:0 0 44px}}.staff-ui-table-wrap{border:1px solid var(--fin-line,#e2e8f0);-webkit-overflow-scrolling:touch;background:#fff;border-radius:16px;margin:0 -2px;overflow-x:auto}.staff-ui-table{border-collapse:collapse;width:100%;font-size:13px}.staff-ui-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:#64748b;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:11px;font-weight:800;position:sticky;top:0}.staff-ui-table td{color:#334155;vertical-align:top;border-bottom:1px solid #f1f5f9;padding:10px 12px}.staff-ui-table tr:last-child td{border-bottom:0}.staff-ui-table :is(th,td).num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.staff-ui-table td>small{color:#64748b;margin-top:2px;font-size:12px;display:block}.staff-ui-cell-title{color:#0f172a;font-weight:600;display:block}.staff-ui-table td .finance-status{margin-top:4px}.finance-app.staff-ui .staff-ui-footnote{color:var(--fin-caption);margin:0;font-size:12px}.obe-overview-grid{gap:14px;display:grid}@media (width>=1200px){.obe-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.staff-ui-chips{border:1px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;padding:12px;display:flex}.staff-ui-chips>legend{color:#475569;padding:0 6px;font-size:12px;font-weight:700}.staff-portal .staff-ui-chips>label:has(>input[type=checkbox],>input[type=radio]){color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1cc;border-radius:999px;align-items:center;gap:8px;width:auto;min-height:44px;margin:0;padding:6px 14px 6px 10px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex;position:relative}.staff-portal .decision-panel .staff-ui-chips>label:has(>input[type=checkbox],>input[type=radio]){color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1cc;border-radius:999px;align-items:center;gap:8px;width:auto;min-height:44px;margin:0;padding:6px 14px 6px 10px;font-size:13px;font-weight:600;line-height:1.3;display:inline-flex;position:relative}.staff-ui-chips>label input{accent-color:#0f766e;flex:none;width:18px;height:18px;margin:0}.staff-portal .staff-ui-chips>label:has(input:checked){color:#115e59;background:#f0fdfa;border-color:#99f6e4}.staff-portal .staff-ui-chips>label:has(input:disabled){opacity:.65;cursor:not-allowed}.staff-ui-chips>label:has(input:focus-visible){outline-offset:2px;outline:2px solid #0f766e}.finance-app .course-outcomes{gap:14px;display:grid}.finance-app .course-outcomes-card .course-outcomes-head{align-items:center;margin:0}.finance-app .course-outcomes-card .course-outcomes-head h2,.finance-app .course-outcome-mapping .course-outcomes-head h2{font-size:16px;font-weight:700}.finance-app .course-outcomes-tools{align-items:center}.finance-app .course-outcome-mapping{margin:0}.staff-portal .staff-ui-refresh svg{width:20px;height:20px}.finance-app .course-approval .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-primary);font-size:10px;font-weight:800}.finance-app .course-approval-head h2{font-size:16px;font-weight:700}.course-approval-side{flex:none;align-items:center;gap:8px;display:inline-flex}.finance-app .course-approval-actions:empty{display:none}.finance-app .course-outcomes-head>div>h2,.finance-app .course-outcome-mapping .course-outcomes-head{margin:0}.staff-ui button:not(.primary):not([class*=finance-]):not(.staff-ui-refresh):not(.ui-select-trigger){box-shadow:none;border-color:#dce7e3;border-radius:12px;font-family:inherit;font-size:13px;font-weight:500}.staff-ui .decision-panel button.primary{color:#fff}.finance-app.staff-ui .finance-card-head{align-items:flex-start}.finance-app.staff-ui .finance-card-title{flex:1 1 0;min-width:min(100%,200px)}.finance-app.staff-ui .finance-card-head>.finance-count-pill{margin-top:2px}.finance-app .finance-card .finance-empty{box-shadow:none;border-style:dashed;padding:20px 12px}.finance-app .finance-card .finance-empty h2{font-size:14px}.finance-app .finance-card .finance-empty-icon{border-radius:14px;width:44px;height:44px}.staff-ui-balance-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.finance-app.staff-ui .staff-ui-balance{border:1px solid var(--fin-soft-border);background:linear-gradient(#fff,#f8fbff);border-radius:18px;gap:6px;padding:14px;display:grid}.finance-app.staff-ui .staff-ui-balance h3{color:var(--fin-row);margin:0;font-size:13px;font-weight:700}.finance-app.staff-ui .staff-ui-balance-value{color:var(--fin-ink);font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:700}.finance-app.staff-ui .staff-ui-balance-meta{color:var(--fin-muted);margin:0;font-size:12px}.staff-ui-meter{background:#e2e8f0;border-radius:999px;height:6px;display:block;overflow:hidden}.staff-ui-meter>span{border-radius:inherit;background:linear-gradient(135deg,#0f766e,#14b8a6);height:100%;display:block}.staff-ui-toolbar>.staff-ui-inline-field{margin-left:auto}.institution-settings>.finance-page-hero{order:-1}.finance-app .settings-version{color:#fff;background:#ffffff29;border:1px solid #ffffff42;border-radius:999px;align-items:center;min-height:28px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.finance-app .settings-hint{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;margin:0;padding:10px 14px;font-size:13px}.finance-app.staff-ui .settings-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:14px;margin:0;display:grid}.finance-app.staff-ui .settings-groups{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);box-shadow:var(--sh-card);background:#fffffff0;gap:4px;margin:0;padding:8px;display:grid;position:sticky;top:12px}.staff-portal .finance-app.staff-ui .settings-groups button{text-align:left;width:100%;min-height:44px;color:var(--fin-body);box-shadow:none;background:0 0;border:0;border-radius:14px;justify-content:flex-start;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.staff-portal .finance-app.staff-ui .settings-groups button[aria-pressed=true]{background:var(--g-active);color:#fff;box-shadow:var(--sh-pill-active)}.finance-app.staff-ui .settings-fields{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);min-width:0;box-shadow:var(--sh-card);background:#fffffff0;gap:0;margin:0;padding:6px 16px 10px;display:grid}.finance-app.staff-ui .settings-fields>.settings-search{max-width:none;color:var(--fin-muted);border-bottom:1px solid var(--fin-divider);gap:4px;padding:10px 0 12px;font-size:11px;font-weight:700;display:grid}.finance-app.staff-ui .setting-field{border:0;border-bottom:1px solid var(--fin-divider);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-width:0;margin:0;padding:14px 0;display:grid}.finance-app.staff-ui .setting-field:last-child{border-bottom:0}.finance-app.staff-ui .setting-field>legend{float:left;width:100%;color:var(--fin-ink);grid-column:1;margin:0;padding:0;font-size:14px;font-weight:600}.finance-app.staff-ui .setting-field>p{color:var(--fin-muted);grid-column:1;margin:0;font-size:12px;line-height:1.5}.finance-app.staff-ui .setting-field:not(.setting-boolean)>:not(legend):not(p){grid-column:1/-1;margin-top:6px}.finance-app.staff-ui .setting-field.setting-boolean>.setting-switch{grid-area:1/2/span 2}.finance-app.staff-ui .setting-field input:not([type=checkbox]):not([type=radio]){border:1px solid var(--fin-line);border-radius:var(--r-control);max-width:420px;min-height:44px;padding:10px 12px;font-size:14px}.finance-app.staff-ui .setting-field .ui-select-trigger{max-width:420px}.finance-app.staff-ui .setting-field .setting-choices{border:0;margin-top:8px;padding:0}.finance-app.staff-ui .setting-switch{cursor:pointer;min-height:44px;color:var(--fin-muted);align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;display:inline-flex}.finance-app.staff-ui .setting-switch input{appearance:none;cursor:pointer;background:#cbd5e1;border-radius:999px;flex:none;width:46px;height:28px;margin:0;transition:background .18s;position:relative}.finance-app.staff-ui .setting-switch input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0f172a33}.finance-app.staff-ui .setting-switch input:checked{background:#0f766e}.finance-app.staff-ui .setting-switch input:checked:after{transform:translate(18px)}.finance-app.staff-ui .setting-switch input:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.finance-app.staff-ui .setting-switch input:disabled{opacity:.55;cursor:not-allowed}.finance-app.staff-ui .setting-switch-state{min-width:22px}.finance-app.staff-ui .settings-publish{bottom:calc(12px + env(safe-area-inset-bottom));z-index:12;border:1px solid var(--fin-soft-border);-webkit-backdrop-filter:blur(16px);background:#fffffff5;border-radius:22px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0;padding:12px;display:flex;position:sticky;box-shadow:0 18px 40px #0f172a29}.finance-app.staff-ui .settings-publish label{color:var(--fin-muted);flex:260px;gap:4px;margin:0;font-size:11px;font-weight:700;display:grid}.finance-app.staff-ui .settings-publish input{border:1px solid var(--fin-line);border-radius:var(--r-control);min-height:44px;padding:10px 12px;font-size:14px}.finance-app.staff-ui .settings-publish button:not(.primary){min-height:44px;color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc;border-radius:999px;padding:10px 16px;font-weight:700}.finance-app.staff-ui .settings-history{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);background:#fffffff0;margin:0;padding:12px 16px}.finance-app.staff-ui .settings-history summary{min-height:44px;color:var(--fin-primary-dark);cursor:pointer;align-items:center;font-weight:700;display:flex}@media (width<=900px){.finance-app.staff-ui .settings-layout{grid-template-columns:1fr}.finance-app.staff-ui .settings-groups{scrollbar-width:none;border-radius:999px;padding:6px;display:flex;position:static;overflow-x:auto}.finance-app.staff-ui .settings-groups::-webkit-scrollbar{display:none}.staff-portal .finance-app.staff-ui .settings-groups button{white-space:nowrap;border-radius:999px;flex:none;width:auto}}@media (width<=640px){.finance-app.staff-ui .settings-publish{bottom:calc(76px + env(safe-area-inset-bottom))}.finance-app.staff-ui .settings-publish>button{flex:auto}.finance-app.staff-ui .setting-field input:not([type=checkbox]):not([type=radio]){max-width:none}.finance-app.staff-ui .settings-fields{padding:4px 12px 8px}}.finance-app.staff-ui .staff-ui-tile-head h3{align-items:center;gap:8px;display:flex}.staff-ui-tile-icon{color:#0f766e;background:#f0fdfa;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:inline-grid}.staff-ui-tile-icon svg{width:18px;height:18px}.finance-app.staff-ui .exam-review-list{gap:10px;margin:0}.finance-app.staff-ui .exam-review-list .review-row{border:1px solid var(--fin-soft-border);box-shadow:none;background:linear-gradient(#fff,#f8fbff);border-radius:16px;margin:0;padding:14px}.staff-portal .finance-app.staff-ui .staff-ui-records>article>.workspace-actions{flex:0 auto;align-items:center;min-width:0}@media (width<=640px){.staff-portal .finance-app.staff-ui .staff-ui-records>article>.workspace-actions{flex:100%}.staff-portal .finance-app.staff-ui .staff-ui-records>article>.workspace-actions>.finance-status{flex:none}}.finance-app.staff-ui .setting-field .setting-choices.staff-ui-chips{flex-wrap:wrap;grid-template-columns:none;gap:8px;display:flex}.staff-portal .finance-app.staff-ui fieldset.staff-ui-chips,.staff-portal .finance-app.staff-ui .staff-ui-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.staff-portal .finance-app.staff-ui .staff-ui-chips>button{flex:none}@media (width<=640px){.finance-app.staff-ui .leave-route-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-app.staff-ui .leave-route-admin .staff-ui-choice-meta{display:none}.staff-portal .finance-app.staff-ui .leave-route-admin .staff-ui-choice{justify-content:center;padding:12px}.finance-page-hero-actions:not(:has(>:not(.staff-ui-refresh))){z-index:2;position:absolute;top:14px;right:14px}.finance-page-hero:has(>.finance-page-hero-actions:not(:has(>:not(.staff-ui-refresh)))) .finance-page-hero-copy{padding-right:52px}}.finance-app .course-progress .course-progress-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;margin:0;display:grid}.finance-app .course-progress .course-progress-summary>div{background:var(--fin-inset);border:1px solid var(--fin-divider);border-radius:16px;gap:2px;padding:10px 12px;display:grid}.finance-app .course-progress .course-progress-summary dt{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-muted);font-size:10px;font-weight:800}.finance-app .course-progress .course-progress-summary dd{color:var(--fin-ink);font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:700}.finance-app.staff-ui .finance-card-actions>button:not(.primary):not(.staff-ui-refresh){color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc;border-radius:999px;padding:10px 16px;font-weight:700}.att-entry{--att-present:#16a34a;--att-present-bg:#f0fdf4;--att-absent:#dc2626;--att-absent-bg:#fef2f2;--att-leave:#7c3aed;--att-leave-bg:#f5f3ff;gap:12px}.att-entry .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.att-muted{color:var(--fin-muted,#64748b)}.att-center{text-align:center;padding:12px 0}.att-grow{flex:auto}.att-entry .att-head,:is(.workspace-content,.workspace-slot,.home-layers)>section.att-entry>header.att-head{color:#fff;border:0;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin:0;padding:14px 16px;display:flex;box-shadow:0 20px 44px #0f172a29;background:linear-gradient(135deg,#0f172a 0%,#0f766e 58%,#14b8a6 100%)!important;border:0!important;margin:0!important}.att-head-copy{flex:260px;gap:2px;min-width:0;display:grid}.att-kicker{letter-spacing:.08em;text-transform:uppercase;color:#99f6e4;font-size:11px;font-weight:800}.att-entry .att-head h1{color:#fff;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:18px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.att-head-meta{flex-wrap:wrap;gap:4px 6px;display:flex;margin:2px 0 0!important}.att-head-meta span{color:#e2e8f0;white-space:nowrap;background:#ffffff24;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.att-date{flex:0 auto;align-items:center;gap:6px;display:flex}.att-entry .att-icon{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:14px;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-grid}.att-entry .att-icon:disabled{opacity:.45}.att-date-pick{min-height:44px;color:var(--fin-primary-dark);white-space:nowrap;cursor:pointer;background:#fff;border:0;border-radius:14px;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:13.5px;font-weight:700;display:inline-flex;position:relative}.att-hours{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;margin:0;padding:2px 1px 4px;display:flex;overflow-x:auto}.att-hours::-webkit-scrollbar{display:none}.att-entry .att-hour{scroll-snap-align:start;border:1.5px solid var(--fin-line);min-width:76px;min-height:52px;color:var(--fin-ink);text-align:left;background:#fff;border-radius:16px;flex:none;gap:2px;padding:7px 12px;display:grid;box-shadow:0 4px 12px #0f172a0a}.att-hour-top{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.att-hour small{color:var(--fin-muted);white-space:nowrap;font-size:11px;font-weight:600}.att-hour-dot{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.att-hour--marked .att-hour-top svg{color:var(--att-present)}.att-hour--locked .att-hour-top svg{color:var(--bad,#dc2626)}.att-hour--pending .att-hour-top svg{color:var(--warn,#d97706)}.att-hour--locked small{color:var(--bad-strong,#b91c1c)}.att-hour--pending small{color:var(--warn-strong,#b45309)}.att-entry .att-hour[aria-pressed=true]{background:var(--g-active);color:#fff;box-shadow:var(--sh-pill-active);border-color:#0000}.att-entry .att-hour[aria-pressed=true] :is(small,svg){color:#ecfeff!important}.att-entry .att-hour[aria-pressed=true] .att-hour-dot{background:#ccfbf1}.att-entry .att-hour[aria-pressed=true].att-hour--locked,.att-entry .att-hour[aria-pressed=true].att-hour--pending{background:linear-gradient(135deg,#7f1d1d,#b91c1c)}.att-hours--loading .att-hour{border:0;width:76px;height:52px}.att-entry .att-callout{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:16px;margin:0;padding:10px 14px;font-size:13px}.att-entry .att-callout--bad{color:#991b1b;background:#fef2f2;border-color:#fecaca}.att-entry .att-callout--ok{background:var(--g-clear);color:#065f46;border-color:#86efac;font-weight:600}.att-entry .att-empty{border:1px dashed var(--fin-line);color:var(--fin-muted);text-align:center;background:#fff;border-radius:18px;margin:0;padding:16px}.att-warn{color:#b45309;margin:0;font-size:12.5px}.att-ok{color:var(--ok-strong,#15803d);font-size:12.5px;font-weight:600}.att-entry .att-card{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);min-width:0;box-shadow:var(--sh-card);background:#fff;gap:12px;margin:0;padding:14px;display:grid}.att-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.att-entry .att-card-head h2{margin:0;font-size:15px;font-weight:700}.att-card-head p{margin:2px 0 0;font-size:12.5px}.att-count{background:var(--fin-inset);min-width:28px;height:28px;color:var(--fin-muted);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-grid}.att-count--on{background:var(--fin-tint-2);color:var(--fin-primary-dark)}.att-entry .att-lock{background:linear-gradient(#fff,#fff7f7);border-color:#fecaca;grid-template-columns:auto 1fr;align-items:start}.att-lock-icon{color:#b91c1c;background:#fee2e2;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.att-lock-body{gap:8px;min-width:0;display:grid}.att-entry .att-lock-body h2{color:#991b1b;margin:0;font-size:15px}.att-lock-body ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.att-lock-body li{color:var(--fin-body);gap:2px;font-size:13px;display:grid}.att-lock-body li strong{color:var(--fin-ink);font-size:13px}.att-lock-body .primary{justify-self:start}.att-status{border-radius:999px;justify-self:start;padding:2px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.att-status--ok{background:var(--ok-bg);color:var(--ok-strong)}.att-status--wait{background:var(--warn-bg);color:var(--warn-strong)}.att-status--bad{background:var(--bad-bg);color:var(--bad-strong)}.att-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.att-seg{background:var(--fin-inset);border:1px solid var(--fin-divider);scrollbar-width:none;border-radius:999px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.att-seg::-webkit-scrollbar{display:none}.att-entry .att-seg button{min-height:38px;color:var(--fin-body);white-space:nowrap;box-shadow:none;background:0 0;border:0;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:700}.att-entry .att-seg button[aria-pressed=true]{color:var(--fin-primary-dark);background:#fff;box-shadow:0 2px 8px #0f172a1a}.att-entry .att-seg-sm button{min-height:34px;padding:4px 12px;font-size:12.5px}.att-bulk{gap:6px;display:flex}.att-entry .att-chip-btn{border:1px solid var(--fin-line);min-height:38px;color:var(--fin-primary-dark);background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700}.att-summary{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;display:flex}.att-sum b{font-size:15px}.att-sum--present b{color:var(--att-present)}.att-sum--absent b{color:var(--att-absent)}.att-sum--protected b{color:var(--att-leave)}.att-sum.att-muted{font-size:12px}.att-summary .att-bulk{margin-left:auto}.att-subbar{background:var(--fin-inset);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;display:flex}.att-switch{align-items:center;gap:8px;min-height:36px;font-size:13px;font-weight:600;display:inline-flex}.att-switch input{width:20px;height:20px;accent-color:var(--fin-primary)}.att-field{min-width:0;color:var(--fin-body);gap:5px;font-size:12.5px;font-weight:700;display:grid}.att-field-inline{grid-auto-flow:column;align-items:center}.att-entry .att-field :is(input,textarea){box-sizing:border-box;border:1px solid var(--fin-line);width:100%;min-height:44px;font:inherit;color:var(--fin-ink);background:#fff;border-radius:12px;padding:10px 12px;font-size:16px;font-weight:400}.att-entry .att-field textarea{resize:vertical}.att-entry .att-search{box-sizing:border-box;border:1px solid var(--fin-line);background:#fff;border-radius:12px;width:100%;min-height:42px;padding:8px 12px;font-size:16px}.att-list-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.att-list-tools .att-search{flex:200px;width:auto}.att-rows{gap:6px;margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.att-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.att-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}.att-batch-head{letter-spacing:.06em;text-transform:uppercase;color:var(--fin-primary);grid-column:1/-1;margin:6px 0 2px;font-size:11px;font-weight:800}.att-rows>li{min-width:0;display:grid}.att-entry .att-row{border:1.5px solid var(--fin-divider);width:100%;min-height:56px;color:var(--fin-ink);text-align:left;box-shadow:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#fff;border-radius:14px;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:7px 10px;transition:background .12s,border-color .12s;display:grid}.att-entry .att-row--absent{background:var(--att-absent-bg);border-color:#fecaca}.att-entry .att-row--mixed{background:#fffbeb;border-color:#fde68a}.att-entry .att-row--protected{background:var(--att-leave-bg);opacity:1;border-color:#ddd6fe}.att-entry .att-row:disabled{cursor:default}.att-avatar{background:var(--fin-tint-2);width:40px;height:40px;color:var(--fin-primary-dark);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid;position:relative;overflow:hidden}.att-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.att-row--absent .att-avatar{color:#b91c1c;background:#fee2e2}.att-row-copy{gap:1px;min-width:0;display:grid}.att-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.att-row-copy small{color:var(--fin-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.att-pill{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.att-pill--present{background:var(--ok-bg);color:var(--ok-strong)}.att-pill--absent{background:var(--att-absent);color:#fff}.att-pill--mixed{background:var(--warn-bg);color:var(--warn-strong)}.att-pill--protected{color:#5b21b6;text-overflow:ellipsis;background:#ede9fe;max-width:120px;overflow:hidden}.att-grid-mode{gap:10px;display:grid}.att-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.att-entry .att-tile{background:var(--att-present-bg);color:#166534;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-height:52px;box-shadow:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1.5px solid #bbf7d0;border-radius:14px;place-items:center;padding:4px;font-size:16px;font-weight:800;display:grid}.att-entry .att-tile--absent{border-color:var(--att-absent);background:var(--att-absent);color:#fff}.att-entry .att-tile--mixed{color:#92400e;background:#fffbeb;border-color:#fcd34d}.att-entry .att-tile--protected{background:var(--att-leave-bg);color:#6d28d9;opacity:1;border-color:#ddd6fe}.att-legend{color:var(--fin-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:12px;display:flex}.att-key{border-radius:4px;width:12px;height:12px;display:inline-block}.att-key--present{background:var(--att-present-bg);border:1.5px solid #bbf7d0}.att-key--absent{background:var(--att-absent)}.att-key--protected{background:var(--att-leave-bg);border:1.5px solid #ddd6fe}.att-type-mode{gap:10px;display:grid}.att-absent-input{letter-spacing:.02em;font-size:18px!important}.att-problems{color:#991b1b;background:#fef2f2;border-radius:12px;gap:4px;margin:0;padding:10px 12px 10px 28px;font-size:13px;display:grid}.att-preview{background:var(--fin-inset);border-radius:12px;gap:8px;padding:10px 12px;font-size:13px;display:grid}.att-preview p{margin:0}.att-type-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.att-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.att-chips li{color:#7f1d1d;background:#fee2e2;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 10px;font-size:12.5px;display:inline-flex}.att-chips li b{font-variant-numeric:tabular-nums}.att-chips--topics li{background:var(--fin-tint);color:var(--fin-primary-dark);border:1px solid var(--fin-tint-border)}.att-chips--topics li span{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.att-entry .att-chips--topics button{width:28px;min-height:28px;color:inherit;background:0 0;border:0;padding:0;font-size:18px}.att-entry .att-disclosure{border:1px dashed var(--fin-tint-border);background:var(--fin-tint);min-height:44px;color:var(--fin-primary-dark);border-radius:999px;justify-self:start;padding:8px 14px;font-size:13px;font-weight:700}.att-topic-picker{gap:8px;display:grid}.att-topic-list{overscroll-behavior:contain;gap:8px;max-height:340px;padding-right:2px;display:grid;overflow-y:auto}.att-topic-list fieldset{border:1px solid var(--fin-divider);border-radius:12px;gap:2px;margin:0;padding:8px 10px;display:grid}.att-topic-list legend{letter-spacing:.05em;text-transform:uppercase;color:var(--fin-primary);padding:0 4px;font-size:11px;font-weight:800}.att-check{grid-template-columns:22px 1fr;align-items:start;gap:8px;min-height:40px;padding:8px 2px;font-size:13px;line-height:1.4;display:grid}.att-check input{width:20px;height:20px;accent-color:var(--fin-primary);margin:0}.att-notes{gap:10px;display:grid}@media (width>=900px){.att-notes{grid-template-columns:1fr 1fr}}.att-entry .att-savebar{bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:12;border:1px solid var(--fin-tint-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 10px 10px 16px;display:flex;position:sticky;box-shadow:0 14px 34px #0f172a29}.att-savebar-copy{gap:1px;min-width:0;display:grid}.att-savebar-copy strong{font-size:14px}.att-savebar-copy small{color:var(--fin-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.att-entry .att-savebar .primary{flex:none;min-height:46px;padding:10px 18px}.att-dialog{gap:12px;font-size:13.5px;display:grid}.att-dialog p{margin:0}.att-lock-reason{color:#991b1b;background:#fef2f2;border-radius:12px;padding:10px 12px}.att-route ol{counter-reset:step;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.att-route li{counter-increment:step;background:var(--fin-inset);border-radius:999px;padding:4px 10px;font-size:12.5px}.att-route li:before{content:counter(step) ". ";color:var(--fin-primary);font-weight:800}.att-history{gap:6px;margin:0;padding:0;list-style:none;display:grid}.att-history li{border:1px solid var(--fin-divider);border-radius:12px;gap:3px;padding:8px 10px;display:grid}.att-range-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.att-range-days{overscroll-behavior:contain;gap:8px;max-height:44vh;display:grid;overflow-y:auto}.att-range-days fieldset{border:1px solid var(--fin-divider);border-radius:12px;margin:0;padding:8px 10px}.att-range-days legend{color:var(--fin-ink);padding:0 4px;font-size:12px;font-weight:800}.att-range-slots{flex-wrap:wrap;gap:6px;display:flex}.att-slot{border:1.5px solid var(--fin-line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:6px 12px;display:inline-flex}.att-slot input{width:18px;height:18px;accent-color:var(--fin-primary)}.att-slot span{line-height:1.2;display:grid}.att-slot small{color:var(--fin-muted);font-size:11px}.att-slot--off{opacity:.55;cursor:not-allowed}.att-review-hour{border-bottom:1px solid var(--fin-divider);gap:6px;padding-bottom:10px;display:grid}.att-review-hour:last-of-type{border-bottom:0}.att-entry .att-review-hour h3,.att-review-hour h3{margin:0;font-size:14px}.att-review-hour h3 span{color:var(--fin-muted);margin-left:6px;font-size:12.5px;font-weight:600}.att-bone{background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 37%,#eef2f7 63%) 0 0/400% 100%;border-radius:10px;animation:1.3s infinite att-shimmer;display:block}@keyframes att-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.att-bone{animation:none}}.att-skeleton{gap:8px}.att-skel-row{grid-template-columns:40px 1fr 64px;align-items:center;gap:10px;min-height:56px;display:grid}.att-bone-avatar{border-radius:50%;width:40px;height:40px}.att-bone-line{width:70%;height:14px}.att-bone-pill{border-radius:999px;height:26px}@media (width<=640px){.att-entry{gap:10px}.att-entry .att-head{border-radius:20px;padding:12px 12px 12px 14px}.att-entry .att-head h1{font-size:16.5px}.att-date{width:100%}.att-date-pick{flex:auto;justify-content:space-between}.att-entry .att-card{border-radius:18px;padding:12px}.att-toolbar{gap:8px}.att-toolbar .att-seg{flex:100%;justify-content:space-between}.att-toolbar .att-seg button{flex:auto;padding:6px 8px}.att-summary .att-sum.att-muted{display:none}.att-entry .att-bulk .att-chip-btn{min-height:36px;padding:4px 10px;font-size:12px}.att-entry .att-savebar{bottom:calc(74px + env(safe-area-inset-bottom,0px));border-radius:18px;padding:8px 8px 8px 14px}.att-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px}.att-range-dates{grid-template-columns:1fr 1fr}}.att-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.att-actions .primary{min-height:46px}.att-hub .att-hub-tabs{background:#ffffff1f;border-color:#ffffff2e}.att-entry.att-hub .att-hub-tabs button{color:#e2e8f0}.att-entry.att-hub .att-hub-tabs button[aria-pressed=true]{color:var(--fin-primary-dark);background:#fff}.att-class-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.att-entry .att-class{text-align:left;border:1px solid var(--fin-soft-border);border-left:4px solid var(--fin-primary-light);width:100%;min-height:88px;color:var(--fin-ink);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:16px;gap:4px;padding:12px 14px;display:grid;box-shadow:0 6px 16px #0f172a0a}.att-entry .att-class:hover{border-color:var(--fin-tint-border);background:var(--fin-tint)}.att-class-code{letter-spacing:.04em;color:var(--fin-primary);font-size:11px;font-weight:800}.att-class strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.att-class small{color:var(--fin-muted);font-size:12px}.att-report-card .attendance-reports{gap:12px;min-width:0;display:grid}.att-report-card .attendance-report-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.att-report-card .attendance-report-filters label{color:var(--fin-body);gap:4px;font-size:12.5px;font-weight:700;display:grid}.att-report-card .attendance-report-filters input{border:1px solid var(--fin-line);border-radius:12px;min-height:44px;padding:8px 10px;font-size:16px}.att-report-card .attendance-report-filters button{border:1px solid var(--fin-line);min-height:44px;color:var(--fin-primary-dark);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700}.att-report-card .attendance-report-table{overflow-x:auto}.att-report-card .attendance-report-table table{border-collapse:collapse;width:100%;font-size:13px}.att-report-card .attendance-report-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--fin-muted);border-bottom:1px solid var(--fin-line);padding:10px 8px;font-size:11px;font-weight:800}.att-report-card .attendance-report-table td{border-bottom:1px solid var(--fin-divider);vertical-align:top;padding:10px 8px}.att-report-card .attendance-report-table td button{all:unset;cursor:pointer;color:var(--fin-primary-dark);font-weight:600}.att-report-card .attendance-report-table td small{color:var(--fin-muted);display:block}@media (width<=640px){.att-hub .att-hub-tabs{width:100%}.att-hub .att-hub-tabs button{flex:1 1 0}.att-report-card .attendance-report-table{overflow:visible}.att-report-card .attendance-report-table thead{display:none}.att-report-card .attendance-report-table :is(table,tbody,tr,td){display:block}.att-report-card .attendance-report-table tr{border-bottom:1px solid var(--fin-divider);grid-template-columns:1fr 1fr;gap:4px 12px;padding:10px 0;display:grid}.att-report-card .attendance-report-table td{border:0;padding:0;font-size:12.5px}.att-report-card .attendance-report-table td:first-child{grid-column:1/-1;font-size:14px}.att-report-card .attendance-report-table td[data-label]:before{content:attr(data-label) " ";color:var(--fin-muted);font-size:11.5px}}.att-history-view h3{margin:4px 0;font-size:14px}.att-timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.att-timeline>li{border-left:3px solid var(--fin-primary-light,#14b8a6);background:var(--fin-inset,#f8fafc);border-radius:0 12px 12px 0;padding:10px 12px}.att-changes{gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.workspace-content .att-entry .att-row[aria-pressed=true],.att-entry .att-row[aria-pressed=true]{box-shadow:inset 4px 0 0 var(--att-absent);color:var(--fin-ink,#0f172a);background:#fff1f2;border-color:#fda4af}.att-entry .att-row[aria-pressed=true] .att-row-copy strong{color:#881337}.att-entry .att-row[aria-pressed=true] .att-row-copy small{color:#9f1239;opacity:1}.att-entry .att-row--absent .att-avatar{color:#be123c;background:#ffe4e6}.workspace-content .att-entry .att-row[aria-pressed=false]{background:#fff}.att-topic-chosen{gap:8px;margin:0;padding:0;list-style:none;display:grid}.att-topic-chosen li{border:1px solid var(--fin-tint-border);background:var(--fin-tint);border-radius:14px;gap:8px;min-width:0;padding:10px 12px;display:grid}.att-topic-chosen-copy{gap:2px;min-width:0;display:grid}.att-topic-chosen-copy small{letter-spacing:.05em;text-transform:uppercase;color:var(--fin-primary);font-size:11px;font-weight:800}.att-topic-chosen-copy span{color:var(--fin-primary-dark);overflow-wrap:anywhere;font-size:13.5px;font-weight:600;line-height:1.4}.att-topic-chosen-actions{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.att-topic-chosen-actions .att-seg{flex:0 auto}.att-entry .att-topic-remove{border:1px solid var(--fin-tint-border);background:var(--fin-surface,#fff);width:36px;min-height:36px;color:var(--fin-primary-dark);border-radius:50%;flex:none;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.att-topic-hint{margin:0;font-size:12.5px}.att-topic-done{color:var(--ok-strong);font-size:12px;font-style:normal}.att-review-topics{gap:6px;margin:0;padding:0;list-style:none;display:grid}.att-review-topics li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;font-size:13px;display:flex}@media (width>=700px){.att-topic-chosen li{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.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}section.staff-timetable.sts-wrap{--sts-primary:var(--staff-primary-light,#14b8a6);--sts-primary-ink:var(--staff-primary,#0f766e);--sts-card-h:152px;overscroll-behavior-x:contain;color:#334155;min-width:0;max-width:100%;font-family:var(--font-family);background:#fff;border:1px solid #e8ebf0;border-radius:18px;margin:0;position:relative;overflow:hidden;box-shadow:0 4px 12px #0f172a08}section.staff-timetable.sts-wrap button{min-height:0;box-shadow:none;font-family:inherit}section.staff-timetable.sts-wrap.sts-full{background:#f0f2f7}section.sts-wrap .sts-hdr{justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 16px 6px;display:flex}section.sts-wrap .sts-hdr-left{flex-direction:column;gap:2px;min-width:0;display:flex}section.sts-wrap .sts-month{color:#1e293b;white-space:nowrap;margin:0;font-size:15px;font-weight:700;line-height:1.3}section.sts-wrap .sts-dayname{color:#64748b;align-items:center;gap:6px;min-height:17px;margin:0;font-size:12px;line-height:1.4;display:flex}section.sts-wrap .sts-today-chip{color:var(--sts-primary);background:#ccfbf1;border:0;border-radius:6px;padding:1px 7px;font-size:10px;font-style:normal;font-weight:700;line-height:1.5}section.sts-wrap button.sts-today-jump{cursor:pointer;background:0 0;box-shadow:inset 0 0 0 1px #99f6e4}section.sts-wrap .sts-hdr-right{flex-shrink:0;align-items:center;gap:8px;display:flex;position:relative}section.sts-wrap .sts-link{color:var(--sts-primary);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;padding:0;font-size:12px;font-weight:600;display:inline-flex}section.sts-wrap .sts-link-icon{display:none}section.sts-wrap .sts-icon-btn,section.sts-wrap .sts-cal-wrap{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex;position:relative;overflow:hidden}section.sts-wrap .sts-cal-overlay{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;padding:0;font-size:16px;position:absolute;inset:0}section.sts-wrap .sts-cal-wrap:focus-visible{outline:2px solid var(--sts-primary-ink);outline-offset:2px}section.sts-wrap .sts-batch.ui-select-trigger,section.sts-wrap .sts-batch{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;width:clamp(104px,16vw,200px);height:36px;min-height:36px;padding:0 26px 0 10px;font-size:12px}section.sts-wrap .sts-dates{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;gap:6px;padding:8px 16px 12px;display:flex;overflow-x:auto}section.sts-wrap .sts-dates::-webkit-scrollbar{display:none}section.sts-wrap .sts-pill{cursor:pointer;width:48px;min-height:60px;color:inherit;background:#f8fafc;border:2px solid #0000;border-radius:14px;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:8px 4px;transition:all .2s;display:flex;position:relative}section.sts-wrap .sts-pill:hover{background:#f1f5f9}section.sts-wrap .sts-pill.sts-pill-active{background:var(--sts-primary);border-color:var(--sts-primary)}section.sts-wrap .sts-pill-sun .sts-pill-wd{color:#f87171}section.sts-wrap .sts-pill-active .sts-pill-wd,section.sts-wrap .sts-pill-active .sts-pill-dt{color:#fff}section.sts-wrap .sts-pill-today{border-color:var(--sts-primary)}section.sts-wrap .sts-pill-wd{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}section.sts-wrap .sts-pill-dt{color:#334155;font-size:16px;font-weight:700;line-height:1.2}section.sts-wrap .sts-pill:focus-visible{outline:2px solid var(--sts-primary-ink);outline-offset:2px}section.sts-wrap .sts-pill-dot{background:#22c55e;border-radius:50%;width:5px;height:5px}section.sts-wrap .sts-pill-dot-holiday{background:#a855f7;border-radius:2px;width:7px;height:7px}section.sts-wrap .sts-pill-dot-suspended,section.sts-wrap .sts-pill-dot-transferred{background:#64748b;border-radius:1px;width:9px;height:3px}section.sts-wrap .sts-pill-dot-missing{background:#ef4444}section.sts-wrap .sts-pill-dot-upcoming,section.sts-wrap .sts-pill-dot-partial{background:#f59e0b}section.sts-wrap .sts-day-notice{color:#7e22ce;background:#faf5ff;border-radius:10px;margin:8px 12px;padding:10px 12px;font-size:12px;line-height:1.5}section.sts-wrap .sts-empty{color:#64748b;text-align:center;background:#f8fafc;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin:0 12px 12px;padding:9px 12px;font-size:12px;font-weight:700;line-height:1.25;display:flex}section.sts-wrap .sts-empty svg{flex:none;width:20px;height:20px}section.sts-wrap .sts-empty-error{color:#92400e;background:#fffbeb}section.sts-wrap .sts-retry{color:var(--sts-primary-ink);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px;font-weight:700}section.sts-wrap .sts-now-badge{color:#fff;background:var(--sts-primary);letter-spacing:.5px;border-radius:6px;padding:2px 6px;font-size:9px;font-weight:800;animation:2s ease-in-out infinite sts-pulse}section.sts-wrap .sts-now-pip{color:var(--sts-primary);font-size:8px;font-weight:800;animation:2s ease-in-out infinite sts-pulse}@keyframes sts-pulse{0%,to{opacity:1}50%{opacity:.5}}section.sts-wrap .sts-cards{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y;gap:12px;padding:2px 16px 14px;scroll-padding-inline:16px;display:flex;overflow-x:auto}section.sts-wrap .sts-cards::-webkit-scrollbar{height:4px}section.sts-wrap .sts-cards::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}section.sts-wrap .sts-cards::-webkit-scrollbar-track{background:0 0}section.sts-wrap .sts-card{width:260px;height:var(--sts-card-h);box-sizing:border-box;box-shadow:inset 4px 0 0 var(--sts-accent,#e2e8f0), 0 2px 10px #0000000d;scroll-snap-align:start;cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;flex-shrink:0;gap:3px;min-width:0;padding:11px 14px;transition:box-shadow .2s;display:flex;position:relative;overflow:hidden}section.sts-wrap .sts-card-free{--sts-accent:#cbd5e1;cursor:default}section.sts-wrap .sts-card-now{box-shadow:0 0 0 2px var(--sts-primary), 0 4px 16px #14b8a62e}section.sts-wrap .sts-card-top{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;min-height:22px;display:flex}section.sts-wrap .sts-card-hour{background:var(--sts-primary);color:#fff;white-space:nowrap;border-radius:8px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700;line-height:16px}section.sts-wrap .sts-card-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:700;overflow:hidden}section.sts-wrap .sts-card-att{white-space:nowrap;border-radius:6px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:600}section.sts-wrap .sts-card-att--recorded{color:#16a34a;background:#f0fdf4}section.sts-wrap .sts-card-att--partial{color:#b45309;background:#fef3c7}section.sts-wrap .sts-card-att--missing{color:#e11d48;background:#ffe4e6}section.sts-wrap .sts-card-att--suspended{color:#7e22ce;background:#faf5ff}section.sts-wrap .sts-card-att--neutral{color:#475569;background:#f1f5f9}section.sts-wrap .sts-card-manage{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;width:24px;height:22px;padding:0;display:grid}section.sts-wrap .sts-card-manage.sts-push{margin-left:auto}section.sts-wrap .sts-card-manage:hover{color:var(--sts-primary-ink);background:#0f172a0d}section.sts-wrap .sts-card-meta{align-items:baseline;gap:8px;min-width:0;font-size:11px;line-height:14px;display:flex}section.sts-wrap .sts-card-code{color:#0f172a;letter-spacing:.02em;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}section.sts-wrap .sts-card-badge{text-overflow:ellipsis;white-space:nowrap;color:#6d28d9;background:#f5f3ff;border-radius:6px;min-width:0;padding:0 6px;font-size:10px;font-weight:700;overflow:hidden}section.sts-wrap .sts-card-subject{color:#020617;text-transform:none;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex-shrink:0;margin:0;font-size:13px;font-weight:700;line-height:18px;display:-webkit-box;overflow:hidden}section.sts-wrap .sts-card-subject .staff-period-open{all:unset;cursor:pointer;font:inherit;color:inherit}section.sts-wrap .sts-card-subject .staff-period-open:focus-visible{outline:2px solid var(--sts-primary-ink);outline-offset:2px;border-radius:3px}section.sts-wrap .sts-card-batch{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12px;line-height:17px;overflow:hidden}section.sts-wrap .sts-suspension{flex-shrink:0;padding:4px 8px;font-size:12px}section.sts-wrap .sts-suspension button{min-height:0}section.sts-wrap .sts-card-topics{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:flex}section.sts-wrap .sts-card-topics .staff-topic-preview{color:#0f172a;flex:1;min-width:0;font-size:12px;line-height:20px}section.sts-wrap .sts-card-topics .staff-topic-preview>span{padding-left:16px;position:relative}section.sts-wrap .sts-card-topics .staff-topic-preview>span:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:4px}section.sts-wrap .sts-card-topics .staff-topic-preview button{color:var(--sts-primary-ink);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 4px;font-size:11px;font-weight:700}section.sts-wrap .sts-card-attend{color:var(--sts-primary-ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-shrink:0;padding:0;font-size:11px;font-weight:700;line-height:20px}section.sts-wrap .sts-card-foot{align-items:center;gap:10px;min-width:0;margin-top:auto;font-size:11px;line-height:20px;display:flex}section.sts-wrap .sts-card-foot>button,section.sts-wrap .sts-card-foot>span{white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:11px;display:inline-flex}section.sts-wrap .sts-card-foot .staff-present{color:#15803d}section.sts-wrap .sts-card-foot .staff-absent{color:#be123c}section.sts-wrap .sts-card-foot .staff-student-total{color:#64748b;cursor:default}section.sts-wrap .sts-card-foot strong{font-size:12px}section.sts-wrap .sts-card-foot .sts-card-eye{width:24px;height:20px;color:var(--sts-primary-ink);justify-content:center;margin-left:auto}section.sts-wrap .sts-card button:focus-visible{outline:2px solid var(--sts-primary-ink);outline-offset:2px}section.sts-wrap .sts-card-skeleton{cursor:default;--sts-accent:#e2e8f0;gap:8px}section.sts-wrap .sts-bone{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%) 0 0/200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite sts-shimmer;display:block}section.sts-wrap .sts-bone-chip{border-radius:8px;width:34px;height:22px}section.sts-wrap .sts-bone-type{width:54px;height:10px}section.sts-wrap .sts-bone-code{width:70px;height:11px}section.sts-wrap .sts-bone-title{width:80%;height:14px}section.sts-wrap .sts-bone-line{width:64%;height:11px}section.sts-wrap .sts-bone-short{width:42%}section.sts-wrap .sts-bone-wd{width:22px;height:9px}section.sts-wrap .sts-bone-dt{width:18px;height:16px;margin-top:3px}section.sts-wrap .sts-pill-skeleton{cursor:default}section.sts-wrap .sts-loading-label{color:#64748b;align-items:center;gap:8px;margin-top:auto;font-size:12px;font-weight:700;line-height:1.2;display:flex}section.sts-wrap .sts-spinner{border:3px solid #e8ebf0;border-top-color:var(--sts-primary-ink);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite sts-spin}@keyframes sts-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes sts-spin{to{transform:rotate(360deg)}}section.sts-wrap .sts-timeline{flex-direction:column;padding:8px 16px 24px;display:flex}section.sts-wrap .sts-row{border-radius:12px;align-items:flex-start;min-height:72px;padding:2px 0;transition:background .2s;display:flex}section.sts-wrap .sts-row-now{background:#14b8a60f}section.sts-wrap .sts-hour-col{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;width:44px;padding-top:4px;display:flex}section.sts-wrap .sts-h-num{color:var(--sts-primary);font-size:16px;font-weight:800}section.sts-wrap .sts-vline{flex-direction:column;flex-shrink:0;align-self:stretch;align-items:center;width:24px;display:flex}section.sts-wrap .sts-vdot{z-index:1;border-radius:6px;width:12px;height:12px;margin-top:6px}section.sts-wrap .sts-vconn{background:#e2e8f0;flex:1;width:2px;min-height:48px}section.sts-wrap .sts-card.sts-card-row{width:auto;height:auto;min-height:0;box-shadow:inset 3px 0 0 var(--sts-accent,#e2e8f0);border-radius:16px;flex:1;margin:0 0 8px 8px;padding:12px 14px}section.sts-wrap .sts-card.sts-card-row.sts-card-now{box-shadow:inset 3px 0 0 var(--sts-accent,#e2e8f0), 0 0 0 1.5px #14b8a659, 0 2px 8px #0000000a}section.sts-wrap .sts-card-row .sts-card-foot{margin-top:4px}@media (width>=1024px){section.staff-timetable.sts-wrap{border-color:#0000;border-radius:28px;box-shadow:0 24px 48px #0f172a14}}@media (width<=480px){section.sts-wrap .sts-hdr{padding:10px 12px 4px}section.sts-wrap .sts-month{font-size:13px}section.sts-wrap .sts-dayname,section.sts-wrap .sts-link{font-size:11px}section.sts-wrap .sts-hdr-right{gap:6px}section.sts-wrap .sts-icon-btn,section.sts-wrap .sts-cal-wrap,section.sts-wrap .sts-link{width:32px;height:32px}section.sts-wrap .sts-link{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:center}section.sts-wrap .sts-link-text{display:none}section.sts-wrap .sts-link-icon{display:block}section.sts-wrap .sts-batch.ui-select-trigger,section.sts-wrap .sts-batch{width:96px;height:32px;min-height:32px;padding:0 22px 0 8px;font-size:11px}section.sts-wrap .sts-dates{gap:4px;padding:6px 12px 10px}section.sts-wrap .sts-pill{border-radius:12px;width:42px;padding:6px 3px}section.sts-wrap .sts-pill-wd{font-size:9px}section.sts-wrap .sts-pill-dt{font-size:14px}section.sts-wrap .sts-pill-dot,section.sts-wrap .sts-pill-dot-holiday,section.sts-wrap .sts-pill-dot-suspended,section.sts-wrap .sts-pill-dot-transferred{width:4px;height:4px}section.sts-wrap .sts-pill{min-height:50px}section.sts-wrap .sts-cards{gap:10px;padding:2px 12px 12px;scroll-padding-inline:12px}section.sts-wrap .sts-card{--sts-card-h:150px;width:calc(100vw - 56px);min-width:220px;max-width:300px;padding:10px 12px}section.sts-wrap .sts-empty{min-height:46px;margin:0 10px 10px;padding:8px 10px}section.sts-wrap .sts-timeline{padding:4px 8px 16px}section.sts-wrap .sts-hour-col{width:36px}section.sts-wrap .sts-h-num{font-size:14px}section.sts-wrap .sts-vline{width:20px}section.sts-wrap .sts-vdot{width:10px;height:10px}section.sts-wrap .sts-card.sts-card-row{border-radius:12px;width:auto;min-width:0;max-width:none;margin-left:6px;padding:10px 12px}}@media (width<=360px){section.sts-wrap .sts-card{width:calc(100vw - 48px);min-width:200px}section.sts-wrap .sts-pill{width:38px;padding:5px 2px}section.sts-wrap .sts-pill-dt{font-size:13px}}@media (prefers-reduced-motion:reduce){section.sts-wrap .sts-dates{scroll-behavior:auto}section.sts-wrap .sts-bone,section.sts-wrap .sts-now-badge,section.sts-wrap .sts-now-pip,section.sts-wrap .sts-spinner{animation:none}}section.staff-timetable.sts-wrap .sts-link[aria-pressed]{color:var(--sts-primary);box-shadow:none;background:0 0;border:0}@media (width<=480px){section.staff-timetable.sts-wrap .sts-link[aria-pressed]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}section.staff-timetable.sts-wrap .sts-link[aria-pressed=true]{color:var(--sts-primary-ink);background:#f0fdfa;border-color:#99f6e4}}section.sts-wrap .sts-class-cards{align-items:stretch}section.sts-wrap .sts-class-card{height:auto;min-height:var(--sts-card-h,174px);cursor:default}section.sts-wrap .sts-class-card .staff-class-subjects{overscroll-behavior:contain;gap:8px;min-width:0;max-height:150px;display:grid;overflow-y:auto}section.sts-wrap .sts-class-card .staff-class-hour{border-bottom:1px dashed #e2e8f0;gap:2px;min-width:0;padding-bottom:6px;display:grid}section.sts-wrap .sts-class-card .staff-class-hour:last-child{border-bottom:0;padding-bottom:0}section.sts-wrap .sts-class-card .staff-class-subject-heading{align-items:flex-start;gap:6px;display:flex}section.sts-wrap .sts-class-card h3{color:#020617;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:700;line-height:18px;display:-webkit-box;overflow:hidden}section.sts-wrap .sts-class-card h3 .staff-period-open{all:unset;cursor:pointer}section.sts-wrap .sts-class-card :is(.staff-ts-code,.staff-hour-faculty,.staff-hour-source){color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11.5px;line-height:16px;overflow:hidden}section.sts-wrap .sts-class-card .staff-ts-code{color:#0f172a;font-weight:700}section.sts-wrap .sts-class-card .staff-hour-source{color:#6d28d9}section.sts-wrap .sts-class-card .staff-attendance-counts{gap:10px;font-size:11px;display:flex}section.sts-wrap .sts-class-card .staff-present{color:#15803d}section.sts-wrap .sts-class-card .staff-absent{color:#be123c}section.sts-wrap .sts-class-card .staff-student-total{color:#64748b}section.sts-wrap .sts-card-free h3{font-size:14px}section.sts-wrap .sts-card-free>.staff-class-subjects p{color:#94a3b8;margin:0;font-size:12px}section.sts-wrap .sts-request-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e,#14b8a6);border:0;border-radius:12px;min-height:40px;margin-top:auto;font-size:13px;font-weight:700}section.sts-wrap .staff-hour-restriction{color:#92400e;margin-top:auto;font-size:11.5px}section.sts-wrap .staff-hour-restriction summary{cursor:pointer;align-items:center;min-height:32px;font-weight:700;display:flex}section.sts-wrap .staff-hour-restriction p{color:#78350f;margin:4px 0 0;line-height:1.45}@media (pointer:coarse){section.sts-wrap :is(.sts-card-manage,.sts-card-eye,.sts-card-attend,.sts-card-foot .staff-present,.sts-card-foot .staff-absent,.staff-topic-preview button,.sts-retry,.sts-today-jump,.staff-suspension button){position:relative}section.sts-wrap :is(.sts-card-manage,.sts-card-eye,.sts-card-attend,.sts-card-foot .staff-present,.sts-card-foot .staff-absent,.staff-topic-preview button,.sts-retry,.sts-today-jump,.staff-suspension button):after{content:"";position:absolute;inset:-12px -6px}section.sts-wrap :is(.sts-icon-btn,.sts-cal-wrap,.sts-link){position:relative;overflow:visible}section.sts-wrap :is(.sts-icon-btn,.sts-cal-wrap,.sts-link):after{content:"";position:absolute;inset:-6px -3px}section.sts-wrap .sts-pill{min-height:52px}}@media (width<=480px){section.sts-wrap .sts-batch.ui-select-trigger,section.sts-wrap .sts-batch{width:112px}section.sts-wrap .sts-class-card{width:calc(100vw - 56px);max-width:320px}}.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:none;padding:14px clamp(14px,2vw,32px) 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,.request-filters .ui-select-trigger{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,.decision-panel .ui-select-trigger{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,.decision-panel .ui-select-trigger{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]),.class-workspace .ui-select-trigger,.decision-panel .ui-select-trigger{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,.decision-panel .ui-select-trigger:focus-visible,.class-workspace .ui-select-trigger:focus-visible{outline-offset:3px;outline:3px solid #edab35}.template-controls label{gap:.4rem;display:grid}.template-controls label>input,.template-controls label>select,.template-controls label>.ui-select-trigger{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,.setting-field .ui-select-trigger{box-sizing:border-box;width:100%;max-width:38rem}.setting-field select,.setting-field .ui-select-trigger{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,.approval-route-filters .ui-select-trigger{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}:is(.workspace-content,.workspace-slot,.home-layers)>section>header:not(.workspace-page-hero):not(.finance-page-hero),:is(.workspace-content,.workspace-slot,.home-layers)>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]:not(.att-entry *){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,.workspace-filter-bar .ui-select-trigger{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}table.sr-only{table-layout:fixed}.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}:is(.workspace-content,.workspace-slot,.home-layers)>section>header:not(.workspace-page-hero):not(.finance-page-hero),:is(.workspace-content,.workspace-slot,.home-layers)>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}:is(.workspace-content,.workspace-slot,.home-layers)>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}:is(.workspace-content,.workspace-slot,.home-layers)>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}:is(.workspace-content,.workspace-slot,.home-layers)>section>.day-heading{border-radius:20px;padding:1rem;display:block}:is(.workspace-content,.workspace-slot,.home-layers)>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}}.workspace-slot:not([hidden]){display:contents}.leave-route-admin{justify-content:flex-start;margin:0 0 1rem}.home-layers:not([hidden]){display:contents}.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,.attendance-hub .ui-select-trigger{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):not(.staff-ui button),.staff-portal.staff-authenticated .decision-panel button:not(.student):not(.staff-period-tabs button):not(.staff-ui 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:not(.staff-ui button){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),.staff-portal.staff-authenticated :is(.workspace-content,.decision-panel) :is(input:not([type=checkbox]):not([type=radio]),.ui-select-trigger,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,.staff-portal.staff-authenticated :is(.workspace-content,.decision-panel) :is(input,.ui-select-trigger,textarea,button):focus-visible{outline-offset:2px;outline:2px solid #14b8a6}.page-nav-anchor{width:max-content;display:flex}.page-nav-icons{flex:none;align-items:center;gap:6px;display:inline-flex}.staff-portal .page-nav-icons button{color:#147b70;cursor:pointer;background:#f0f8f5;border:1px solid #d5eee8;border-radius:12px;place-items:center;width:40px;height:40px;min-height:40px;padding:0;display:inline-grid}.staff-portal .page-nav-icons button:hover:not(:disabled){background:#dff3ee;border-color:#99d8cc}.staff-portal .page-nav-icons button:disabled{opacity:.5;cursor:not-allowed}.page-nav-icons svg{flex-shrink:0;width:20px;height:20px}@media (width>=641px){[data-page-nav=side]:has(>.page-nav-anchor){padding-left:calc(var(--pn-left,0px) + var(--pn-width,178px) + 16px);min-height:calc(var(--pn-top,0px) + 40px);position:relative}[data-page-nav=side]>.page-nav-anchor{left:var(--pn-left,0px);top:var(--pn-top,0px);position:absolute}[data-page-nav=flex]>.page-nav-anchor{align-self:flex-start;margin-right:12px}[data-page-nav=top]>.page-nav-anchor{grid-column:1/-1;margin-bottom:10px}[data-page-nav=dash]>.page-nav-anchor{z-index:1;grid-area:1/3;align-self:center;position:relative}[data-page-nav=dash]:has(>.page-nav-anchor)>.staff-profile-menu{display:none}}.page-nav-icons button{position:relative}.staff-portal .page-nav-icons button.active{color:#fff;background:#0f766e;border-color:#0f766e}.page-nav-badge{color:#fff;min-width:18px;height:18px;font:700 10px/18px var(--font-family,sans-serif);text-align:center;background:#dc2626;border-radius:999px;padding:0 5px;position:absolute;top:-6px;right:-6px}.finance-page-hero .page-nav-icons button,.staff-portal .finance-page-hero .page-nav-icons button,.staff-portal .staff-profile-card .page-nav-icons button{color:#fff;background:#ffffff24;border-color:#ffffff42}.staff-portal :is(.finance-page-hero,.staff-profile-card) .page-nav-icons button.active{color:#0f766e;background:#ffffffeb}.staff-portal :is(.finance-page-hero,.staff-profile-card) .page-nav-icons button:hover:not(:disabled){background:#ffffff3d;border-color:#fff6}.page-nav-fallback:empty{display:none}.page-nav-fallback{padding:0 0 10px}@media (width<=640px){.page-nav-anchor,.page-nav-fallback,.finance-page-nav{display:none!important}}.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,.faculty-workspace-filters .ui-select-trigger{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}:is(.staff-portal.staff-authenticated .decision-panel label:has(>input:not([type=checkbox]):not([type=radio]),>select,>textarea),.staff-portal.staff-authenticated .decision-panel label:has(>input:not([type=checkbox]):not([type=radio]),>.ui-select-trigger,>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),.staff-portal.staff-authenticated .decision-panel label>:is(input:not([type=checkbox]):not([type=radio]),.ui-select-trigger,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}@media (width>=641px){.staff-portal .staff-mobile-nav,.staff-portal.staff-authenticated .staff-mobile-nav{display:none}}@media (width<=640px){html:has(.staff-portal.staff-authenticated .staff-mobile-nav){scroll-padding-bottom:96px}}@media (width>=641px){html:has(.staff-portal .finance-topbar){scroll-padding-top:110px}}.staff-portal .decision-panel>header:first-child{z-index:3;background:linear-gradient(#fff 85%,#ffffffeb);border-bottom:1px solid #f1f5f9;margin:-1.4rem -1.4rem 12px;padding:16px 1.4rem 12px;position:sticky;top:-1.4rem}.staff-portal .decision-panel>header:first-child h2{margin:0;font-size:17px;font-weight:700;line-height:1.3}.staff-portal .decision-panel>header:first-child>button{color:#115e59;background:#fff;border:1px solid #e2e8f0;border-radius:999px;min-height:44px;padding:8px 16px;font-weight:700}.staff-portal .decision-panel .primary{background:linear-gradient(135deg,#0f766e,#14b8a6);border:0;border-radius:999px;min-height:44px;font-weight:700;box-shadow:0 10px 22px #14b8a638}.staff-portal .decision-panel .primary:disabled{opacity:.6;box-shadow:none}.staff-portal .decision-panel button{min-height:44px}@media (width<=640px){.staff-portal .decision-panel,.staff-portal .decision-panel.decision-panel-wide{width:100%;max-width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top)) - 8px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-bottom:0;border-radius:24px 24px 0 0;margin:0;animation:.28s ease-out staff-sheet-up;inset:auto 0 0}.staff-portal .decision-panel>header:first-child{margin:-18px -16px 12px;padding:18px 16px 10px;top:-18px}.staff-portal .decision-panel>header:first-child:before{content:"";background:#cbd5e1;border-radius:999px;width:40px;height:4px;margin-left:-20px;position:absolute;top:6px;left:50%}}@keyframes staff-sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.staff-portal .decision-panel{animation:none}}@media (width<=640px){.staff-portal :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){font-size:16px!important}}.staff-portal{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.staff-portal:not(.staff-authenticated){padding-top:env(safe-area-inset-top)}@media (width<=640px){.staff-portal .workspace-content{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:calc(110px + env(safe-area-inset-bottom))}.staff-portal .workspace-header{padding-top:env(safe-area-inset-top)}}.staff-ui-mark-list{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin:8px 0;display:grid;overflow:hidden}.staff-ui-mark-list>article{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 14px;display:flex}.staff-ui-mark-list>article:last-child{border-bottom:0}.staff-ui-mark-list>article>div{min-width:0}.staff-ui-mark-list strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px;font-weight:600}.staff-portal .staff-ui-mark-list p{color:#64748b;margin:2px 0 0;font-size:12px}.staff-ui-mark{color:#115e59;text-align:center;font-variant-numeric:tabular-nums;background:#f0fdfa;border-radius:999px;flex:none;min-width:40px;padding:4px 10px;font-size:13px;font-weight:700}.staff-ui-mark.is-empty{color:#6b7280;background:#f3f4f6;font-weight:600}.staff-portal .decision-panel .staff-ui-record-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.staff-ui-chip{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;min-height:26px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.staff-portal .staff-ui-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.staff-portal .staff-ui-chips>:not(legend):not(label:has(>input[type=checkbox],>input[type=radio])){flex:100%}.staff-portal .staff-ui-chips>label>input[type=checkbox],.staff-portal .staff-ui-chips>label>input[type=radio]{accent-color:#0f766e;flex:none;width:18px;height:18px;margin:0}.staff-portal .staff-ui-chips>legend{color:#475569;font-size:12px;font-weight:700}.staff-portal .decision-panel .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#0f766e;font-size:10px;font-weight:800}
