.finance-app{--fin-primary:#0f766e;--fin-primary-light:#14b8a6;--fin-primary-dark:#115e59;--fin-tint:#f0fdfa;--fin-tint-2:#ccfbf1;--fin-tint-border:#99f6e4;--fin-ink:#0f172a;--fin-ink-2:#1e293b;--fin-row:#334155;--fin-body:#475569;--fin-muted:#64748b;--fin-caption:#94a3b8;--fin-line:#e2e8f0;--fin-divider:#f1f5f9;--fin-soft-border:#94a3b82e;--fin-surface:#fff;--fin-inset:#f8fafc;--fin-page:#f5f7fa;--ok-bg:#dcfce7;--ok:#16a34a;--ok-strong:#15803d;--warn-bg:#fef3c7;--warn:#d97706;--warn-strong:#b45309;--bad-bg:#fee2e2;--bad:#dc2626;--bad-strong:#b91c1c;--info-bg:#dbeafe;--info:#2563eb;--neutral-bg:#f3f4f6;--neutral:#6b7280;--purple-bg:#ede9fe;--purple:#6d28d9;--r-tag:6px;--r-control:12px;--r-inset:16px;--r-card:20px;--r-panel:24px;--r-pill:999px;--sh-card:0 18px 40px #0f172a0f;--sh-hero:0 20px 44px #0f172a29;--sh-modal:0 30px 70px #0f172a33;--sh-pill-active:0 18px 34px #14b8a63d;--g-hero:linear-gradient(135deg, #0f172a 0%, #0f766e 58%, #14b8a6 100%);--g-active:linear-gradient(135deg, #0f766e, #14b8a6);--g-due:linear-gradient(135deg, #fff7ed, #ffedd5);--g-clear:linear-gradient(135deg, #ecfdf5, #d1fae5);--g-transport:linear-gradient(135deg, #eff6ff, #dbeafe);--g-hostel:linear-gradient(135deg, #f0fdf4, #dcfce7);--fin-gutter:clamp(16px, 1.8vw, 24px);--finance-danger:var(--bad-strong);--finance-warning:var(--warn-strong);--finance-success:var(--ok-strong);--finance-info:#1d4ed8;--finance-row:var(--fin-inset);min-width:0;padding:var(--fin-gutter);border-radius:var(--r-panel);background:var(--fin-page);color:var(--fin-ink);align-content:start;gap:14px;font-size:13px;display:grid}@media (width>=1024px){.finance-app{background:radial-gradient(circle at 0 0,#14b8a61f,#0000 26%),radial-gradient(circle at 100% 0,#3b82f614,#0000 24%),linear-gradient(#edf6f6 0%,#f6f9fc 34%,#f2f5fa 100%)}}.finance-app :is(h1,h2,h3){color:var(--fin-ink)}.finance-app kbd,dialog[aria-label="Finance quick find"] kbd{font:600 11px/1.5 var(--font-family);color:#64748b;background:#fff;border:1px solid #e2e8f0;border-bottom-width:2px;border-radius:6px;padding:1px 6px;display:inline-block}.finance-app .finance-muted{color:var(--fin-muted);margin:0;font-size:13px;line-height:1.55}.finance-app .finance-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-primary);font-size:11px;font-weight:800}.finance-app .finance-field-label{color:var(--fin-muted);font-size:11px;font-weight:700}.finance-app :is(.finance-primary,.finance-secondary){border-radius:var(--r-pill);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:13px;font-weight:700;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.finance-app .finance-primary{background:var(--g-active);color:#fff;border:0;box-shadow:0 10px 22px #14b8a638}.finance-app .finance-primary:hover:not(:disabled){box-shadow:var(--sh-pill-active);transform:translateY(-1px)}.finance-app .finance-secondary{color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc}.finance-app .finance-secondary:hover:not(:disabled){border-color:var(--fin-tint-border);background:var(--fin-tint)}.finance-app :is(.finance-primary,.finance-secondary):disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.finance-app :is(.finance-primary,.finance-secondary) svg{width:18px;height:18px}.finance-app .finance-icon-button{border:1px solid var(--fin-line);width:44px;min-height:44px;color:var(--fin-muted);background:#fff;border-radius:14px;place-items:center;padding:0;font-size:22px;line-height:1;display:inline-grid}.finance-app .finance-button-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.finance-app .finance-link-button{min-height:28px;color:var(--fin-primary);background:0 0;border:0;padding:2px 4px;font-size:12px;font-weight:600;text-decoration:underline}.finance-app .finance-text-link{color:var(--fin-primary);align-items:center;min-height:32px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.finance-app .finance-text-link:hover{text-decoration:underline}.finance-topbar{top:env(safe-area-inset-top,0px);z-index:15;border:1px solid var(--fin-soft-border);border-radius:var(--r-card);-webkit-backdrop-filter:blur(16px);background:#ffffffeb;padding:10px 12px;position:sticky;box-shadow:0 12px 28px #0f172a14}.finance-topbar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finance-title{flex:160px;min-width:0;display:grid}.finance-app .finance-title .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--fin-primary);font-size:10px;font-weight:800}.finance-app .finance-title h1{letter-spacing:1px;text-transform:uppercase;color:var(--fin-ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:700;line-height:1.25;overflow:hidden}.finance-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-app .finance-topbar-actions button{align-items:center;gap:8px;min-height:44px;font-size:13px;display:inline-flex}.finance-topbar-actions svg{width:18px;height:18px}.finance-app .finance-back{background:var(--g-active);color:#fff;border:0;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;min-height:44px;padding:0;display:inline-grid;box-shadow:0 10px 22px #14b8a638}.finance-back svg{width:20px;height:20px}.finance-app .finance-menu-trigger{border-radius:var(--r-pill);color:var(--fin-primary-dark);background:#fff;border:1px solid #cbd5e1cc;padding:8px 14px;font-weight:700}.finance-app .finance-menu-trigger[aria-expanded=true]{background:var(--g-active);color:#fff;box-shadow:var(--sh-pill-active);border-color:#0000}.finance-app .finance-payer-search{border:1px solid var(--fin-soft-border);min-width:250px;color:var(--fin-muted);background:linear-gradient(135deg,#fff,#f0f9ff);border-radius:20px;justify-content:flex-start;padding:4px 14px 4px 4px;font-weight:500;box-shadow:0 8px 20px #0f172a0a}.finance-search-tile{background:var(--g-active);color:#fff;border-radius:14px;flex:0 0 38px;place-items:center;height:38px;display:grid}.finance-search-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.finance-app .finance-quick-find{background:#fff;border:1px solid #cbd5e1cc;border-radius:14px;padding:6px 10px}.finance-app .finance-collect{padding-inline:18px}.finance-chip{border-radius:var(--r-pill);background:var(--fin-tint);border:1px solid var(--fin-tint-2);min-height:32px;color:var(--fin-primary-dark);letter-spacing:.04em;white-space:nowrap;align-items:center;padding:4px 12px;font-size:11px;font-weight:800;display:inline-flex}.finance-mega{overscroll-behavior:contain;background:#fffffffa;border:1px solid #94a3b83d;border-radius:18px;max-height:min(70dvh,640px);margin-top:10px;padding:16px;overflow:auto;box-shadow:0 24px 44px #0f172a29}.finance-mega-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.finance-app .finance-mega-heading .eyebrow{letter-spacing:.08em;color:var(--fin-primary);font-size:10px;font-weight:800}.finance-app .finance-mega-heading h2{margin:2px 0 0;font-size:16px}.finance-app .finance-mega-heading button{border-radius:var(--r-pill);min-height:44px;color:var(--fin-primary-dark);background:#fff;border-color:#cbd5e1cc;padding:6px 16px;font-size:12px;font-weight:700}.finance-mega-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.finance-mega-column{border-radius:var(--r-inset);background:var(--fin-inset);border:1px solid var(--fin-divider);align-content:start;gap:8px;padding:10px;display:grid}.finance-app .finance-mega-column h3{letter-spacing:.06em;color:var(--fin-row);text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:800;display:flex}.finance-mega-column ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.finance-app .finance-mega-column a{border:1px solid var(--fin-soft-border);min-height:44px;color:var(--fin-row);background:linear-gradient(#fffffffa,#f0f9ffc2);border-radius:14px;align-content:center;margin:0;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.finance-app .finance-mega-column a small{color:var(--fin-muted);font-size:11px;font-weight:500}.finance-app .finance-mega-column a:hover,.finance-app .finance-mega-column a:focus-visible{border-color:#14b8a657;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a14}.finance-app .finance-mega-column a[aria-current=page]{color:var(--fin-primary);background:linear-gradient(135deg,#14b8a624,#38bdf81a);border-color:#14b8a661;box-shadow:0 10px 22px #14b8a62e}.finance-mega-recent{background:var(--fin-tint);border-color:var(--fin-tint-2)}.finance-breadcrumbs{align-items:center;gap:8px;min-width:0;padding:0 4px;display:flex}.finance-breadcrumbs ol{flex-wrap:wrap;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.finance-breadcrumbs li+li:before{content:"›";color:var(--fin-caption);margin:0 6px}.finance-app .finance-breadcrumbs a{color:var(--fin-primary);background:0 0;margin:0;padding:0;font-weight:600;text-decoration:none;display:inline}.finance-breadcrumbs [aria-current]{color:var(--fin-ink);font-weight:700}.finance-content{min-width:0}.finance-page{gap:14px;min-width:0;display:grid}.finance-alert{background:var(--bad-bg);color:var(--bad-strong);border-radius:var(--r-inset);border:1px solid #fecaca;padding:12px 14px;font-size:13px}.finance-app .finance-alert button{border-radius:var(--r-pill);min-height:36px;margin-left:6px;padding:4px 14px}.finance-app .finance-note{border-radius:14px;margin:0;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.5}.finance-note-warn{color:#9a3412;background:#fff7ed}.finance-note-bad{background:var(--bad-bg);color:var(--bad-strong)}.finance-note-ok{background:var(--ok-bg);color:#166534}.finance-page-hero{background:var(--g-hero);color:#f8fafc;box-shadow:var(--sh-hero);border-radius:22px;gap:12px;padding:16px;display:grid;position:relative;overflow:hidden}.finance-page-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff38,#0000 68%);border-radius:50%;width:220px;height:220px;position:absolute;inset:auto -10% -30% auto}.finance-page-hero>*{z-index:1;position:relative}.finance-page-hero-copy{justify-items:start;gap:6px;max-width:46rem;display:grid}.finance-hero-kicker{border-radius:var(--r-pill);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#ffffff24;align-items:center;padding:6px 10px;font-size:10px;font-weight:800;display:inline-flex}.finance-app .finance-page-hero :is(h1,h2){letter-spacing:-.02em;color:#fff;margin:2px 0 0;font-size:clamp(20px,4vw,30px);line-height:1.1}.finance-app .finance-page-hero-text p{color:#f8fafcd9;margin:0;font-size:13px;line-height:1.55}.finance-app .finance-page-hero-text p a{min-height:0;font-size:inherit;color:#fff;text-underline-offset:2px;text-decoration:underline;display:inline}.finance-page-hero kbd{color:#fff!important;background:#ffffff29!important;border-color:#ffffff3d!important}.finance-page-hero-actions{flex-wrap:wrap;gap:8px;display:flex}.finance-app .finance-hero-link{border-radius:var(--r-pill);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1a;border:1px solid #ffffff3d;align-items:center;min-height:44px;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.finance-app .finance-hero-link:hover{background:#ffffff2e}.finance-glass-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 0;padding:0;list-style:none;display:grid}.finance-glass-tile{-webkit-backdrop-filter:blur(14px);background:#ffffff1a;border:1px solid #ffffff1f;border-radius:16px;align-content:start;gap:2px;min-width:0;padding:10px 12px;display:grid}.finance-glass-tile>span{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb8;overflow-wrap:anywhere;font-size:10px;font-weight:800}.finance-glass-tile strong{color:#fff;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.finance-glass-tile small{color:#ffffffa8;font-size:11px}.finance-page-hero-badge .finance-status{box-shadow:0 0 0 1px #ffffff80}@media (width>=768px){.finance-page-hero{border-radius:30px;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:24px}.finance-glass-tiles{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}}.finance-card{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);min-width:0;box-shadow:var(--sh-card);background:#fffffff0;align-content:start;gap:12px;padding:14px;display:grid}.finance-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-card-title{gap:2px;min-width:0;display:grid}.finance-app .finance-card-title :is(h2,h3){margin:0;font-size:16px;font-weight:700}.finance-count-pill{border-radius:var(--r-pill);color:#0369a1;font-variant-numeric:tabular-nums;background:#e0f2fe;align-items:center;min-height:22px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.finance-card-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}@media (width>=768px){.finance-card{border-radius:22px;padding:18px}}.finance-module-icon{background:var(--fin-accent-bg);color:var(--fin-accent);box-shadow:inset 0 0 0 1px var(--fin-accent-ring);border-radius:14px;flex:none;place-items:center;display:inline-grid}.finance-module-icon svg{width:55%;height:55%}.finance-module-icon-sm{border-radius:9px;width:28px;height:28px}.finance-module-icon-md{width:42px;height:42px}.finance-module-icon-lg{border-radius:16px;width:52px;height:52px}.finance-status{border-radius:var(--r-tag,6px);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.finance-status-glyph{color:#fff;border-radius:50%;place-items:center;width:14px;height:14px;font-size:9px;font-weight:800;display:inline-grid}.finance-status-success{color:#15803d;background:#dcfce7}.finance-status-success .finance-status-glyph{background:#16a34a}.finance-status-warning{color:#b45309;background:#fef3c7}.finance-status-warning .finance-status-glyph{background:#d97706}.finance-status-danger{color:#b91c1c;background:#fee2e2}.finance-status-danger .finance-status-glyph{background:#dc2626}.finance-status-info{color:#1d4ed8;background:#dbeafe}.finance-status-info .finance-status-glyph{background:#2563eb}.finance-status-neutral{color:#4b5563;background:#f3f4f6}.finance-status-neutral .finance-status-glyph{background:#6b7280}.finance-status-purple{color:#6d28d9;background:#ede9fe}.finance-status-purple .finance-status-glyph{background:#6d28d9}.finance-callout{border:1px solid;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px;display:flex}.finance-callout-due{background:var(--g-due);border-color:#fdba74}.finance-callout-clear{background:var(--g-clear);border-color:#86efac}.finance-callout-copy{flex:200px;gap:3px;min-width:0;display:grid}.finance-callout-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.finance-callout-due .finance-callout-eyebrow{color:#c2410c}.finance-callout-clear .finance-callout-eyebrow{color:#047857}.finance-callout-copy strong{color:var(--fin-ink);font-size:15px}.finance-callout-text{color:var(--fin-body);font-size:13px;line-height:1.55}.finance-callout-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.finance-summary-strip{border:1px solid var(--fin-soft-border);background:#fff;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:12px 4px;display:grid}.finance-summary-strip>div{text-align:center;justify-items:center;gap:2px;min-width:0;padding:0 6px;display:grid}.finance-summary-strip>div+div{border-left:1px solid var(--fin-line)}.finance-summary-strip dt{letter-spacing:.06em;text-transform:uppercase;color:var(--fin-caption);font-size:11px;font-weight:700}.finance-summary-strip dd{color:var(--fin-ink);overflow-wrap:anywhere;max-width:100%;margin:0;font-size:16px;font-weight:700}.finance-summary-strip .finance-money{white-space:normal}.finance-summary-paid dd,.finance-summary-clear dd{color:var(--ok)}.finance-summary-due dd{color:var(--bad)}.finance-list-row{border-bottom:1px solid var(--fin-divider);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px 2px;display:grid}.finance-list-row-leading{grid-template-columns:auto minmax(0,1fr) auto}.finance-list-row-leading-slot input{width:20px;height:20px;margin:0}.finance-list-row-main{gap:3px;min-width:0;display:grid}.finance-list-row-title{color:var(--fin-ink);overflow-wrap:anywhere;font-size:14px;font-weight:600}.finance-list-row-meta{color:var(--fin-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.finance-list-row-side{text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 10px;display:flex}.finance-list-row-amount{color:var(--fin-ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;display:grid}@media (width<=640px){.finance-list-row{grid-template-columns:minmax(0,1fr)}.finance-list-row-leading{grid-template-columns:auto minmax(0,1fr)}.finance-list-row-leading .finance-list-row-side{grid-column:2}.finance-list-row-side{text-align:left;justify-content:space-between}}.finance-pill-tabs{scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.finance-pill-tabs::-webkit-scrollbar{display:none}.finance-app .finance-pill-tab{border-radius:var(--r-pill);min-height:40px;color:var(--fin-body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;scroll-snap-align:start;background:#fff;border:1px solid #cbd5e1cc;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:11px;font-weight:800;display:inline-flex}.finance-app .finance-pill-tab[aria-selected=true]{background:var(--g-active);color:#fff;box-shadow:var(--sh-pill-active);border-color:#0000}.finance-pill-count{border-radius:var(--r-pill);background:var(--fin-divider);min-width:20px;height:20px;color:var(--fin-muted);letter-spacing:0;place-items:center;padding:0 6px;font-size:10px;display:inline-grid}.finance-pill-tab[aria-selected=true] .finance-pill-count{color:#fff;background:#ffffff38}.finance-app .finance-segmented{border-radius:var(--r-pill);background:#e2e8f0b8;border:0;flex-wrap:wrap;gap:4px;margin:0;padding:5px;display:inline-flex}.finance-segmented label{display:inline-flex;position:relative}.finance-segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.finance-segmented span{border-radius:var(--r-pill);min-height:36px;color:var(--fin-body);align-items:center;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.finance-segmented input:checked+span{color:var(--fin-primary-dark);background:#fff;box-shadow:0 6px 14px #0f172a14}.finance-segmented input:focus-visible+span{outline:2px solid var(--fin-primary);outline-offset:2px}.finance-segmented:disabled span{opacity:.7}.finance-dashboard-grid{gap:14px;display:grid}.finance-areas{grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.finance-app .finance-area{text-align:left;border:1px solid var(--fin-soft-border);border-radius:var(--r-inset);width:100%;min-height:64px;color:var(--fin-row);background:linear-gradient(#fff,#f8fbff);align-items:center;gap:12px;padding:12px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.finance-app .finance-area:hover{border-color:#14b8a657;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a14}.finance-area-copy{flex:1;gap:2px;min-width:0;display:grid}.finance-area-copy strong{color:var(--fin-ink);font-size:14px}.finance-area-copy small{color:var(--fin-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.finance-area-chevron{color:var(--fin-caption);font-size:22px}.finance-dashboard-meta{font-size:12px}@media (width>=641px){.finance-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.finance-dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start}.finance-areas{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.finance-placeholder-body{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.finance-placeholder-body>div{flex:240px;justify-items:start;gap:12px;display:grid}.finance-tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.finance-stat-tile{min-height:96px;box-shadow:var(--sh-card);border-radius:var(--r-card)!important}.finance-stat-text small{font-size:12px}.finance-stat-value{font-variant-numeric:tabular-nums;font-size:18px}.finance-delta{color:var(--fin-muted);font-size:11px;font-weight:600}.finance-delta-up{color:var(--ok-strong)}.finance-delta-down{color:var(--bad-strong)}.finance-empty{text-align:center;border:1px solid var(--fin-soft-border);border-radius:var(--r-card);box-shadow:var(--sh-card);background:#fffffff0;justify-items:center;gap:6px;padding:32px 16px;display:grid}.finance-app .finance-empty h2{color:var(--fin-muted);margin:6px 0 0;font-size:16px;font-weight:600}.finance-app .finance-empty-body,.finance-app .finance-empty-body p{max-width:520px;color:var(--fin-caption);font-size:13px}.finance-empty-icon{background:var(--fin-tint);width:52px;height:52px;color:var(--fin-primary);border-radius:16px;place-items:center;display:grid}.finance-empty-icon svg{width:26px;height:26px}.finance-empty-action{margin-top:8px}.finance-app .finance-empty-action button{border-radius:var(--r-pill);background:var(--g-active);color:#fff;border:0;min-height:44px;padding:8px 18px;font-weight:700}.finance-skeleton{gap:8px;display:grid}.finance-skeleton-tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.finance-skeleton-bar{background:linear-gradient(90deg,#f1f5f9 25%,#e8ebf0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:16px;height:40px;animation:1.4s infinite finance-shimmer;display:block}.finance-skeleton-tiles .finance-skeleton-bar{border-radius:20px;height:96px}@keyframes finance-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.finance-money{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-negative{color:var(--finance-danger,#b91c1c)}.finance-amount-words{color:var(--fin-muted);margin:4px 0 0;font-size:12px;font-style:italic}.finance-amount-input{gap:4px;font-size:13px;display:grid}.finance-amount-input>label{color:var(--fin-muted);font-size:11px;font-weight:700}.finance-amount-field{border:1px solid var(--fin-line,#e2e8f0);background:#fff;border-radius:14px;align-items:center;gap:6px;min-height:44px;padding:0 12px;display:flex}.finance-amount-field:focus-within{border-color:var(--fin-primary-light,#14b8a6);box-shadow:0 0 0 3px #14b8a626}.finance-amount-field input{text-align:right;font-variant-numeric:tabular-nums;outline:none;width:100%;min-width:0;padding:10px 0;background:0 0!important;border:0!important}.finance-amount-field input[aria-invalid=true]{color:var(--finance-danger,#b91c1c)}.finance-field-error{color:#b91c1c;margin:0;font-size:12px}.finance-field-hint{color:#64748b;font-size:12px}.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) :is(input:not([type=checkbox],[type=radio],[type=file]),select,textarea),.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) :is(input:not([type=checkbox],[type=radio],[type=file]),.ui-select-trigger,textarea){border:1px solid var(--fin-line);min-height:44px;color:var(--fin-ink);background:#fff;border-radius:14px;width:100%;padding:10px 12px;font-size:14px}.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) select,.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) .ui-select-trigger{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center/16px no-repeat;padding-right:36px}.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) :is(input,select,textarea):focus,.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) :is(input,.ui-select-trigger,textarea):focus{border-color:var(--fin-primary-light);outline:none;box-shadow:0 0 0 3px #14b8a626}.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) :is(input,select,textarea):disabled,.finance-app :is(.finance-card,.finance-filterbar,.finance-dialog) :is(input,.ui-select-trigger,textarea):disabled{background-color:var(--fin-inset);color:var(--fin-muted);cursor:not-allowed}.finance-app .finance-amount-field input{min-height:0!important;box-shadow:none!important;padding:10px 0!important}.finance-filterbar{border:1px solid var(--fin-soft-border);border-radius:var(--r-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--sh-card);background:#ffffffeb;gap:10px;padding:14px;display:grid}.finance-filter-fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:end;gap:10px;display:grid}.finance-filter-fields>label{color:var(--fin-muted);gap:4px;font-size:11px;font-weight:700;display:grid}.finance-filter-toggle{align-items:center;gap:8px;min-height:44px;color:var(--fin-ink)!important;font-size:13px!important;display:flex!important}.finance-filter-toggle input{height:20px;width:20px!important;min-height:0!important}.finance-filter-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.finance-filter-chips li{border-radius:var(--r-pill);background:var(--fin-tint);border:1px solid var(--fin-tint-2);color:var(--fin-primary-dark);align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:12px;display:inline-flex}.finance-filter-chips li:last-child{background:0 0;border:0}.finance-app .finance-filter-chips li button:not(.finance-link-button){width:28px;min-height:28px;color:inherit;background:0 0;border:0;border-radius:50%;padding:0}.finance-grid{gap:8px;min-width:0;display:grid}.finance-grid-toolbar{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.finance-grid-count{color:var(--fin-muted,#64748b);font-variant-numeric:tabular-nums;margin-right:auto}.finance-app .finance-grid-toolbar>button{border-radius:var(--r-pill);min-height:44px;color:var(--fin-primary-dark);background:#fff;border-color:#cbd5e1cc;padding:6px 14px;font-size:12px;font-weight:700}.finance-grid-select-all{min-height:44px;color:var(--fin-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.finance-grid-select-all input{width:20px;height:20px;margin:0}.finance-grid-columns{position:relative}.finance-grid-columns summary{cursor:pointer;border-radius:var(--r-pill,999px);min-height:44px;color:var(--fin-primary-dark,#115e59);background:#fff;border:1px solid #cbd5e1cc;align-items:center;padding:6px 14px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.finance-grid-columns fieldset{z-index:5;border:1px solid var(--fin-soft-border,#e2e8f0);border-radius:var(--r-inset,16px);background:#fff;gap:6px;min-width:200px;margin:6px 0 0;padding:12px;display:grid;position:absolute;right:0;box-shadow:0 24px 44px #0f172a29}.finance-grid-columns label{align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.finance-grid-scroll{border:1px solid var(--fin-soft-border,#e2e8f0);border-radius:var(--r-card,20px);box-shadow:var(--sh-card);outline-offset:2px;overscroll-behavior:contain;background:#fff;position:relative;overflow:auto}.finance-grid-scroll:focus-visible{outline:2px solid var(--fin-primary,#0f766e)}.finance-grid-row{border-bottom:1px solid var(--fin-divider,#f1f5f9);color:var(--fin-row);background:#fff;align-items:center;font-size:13px;display:grid}.finance-grid-row>*{background:inherit;align-items:center;min-width:0;height:100%;padding:0 12px;display:flex}.finance-grid-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.finance-grid-num{text-align:right;font-variant-numeric:tabular-nums;justify-content:flex-end}.finance-grid-check{justify-content:center;padding:0!important}.finance-grid-check input{width:18px;height:18px;margin:0}.finance-grid-row>:first-child{z-index:1;position:sticky;left:0}.finance-grid-selectable .finance-grid-row>:nth-child(2){z-index:1;position:sticky;left:44px}.finance-grid-head{z-index:3;background:var(--fin-inset,#f8fafc);color:var(--fin-caption,#94a3b8);letter-spacing:.06em;text-transform:uppercase;border-bottom-color:var(--fin-line,#e2e8f0);font-size:11px;font-weight:700;position:sticky;top:0}.finance-app .finance-grid-head button{min-height:32px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;display:inline-flex}.finance-grid-head .finance-grid-num button{flex-direction:row-reverse}.finance-grid-sort{opacity:.7;font-size:10px}.finance-grid-head [aria-sort=ascending],.finance-grid-head [aria-sort=descending]{color:var(--fin-primary-dark,#115e59)}.finance-grid-row:not(.finance-grid-head,.finance-grid-total):hover{background:var(--finance-row,#f8fafc)}.finance-grid-active{box-shadow:inset 3px 0 0 var(--fin-primary-light,#14b8a6);background:var(--finance-row,#f8fafc)}.finance-grid-selected{background:var(--fin-tint,#f0fdfa)}.finance-grid-total{z-index:2;background:var(--fin-tint,#f0fdfa);color:var(--fin-ink);border-top:1px solid var(--fin-tint-border,#99f6e4);font-weight:700;position:sticky;bottom:0}.finance-grid-empty{text-align:center;color:var(--fin-muted,#64748b);margin:0;padding:24px;font-size:13px}.finance-grid-cards{border:1px solid var(--fin-soft-border,#e2e8f0);border-radius:var(--r-card,20px);box-shadow:var(--sh-card);background:#fff;margin:0;padding:4px 14px;list-style:none}.finance-grid-card{outline-offset:-2px;border-radius:12px}.finance-grid-card:last-child .finance-list-row{border-bottom:0}.finance-grid-card:focus-visible{outline:2px solid var(--fin-primary,#0f766e)}.finance-grid-card.finance-grid-active{box-shadow:none;background:0 0}.finance-grid-card.finance-grid-selected{background:var(--fin-tint,#f0fdfa)}.finance-app .finance-grid-card-open{width:100%;min-height:44px;font:inherit;color:var(--fin-primary-dark);text-align:left;text-underline-offset:3px;background:0 0;border:0;align-items:center;padding:0;text-decoration:underline;display:flex}.finance-grid-cards .finance-list-row-side .finance-money{font-size:16px}.finance-app .finance-grid-more{border-radius:var(--r-pill);min-height:44px;color:var(--fin-primary-dark);background:#fff;border-color:#cbd5e1cc;font-size:13px;font-weight:700}.finance-grid-card-total{background:var(--fin-tint,#f0fdfa);border:1px solid var(--fin-tint-border,#99f6e4);border-radius:18px;padding:0 14px}.finance-grid-card-total .finance-list-row{border-bottom:0}.finance-dropzone-wrap{gap:6px;display:grid}.finance-dropzone{border-radius:var(--r-card,20px);background:linear-gradient(135deg,#fff,#f0f9ff);border:2px dashed #cbd5e1;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;transition:border-color .15s,background .15s;display:flex}.finance-dropzone-over{border-color:var(--fin-primary-light,#14b8a6);background:var(--fin-tint,#f0fdfa)}.finance-dropzone-disabled{opacity:.7}.finance-dropzone-icon{background:var(--g-active,#0f766e);color:#fff;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.finance-dropzone-icon svg{width:24px;height:24px}.finance-dropzone-copy{flex:200px;gap:2px;min-width:0;display:grid}.finance-dropzone-copy strong{color:var(--fin-ink,#0f172a);overflow-wrap:anywhere;font-size:14px}.finance-dropzone-copy span{color:var(--fin-muted,#64748b);font-size:12px}.finance-dropzone-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-import{gap:12px;min-width:0;display:grid}.finance-import-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.finance-app .finance-import-head h3{margin:0;font-size:16px}.finance-import-counts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.finance-import-count{border-radius:var(--r-pill,999px);color:#4b5563;text-transform:uppercase;letter-spacing:.04em;background:#f3f4f6;align-items:baseline;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.finance-import-count strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:14px}.finance-import-count-ok{color:#15803d;background:#dcfce7}.finance-import-count-bad{color:#b91c1c;background:#fee2e2}.finance-import-count-warn{color:#b45309;background:#fef3c7}.finance-import-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.finance-import-messages{white-space:normal;gap:2px;line-height:1.35;display:grid}.finance-import-error{color:#b91c1c}.finance-import-warning{color:#b45309}.finance-grid-scroll .finance-import-messages{font-size:12px}.finance-import-confirm{background:var(--fin-tint,#f0fdfa);border:1px solid var(--fin-tint-border,#99f6e4);border-radius:18px;gap:10px;padding:14px;display:grid}.finance-import-confirm p{margin:0;font-size:13px}.finance-settings-tools{gap:10px}.finance-search-field{gap:4px;display:grid}.finance-settings-groups{gap:14px;display:grid}.finance-setting-list{display:grid}.finance-setting{border-bottom:1px solid var(--fin-divider);gap:10px 20px;padding:14px 0;display:grid}.finance-setting:first-child{padding-top:0}.finance-setting:last-child{border-bottom:0;padding-bottom:0}.finance-setting-copy{align-content:start;justify-items:start;gap:4px;min-width:0;display:grid}.finance-setting-copy strong{color:var(--fin-ink);font-size:14px;font-weight:600}.finance-app .finance-setting-help{color:var(--fin-muted);margin:0;font-size:12px;line-height:1.5}.finance-app .finance-setting-feature{border-radius:var(--r-pill);background:var(--warn-bg);color:var(--warn-strong);overflow-wrap:anywhere;justify-self:start;margin:0;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.5}.finance-setting-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finance-setting-key{color:var(--fin-caption);background:var(--fin-inset);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font-size:11px}.finance-app .finance-setting-copy .finance-link-button{min-height:32px;padding:2px 0}.finance-setting-scopes{gap:8px;min-width:0;display:grid}.finance-setting-row{background:var(--fin-inset);border:1px solid var(--fin-divider);border-radius:14px;grid-template-columns:minmax(110px,160px) minmax(0,1fr);align-items:start;gap:6px 12px;padding:10px 12px;display:grid}.finance-setting-override{border-style:dashed;border-color:var(--fin-line);background:#fff}.finance-setting-changed{background:#fffbeb;border-color:#fcd34d;box-shadow:inset 3px 0 #f59e0b}.finance-setting-scope{justify-items:start;gap:2px;min-width:0;padding-top:4px;display:grid}.finance-setting-scope-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fin-row);font-size:11px;font-weight:800}.finance-setting-scope small{color:var(--fin-muted);font-size:11px}.finance-app .finance-setting-scheduled{color:#6d28d9;font-weight:600}.finance-setting-badge{letter-spacing:.06em;text-transform:uppercase;color:#b45309;background:#fef3c7;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800}.finance-setting-control{gap:6px;min-width:0;display:grid}.finance-setting-readonly{min-height:44px;color:var(--fin-muted);align-items:center;font-size:13px;font-weight:600;display:inline-flex}.finance-setting-money .finance-amount-input>label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.finance-suffix-field{display:block;position:relative}.finance-suffix-field>span{color:var(--fin-muted);pointer-events:none;font-weight:700;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.finance-app .finance-suffix-field input{padding-right:32px}.finance-app .finance-numeric-input{text-align:right;font-variant-numeric:tabular-nums}.finance-effective-field{gap:4px;display:grid}.finance-setting-override-actions{justify-content:flex-end;display:flex}.finance-app .finance-add-override{justify-self:start;min-height:40px;padding:6px 14px;font-size:12px}.finance-add-override-form{border:1px dashed var(--fin-tint-border);background:var(--fin-tint);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:8px;padding:12px;display:grid}.finance-add-override-form label{gap:4px;display:grid}.finance-add-override-form .finance-button-row{grid-column:1/-1}.finance-switch{cursor:pointer;justify-self:start;align-items:center;gap:10px;min-height:44px;display:inline-flex;position:relative}.finance-switch input{opacity:0;cursor:pointer;width:52px;height:30px;margin:0;position:absolute}.finance-switch-track{border-radius:var(--r-pill);background:#cbd5e1;width:52px;height:30px;transition:background .2s;position:relative}.finance-switch-track:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0f172a33}.finance-switch input:checked+.finance-switch-track{background:var(--g-active)}.finance-switch input:checked+.finance-switch-track:after{transform:translate(22px)}.finance-switch input:focus-visible+.finance-switch-track{outline:2px solid var(--fin-primary);outline-offset:3px}.finance-switch input:disabled+.finance-switch-track{opacity:.6}.finance-switch-text{color:var(--fin-muted);font-size:12px;font-weight:700}.finance-save-bar{bottom:calc(84px + env(safe-area-inset-bottom));z-index:12;border-radius:var(--r-panel);border:1px solid var(--fin-soft-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px 10px 18px;display:flex;position:sticky;box-shadow:0 20px 44px #0f172a29}.finance-save-bar .finance-reason-field{flex:260px}.finance-save-summary{font-size:12px;display:grid}.finance-save-summary strong{font-size:13px}.finance-reason-field{gap:4px;margin-top:12px;display:grid}.finance-save-bar .finance-reason-field{margin-top:0}.finance-app .finance-save-bar .finance-reason-field input{border:1px solid var(--fin-line);border-radius:14px;width:100%;min-height:44px;padding:10px 12px}.finance-review-list{margin:0;padding:0;list-style:none;display:grid}.finance-review-list li{border-bottom:1px solid var(--fin-divider);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;display:grid}.finance-review-list li:last-child{border-bottom:0}.finance-review-label{justify-items:start;gap:3px;min-width:0;display:grid}.finance-review-label strong{font-size:14px}.finance-review-label small{color:var(--fin-muted);font-size:11px}.finance-review-approval{color:#6d28d9;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.finance-review-values{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:13px}.finance-review-values del,.finance-history-values del{color:var(--fin-caption)}.finance-review-values ins,.finance-history-values ins{color:var(--fin-primary-dark);font-weight:700;text-decoration:none}.finance-review-error{margin-top:12px}.finance-history{gap:10px;margin:0;padding:0;list-style:none;display:grid}.finance-history li{background:var(--fin-inset);border:1px solid var(--fin-divider);border-radius:16px;gap:4px;padding:12px;display:grid}.finance-history-values{font-size:14px}.finance-history-meta{color:var(--fin-muted);font-size:11px}.finance-app .finance-history-reason{color:var(--fin-body);margin:0;font-size:13px;font-style:italic}@media (width>=1024px){.finance-setting{grid-template-columns:minmax(220px,2fr) minmax(0,3fr)}}@media (width<=640px){.finance-setting-row,.finance-review-list li{grid-template-columns:minmax(0,1fr)}.finance-review-values{text-align:left}}.finance-chart{border:1px solid var(--fin-soft-border,#e2e8f0);border-radius:var(--r-card,20px);box-shadow:var(--sh-card);background:#fff;min-width:0;margin:0;padding:14px}.finance-chart figcaption{color:var(--fin-ink,#0f172a);margin-bottom:8px;font-size:13px;font-weight:700}.finance-chart svg{width:100%;height:auto;display:block;overflow:visible}.finance-chart-grid line{stroke:#eef2f6;stroke-width:1px}.finance-chart-grid text,.finance-chart-axis{fill:#64748b;font-size:11px}.finance-chart-baseline{stroke:#cbd5e1;stroke-width:1px}.finance-chart-crosshair{stroke:#94a3b8;stroke-width:1px;stroke-dasharray:3 3}.finance-chart-tip{fill:#0f172a;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:12px;font-weight:700}.finance-chart-hit{fill:#0000}.finance-chart-legend{color:#0f172a;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.finance-chart-legend li{align-items:center;gap:6px;display:inline-flex}.finance-chart-legend li>span:first-child{border-radius:3px;width:10px;height:10px}.finance-donut-body{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.finance-donut-body svg{flex:0 0 160px;width:160px}.finance-donut-total{fill:#0f172a;font-size:15px;font-weight:700}.finance-chart-legend-list{flex:160px;gap:6px;display:grid}.finance-chart-legend-list li{grid-template-columns:10px 1fr auto auto;gap:8px;display:grid}.finance-chart-legend-list strong{font-variant-numeric:tabular-nums}.finance-chart-legend-list small{color:#64748b;text-align:right;min-width:34px}.finance-sparkline{display:block}.finance-toasts{right:16px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:40;pointer-events:none;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed}.finance-toasts>div{gap:8px;display:grid}.finance-toast{pointer-events:auto;color:#fff;background:#0f172a;border-radius:16px;align-items:flex-start;gap:8px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex;box-shadow:0 16px 34px #0f172a29}.finance-toast span{flex:1}.finance-toast button{width:28px;min-height:28px;color:inherit;background:0 0;border:0;padding:0;font-size:18px}.finance-toast-success{background:#115e59}.finance-toast-error{background:#b91c1c}@media (width<=640px){.finance-toasts{left:50%;right:auto;transform:translate(-50%)}.finance-app:has(.finance-action-bar)~.finance-toasts{bottom:calc(160px + env(safe-area-inset-bottom))}}.finance-dialog{color:#0f172a;background:0 0;border:0;max-width:none;max-height:none;padding:0;overflow:visible}.finance-dialog-host{display:contents}.finance-dialog::backdrop{-webkit-backdrop-filter:blur(10px);background:#0f172a57}.finance-dialog-panel{background:linear-gradient(#fff,#fbfffe);border:1px solid #94a3b83d;flex-direction:column;max-height:min(86dvh,820px);display:flex;overflow:hidden;box-shadow:0 30px 70px #0f172a33}.finance-dialog-head{background:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.finance-app .finance-dialog-head h2{margin:0;font-size:17px;font-weight:700}.finance-app .finance-dialog-description{color:#64748b;margin:4px 0 0;font-size:13px;line-height:1.5}.finance-dialog-body{overscroll-behavior:contain;flex:auto;padding:14px 18px;overflow:auto}.finance-dialog-footer{background:#fff;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex;position:sticky;bottom:0}.finance-dialog-modal{width:min(560px,100vw - 32px);margin:auto}.finance-dialog-modal.finance-dialog-sm{width:min(400px,100vw - 32px)}.finance-dialog-modal.finance-dialog-lg{width:min(720px,100vw - 32px)}.finance-dialog-modal.finance-dialog-full{width:calc(100vw - 32px)}.finance-dialog-modal .finance-dialog-panel{border-radius:24px;animation:.25s ease-out finance-scale-in}.finance-dialog-sheet{width:100%;max-width:480px;margin:auto auto 0}.finance-dialog-sheet .finance-dialog-panel{border-bottom:0;border-radius:24px 24px 0 0;max-height:90dvh;animation:.3s ease-out finance-slide-up}.finance-sheet-handle{background:#cbd5e1;border-radius:999px;flex:none;align-self:center;width:40px;height:4px;margin:8px 0 -4px}.finance-dialog-sheet .finance-dialog-head{background:#fff;padding-top:12px}.finance-dialog-sheet .finance-dialog-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:0;box-shadow:0 -18px 18px -6px #fffffff2}.finance-dialog-sheet .finance-dialog-footer>*{flex:1 1 0}@keyframes finance-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes finance-slide-up{0%{transform:translateY(100%)}to{transform:none}}.finance-action-bar{z-index:18;left:50%;bottom:calc(74px + env(safe-area-inset-bottom));border:1px solid var(--fin-soft-border,#94a3b82e);-webkit-backdrop-filter:blur(16px);background:#fffffff5;border-radius:22px;align-items:center;gap:10px;width:min(480px,100% - 20px);padding:8px 8px 8px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 40px #0f172a29}.finance-action-bar-summary{flex:auto;min-width:0;font-size:12px;line-height:1.35}.finance-action-bar-actions{flex:auto;justify-content:flex-end;gap:8px;display:flex}.finance-action-bar-actions>*{flex:auto}.finance-action-bar-actions .finance-secondary{padding-inline:14px}@media (width>=641px){.finance-action-bar{display:none}}@media (width<=640px){.finance-app:has(.finance-action-bar){padding-bottom:96px}}dialog[aria-label="Finance quick find"].decision-panel{background:linear-gradient(#fff,#fbfffe);border:1px solid #94a3b83d;border-radius:28px;width:min(760px,100vw - 24px);max-height:80vh;padding:14px;inset:8vh auto auto 50%;transform:translate(-50%);box-shadow:0 30px 70px #0f172a33}dialog[aria-label="Finance quick find"].decision-panel::backdrop{-webkit-backdrop-filter:blur(12px);background:#0f172a94}.finance-palette{gap:10px;display:grid}.finance-palette-search{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:10px;min-height:56px;padding:0 8px 0 16px;display:flex}.finance-palette-search:focus-within{background:#fff;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.finance-palette-search>svg{color:#0f766e;flex:none;width:20px;height:20px}.finance-palette-search input{outline:none;flex:1;min-width:0;padding:12px 0;font-size:16px;box-shadow:none!important;background:0 0!important;border:0!important}.decision-panel .finance-palette-close{color:#64748b;background:#fff;border-radius:12px;min-height:36px;padding:2px 10px;font-size:11px;font-weight:700}.finance-palette-results{overscroll-behavior:contain;gap:4px;max-height:56vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.finance-palette-results .finance-palette-option{cursor:pointer;border:1px solid #0000;border-radius:18px;align-items:center;gap:12px;min-height:56px;padding:8px 10px;display:flex}.finance-palette-results .finance-palette-option .finance-module-icon{border-radius:14px;width:42px;height:42px}.finance-palette-option>span:nth-child(2){flex:auto;min-width:0;display:grid}.finance-palette-side{color:var(--fin-ink,#0f172a);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:700;display:inline-flex}.finance-palette-group{gap:4px;display:grid}.finance-palette-group+.finance-palette-group{border-top:1px solid #f1f5f9;margin-top:6px;padding-top:6px}.finance-app .finance-palette-group-title,.finance-palette-group-title{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0;padding:4px 10px 2px;font-size:11px;font-weight:800}.finance-palette-results .finance-palette-option strong{color:#0f172a;font-size:14px;font-weight:600}.finance-palette-results .finance-palette-option small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.finance-palette-results .finance-palette-option[aria-selected=true]{background:linear-gradient(135deg,#14b8a61f,#38bdf814);border-color:#14b8a63d}.finance-palette-note{color:#64748b;background:#f8fafc;border-radius:14px;margin:0;padding:10px 12px;font-size:12px!important}.finance-palette-keys{color:#64748b;margin:0;font-size:11px!important}@media (width<=640px){.finance-app{border-radius:0;gap:12px;min-height:100dvh;margin:-14px -12px 0;padding:0 12px 24px}.finance-topbar{border-top:0;border-inline:0;border-radius:0 0 20px 20px;margin:0 -12px;padding:8px 12px}.finance-topbar-row{gap:8px}.finance-title{flex:1 1 0}.finance-app .finance-title .eyebrow{display:none}.finance-app .finance-title h1{font-size:15px}.finance-topbar-actions{flex-wrap:nowrap;flex:100%;min-width:0}.finance-app .finance-topbar-actions .finance-payer-search{flex:auto;order:-1;min-width:0;padding-right:10px}.finance-app .finance-topbar-actions .finance-menu-trigger{flex:0 0 48px;justify-content:center;width:48px;padding:0}.finance-menu-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.finance-app .finance-topbar-actions :is(.finance-quick-find,.finance-chip){display:none}.finance-app .finance-topbar-actions .finance-collect{flex:none;padding-inline:14px}.finance-app .finance-topbar-actions .finance-collect-has-bar{display:none}.finance-mega{max-height:calc(100dvh - 140px);padding:12px}.finance-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finance-app .finance-mega-column a{padding:10px}.finance-page-hero{border-radius:20px;padding:14px}.finance-card{border-radius:20px;padding:12px}.finance-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finance-stat-value{font-size:16px}.finance-save-bar{display:none}.finance-import-options>*{flex:100%}dialog[aria-label="Finance quick find"].decision-panel{border-radius:24px;max-height:calc(100dvh - 20px);padding:10px;inset:10px auto auto 50%}.finance-palette-keys{display:none}}@media (width<=400px){.finance-mega-grid{grid-template-columns:1fr}}@media (hover:none){.finance-app .finance-mega-column a:hover,.finance-app .finance-area:hover{transform:none}}@media (prefers-reduced-motion:reduce){.finance-skeleton-bar{animation:none}.finance-dialog-panel{animation:none!important}.finance-app *{transition:none!important}}.finance-dialog-drawer{width:min(460px,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto}.finance-dialog-drawer .finance-dialog-panel{border-right:0;border-radius:24px 0 0 24px;height:100%;max-height:100dvh;animation:.28s ease-out finance-slide-left}@keyframes finance-slide-left{0%{transform:translate(100%)}to{transform:none}}.finance-app .finance-card-description{color:var(--fin-muted);margin:0;font-size:12px;line-height:1.5}.finance-app,.finance-page,.finance-card,.finance-settings-groups,.finance-setting-list,.finance-setting,.finance-setting-scopes,.finance-setting-control,.finance-effective-field,.finance-dashboard-grid{grid-template-columns:minmax(0,1fr)}.finance-app input[type=date]{min-width:0;max-width:100%}@media (width>=1024px){.finance-setting{grid-template-columns:minmax(220px,2fr) minmax(0,3fr)}.finance-dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}}.finance-action-bar{flex-wrap:wrap;padding:8px}.finance-action-bar-summary{flex:100%;padding:2px 6px 0}.finance-action-bar-summary+.finance-action-bar-actions{flex:100%}.finance-action-bar-actions>*{min-width:0}.finance-app .finance-form{gap:12px;min-width:0;display:grid}.finance-app .finance-form-grid{border:0;grid-template-columns:minmax(0,1fr);gap:12px 14px;min-width:0;margin:0;padding:0;display:grid}@media (width>=641px){.finance-app .finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.finance-app .finance-field{align-content:start;gap:4px;min-width:0;display:grid}.finance-app .finance-field>label,.finance-app .finance-check-group>legend{color:var(--fin-muted);font-size:11px;font-weight:700}.finance-app .finance-field-wide{grid-column:1/-1}.finance-app .finance-field .finance-field-hint,.finance-app .finance-field .finance-field-error{font-size:12px;line-height:1.4}.finance-app .finance-form-summary{margin:0}.finance-app .finance-switch-field{align-content:center}.finance-app .finance-switch-label{color:var(--fin-ink);font-size:13px;font-weight:600}.finance-app .finance-readonly-value{background:var(--fin-inset);border:1px dashed var(--fin-line);min-height:44px;color:var(--fin-row);overflow-wrap:anywhere;border-radius:14px;align-items:center;padding:8px 12px;font-size:13px;display:flex}.finance-app .finance-check-group{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.finance-app .finance-check-group>legend{margin-bottom:6px;padding:0}.finance-check-options{flex-wrap:wrap;gap:6px;display:flex}.finance-app .finance-check-chip{border-radius:var(--r-pill);min-height:44px;color:var(--fin-body);cursor:pointer;background:#fff;border:1px solid #cbd5e1cc;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.finance-app .finance-check-chip input{width:18px;height:18px;accent-color:var(--fin-primary);margin:0}.finance-app .finance-check-chip-on{border-color:var(--fin-tint-border);background:var(--fin-tint);color:var(--fin-primary-dark)}.finance-app .finance-check-group:disabled .finance-check-chip{opacity:.7;cursor:not-allowed}.finance-app .finance-editor-panel{gap:12px;min-width:0;margin-top:10px;display:grid}.finance-app .finance-dialog-body>.finance-pill-tabs{margin-bottom:0}.finance-app .finance-row-action{border-radius:var(--r-pill);min-width:44px;min-height:44px;color:var(--fin-primary-dark);white-space:nowrap;background:#fff;border:1px solid #cbd5e1cc;justify-content:center;align-items:center;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.finance-app .finance-row-action:hover:not(:disabled){border-color:var(--fin-tint-border);background:var(--fin-tint)}.finance-app .finance-row-action[aria-pressed=true]{background:var(--g-active);color:#fff;border-color:#0000}.finance-app .finance-compact{min-height:44px;padding:8px 14px;font-size:12px}.finance-app .finance-hero-button{border-radius:var(--r-pill);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff24;border:1px solid #ffffff47;align-items:center;min-height:44px;padding:8px 18px;font-size:13px;font-weight:700;display:inline-flex}.finance-app .finance-hero-button:hover{background:#ffffff38}.finance-app .finance-code{color:var(--fin-row);background:var(--fin-inset);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.finance-app .finance-upload-link{min-height:44px;color:var(--fin-primary);align-items:center;padding:6px 4px;font-size:12px;font-weight:700;display:inline-flex}.finance-tags{flex-wrap:wrap;gap:4px;display:inline-flex}.finance-tag{border-radius:var(--r-tag);background:var(--fin-tint);border:1px solid var(--fin-tint-2);color:var(--fin-primary-dark);white-space:nowrap;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.finance-app .finance-inline-filter{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-app .finance-inline-filter select,.finance-app .finance-inline-filter .ui-select-trigger{width:auto;min-width:min(220px,100%)}.finance-app .finance-toolbar-card{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finance-app .finance-toolbar-card .finance-pill-tabs{flex:260px;min-width:0}.finance-series-preview{color:var(--fin-primary-dark);overflow-wrap:anywhere;font:700 16px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.finance-history-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.finance-history-head strong{color:var(--fin-ink);font-size:14px}.finance-diff{gap:4px;margin:4px 0 0;display:grid}.finance-diff-row{border:1px solid var(--fin-divider);background:#fff;border-radius:10px;grid-template-columns:minmax(96px,150px) minmax(0,1fr);gap:2px 10px;padding:6px 8px;font-size:13px;display:grid}.finance-diff-row dt{color:var(--fin-muted);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;font-size:11px;font-weight:700}.finance-diff-row dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.finance-diff-row del{color:var(--fin-caption)}.finance-diff-row ins{color:var(--fin-primary-dark);font-weight:700;text-decoration:none}@media (width<=640px){.finance-diff-row{grid-template-columns:minmax(0,1fr)}}.finance-master-detail{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.finance-master-detail-main{min-width:0;scroll-margin-top:90px;display:grid}@media (width>=1024px){.finance-master-detail{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}}.finance-type-group{gap:6px;display:grid}.finance-app .finance-type-module{letter-spacing:.06em;text-transform:uppercase;color:var(--fin-caption);margin:4px 0 0;font-size:11px;font-weight:800}.finance-type-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.finance-app .finance-type-item{text-align:left;border:1px solid var(--fin-soft-border);width:100%;min-height:56px;color:var(--fin-row);background:linear-gradient(#fff,#f8fbff);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:10px 12px;display:grid}.finance-app .finance-type-item[aria-pressed=true]{background:linear-gradient(135deg,#14b8a624,#38bdf81a);border-color:#14b8a661;box-shadow:0 10px 22px #14b8a624}.finance-type-name{color:var(--fin-ink);overflow-wrap:anywhere;grid-column:1;font-size:14px;font-weight:600}.finance-type-meta{color:var(--fin-muted);overflow-wrap:anywhere;grid-column:1;font-size:12px}.finance-type-item .finance-status{grid-area:1/2/span 2}.finance-fy-list{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.finance-fy-current{border-color:var(--fin-tint-border);box-shadow:0 18px 40px #14b8a61f}.finance-period-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width>=641px){.finance-period-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width>=1280px){.finance-period-strip{grid-template-columns:repeat(12,minmax(0,1fr))}}.finance-app .finance-period{border:1px solid var(--fin-soft-border);width:100%;min-height:64px;color:var(--fin-ink);background:#fff;border-radius:14px;justify-items:center;gap:6px;padding:8px 4px;display:grid}.finance-app .finance-period:hover{border-color:var(--fin-tint-border)}.finance-period-month{font-size:13px;font-weight:700}.finance-period .finance-status{padding:2px 6px;font-size:10px}.finance-period-2{background:#fffbeb!important}.finance-period-3{background:#fef2f2!important}.finance-installment-groups{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.finance-installment-list{margin:0;padding:0;list-style:none}.finance-position{background:var(--fin-inset);min-width:24px;height:24px;color:var(--fin-muted);border-radius:8px;place-items:center;margin-right:4px;font-size:11px;font-weight:800;display:inline-grid}.finance-row-selected{background:var(--fin-tint);border-radius:12px}.finance-row-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.finance-subpanel{background:var(--fin-inset);border:1px solid var(--fin-divider);border-radius:18px;gap:10px;min-width:0;padding:12px;display:grid}.finance-subpanel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.finance-app .finance-subpanel-head h4{margin:0;font-size:14px}.finance-app .finance-subpanel-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-app .finance-subpanel-tools select,.finance-app .finance-subpanel-tools .ui-select-trigger{width:auto;min-width:min(180px,100%)}@media (width<=640px){.finance-subpanel{margin:0 -4px;padding:10px}.finance-app .finance-subpanel-tools{width:100%}.finance-app .finance-subpanel-tools select,.finance-app .finance-subpanel-tools .ui-select-trigger{flex:100%}.finance-app .finance-card-actions{width:100%;margin-left:0}.finance-row-actions{width:100%}.finance-row-actions>*{flex:1 1 0}}@media (width>=900px){.workspace-content:has(.finance-app){box-sizing:border-box;width:100%;max-width:none;padding-left:clamp(12px,1.6vw,28px);padding-right:clamp(12px,1.6vw,28px)}.staff-portal:has(.finance-app) .workspace-content{box-sizing:border-box;width:100%;max-width:none;padding-left:clamp(12px,1.6vw,28px);padding-right:clamp(12px,1.6vw,28px)}}@media (pointer:coarse){.finance-app .finance-grid-head button{min-height:44px}}.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}.attp-tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.attp-tabs button[aria-pressed=true]{background:var(--primary,#2563eb);color:#fff;border-color:#0000}.attp-list .review-row{align-items:flex-start}.attp-list .review-row>div{overflow-wrap:anywhere;min-width:0}.attp-meta{color:#475569}.attp-decision{gap:.75rem;min-width:16rem;max-width:22rem;display:grid}.attp-decision label{gap:.35rem;display:grid}.attp-decision input,.attp-decision textarea{box-sizing:border-box;width:100%;padding:.6rem}.attp-decision .attp-actions{flex-wrap:wrap;gap:.5rem;display:flex}.attp-levels{margin:.35rem 0;padding-left:1.1rem}@media (width<=640px){.attp-decision{min-width:0;max-width:none}.attp-tabs button{flex:auto}}.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)}}.evaluation-link-note{color:var(--fin-muted,#475569);margin:0 0 12px;line-height:1.5}.evaluation-link-restriction{color:#991b1b;background:#fef2f2;border-radius:12px;margin:0 0 12px;padding:10px 12px}.evaluation-link-choices{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.evaluation-link-choices legend{margin-bottom:8px;font-weight:700}.evaluation-link-choices label{border:1px solid var(--fin-soft-border,#e2e8f0);cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;padding:12px;display:grid}.evaluation-link-choices label.is-chosen{border-color:var(--staff-primary-light,#14b8a6);box-shadow:0 0 0 2px #14b8a62e}.evaluation-link-choices input{width:20px;height:20px;margin:2px 0 0}.evaluation-link-body{gap:6px;min-width:0;display:grid}.evaluation-link-body strong{overflow-wrap:anywhere}.evaluation-link-body ul{color:#92400e;margin:0;padding-left:18px;font-size:.9rem}.evaluation-link-confirm{border-left:3px solid var(--staff-primary-light,#14b8a6);background:#f0fdfa;border-radius:14px;padding:14px}.evaluation-link-confirm h3{margin:0 0 6px;font-size:1rem}.evaluation-link-confirm p{margin:4px 0;line-height:1.5}.evaluation-link-actions{padding-bottom:env(safe-area-inset-bottom,0);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.evaluation-link-actions button{min-height:44px}@media (width<=480px){.evaluation-link-actions button{flex:140px}}.file-attachments{border:1px solid var(--fin-soft-border,#e2e8f0);background:#fff;border-radius:16px;gap:10px;min-width:0;padding:14px;display:grid}.file-attachments header{align-items:center;gap:8px;display:flex}.file-attachments h3{margin:0;font-size:1rem}.file-count{background:var(--fin-tint,#eef2ff);border-radius:999px;padding:0 8px;font-size:.8rem}.file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.file-list li{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.file-icon{background:var(--fin-tint-2,#e0e7ff);width:40px;height:40px;color:var(--fin-primary-dark,#3730a3);border-radius:10px;place-items:center;font-size:.65rem;font-weight:800;display:grid}.file-name{min-width:0;display:grid}.file-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-name small,.file-drop small{color:var(--fin-muted,#475569)}.file-attachments button{border:1px solid var(--fin-line,#cbd5e1);cursor:pointer;background:#fff;border-radius:999px;min-height:44px;padding:0 12px;font-weight:600}.file-danger{color:#b91c1c}.file-drop{border:1.5px dashed var(--fin-tint-border,#a5b4fc);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.file-drop.is-dragging{background:var(--fin-tint,#eef2ff)}.file-confirm{background:#fef2f2;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.file-confirm p{flex:160px;margin:0}.file-error{color:#991b1b;background:#fef2f2;border-radius:10px;margin:0;padding:8px 10px}.file-empty{color:var(--fin-muted,#475569);margin:0}@media (width<=640px){.file-list li{grid-template-columns:auto minmax(0,1fr)}.file-list li button{grid-column:span 1}}.rich-text{overflow-wrap:anywhere;line-height:1.5}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text p{margin:0 0 .5em}.rich-text ul,.rich-text ol{margin:0 0 .5em;padding-left:1.4em}.rich-text a{color:var(--fin-primary-dark,#3730a3);text-decoration:underline}.rich-text table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.rich-text th,.rich-text td{border:1px solid var(--fin-line,#cbd5e1);padding:4px 6px}.rich-text blockquote{border-left:3px solid var(--fin-line,#cbd5e1);margin:0 0 .5em;padding-left:10px}.rich-text pre{white-space:pre-wrap}.rich-text-empty{color:var(--fin-muted,#475569)}.rich-editor{gap:6px;min-width:0;display:grid}.rich-editor-label{font-weight:600}.rich-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rich-toolbar{border:1px solid var(--fin-line,#cbd5e1);background:var(--fin-tint,#f8fafc);border-bottom:0;border-radius:12px 12px 0 0;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.rich-tool{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:0 10px;font-weight:600}.rich-tool:hover,.rich-tool:focus-visible{border-color:var(--fin-line,#cbd5e1);background:var(--fin-surface,#fff)}.rich-tool[aria-pressed=true]{background:var(--fin-tint-2,#e0e7ff);color:var(--fin-primary-dark,#3730a3)}.rich-tool-bold{font-weight:800}.rich-tool-italic{font-style:italic}.rich-tool-underline{text-decoration:underline}.rich-editor-box{border:1px solid var(--fin-line,#cbd5e1);background:var(--fin-surface,#fff);min-height:140px;max-height:50vh;color:inherit;-webkit-user-select:text;user-select:text;border-radius:0 0 12px 12px;outline:none;padding:10px 12px;font-size:16px;overflow-y:auto}.rich-editor.is-locked .rich-editor-box{background:var(--fin-tint,#f8fafc);border-radius:12px}.rich-editor-compact .rich-editor-box{min-height:72px}.rich-editor-box:focus-visible{border-color:var(--fin-primary,#4f46e5);box-shadow:0 0 0 3px var(--fin-tint-2,#e0e7ff)}.rich-editor-box:empty:before{content:attr(data-placeholder);color:var(--fin-muted,#64748b)}.rich-count{color:var(--fin-muted,#475569)}.rich-count.is-over{color:#b91c1c;font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rich-editor-box{background:var(--fin-surface,#0f172a)}:root:not([data-theme=light]) .rich-toolbar{background:var(--fin-tint,#1e293b)}}@media (width<=640px){.rich-toolbar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.rich-tool{flex:none}}.extra-classes{gap:14px;min-width:0;display:grid}.extra-month{gap:8px;display:grid}.extra-month h3{color:var(--fin-muted,#475569);margin:6px 0 0;font-size:.95rem}.extra-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.extra-card{border:1px solid var(--fin-soft-border,#e2e8f0);background:#fff;border-radius:16px;grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.extra-when{gap:2px;display:grid}.extra-when span{color:var(--fin-muted,#475569);font-size:.85rem}.extra-meta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.extra-topic{overflow-wrap:anywhere;font-size:.85rem}.extra-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.extra-actions button{min-height:44px}.extra-month-filter{gap:4px;max-width:280px;font-size:.85rem;font-weight:600;display:grid}.extra-month-filter input{border:1px solid var(--fin-line,#cbd5e1);border-radius:12px;min-height:44px;padding:0 10px;font-size:16px}.extra-report-wrap{max-width:100%;overflow-x:auto}.extra-report{border-collapse:collapse;width:100%;font-size:.9rem}.extra-report th,.extra-report td{border-bottom:1px solid var(--fin-divider,#e2e8f0);text-align:left;padding:8px 10px}@media (width<=1023px){.extra-card{grid-template-columns:minmax(0,1fr)}.extra-actions{justify-content:flex-start}}.course-progress-print{display:none}.course-progress-report-preview{overflow-x:auto}.course-progress-report-preview table,.course-progress-print table{border-collapse:collapse;width:100%}.course-progress-report-preview th,.course-progress-report-preview td,.course-progress-print th,.course-progress-print td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border:1px solid #bbb;padding:.55rem}@media print{body:has(>.course-progress-print)>:not(.course-progress-print){display:none!important}body>.course-progress-print{color:#000;background:#fff;font:11pt sans-serif;display:block}body:has(>.course-progress-print){margin:0;overflow:visible!important}.course-progress-print thead{display:table-header-group}.course-progress-print tr{break-inside:avoid}}.course-progress-report-preview table{min-width:640px}.course-progress-report-preview th{white-space:nowrap}.course-approval{background:#f8fffd;border:1px solid #ccfbf1;border-radius:1rem;min-width:0;margin:.75rem 0 1rem;padding:1rem}.course-approval-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.course-approval-head h2{color:#1e293b;margin:.15rem 0 0;font-size:1.05rem}.course-approval-head .badge[data-state=pending],.course-approval-head .badge[data-state=approved],.course-approval-head .badge[data-state=unlock_requested]{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.course-approval-meta{color:#475569;overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.9rem}.course-approval-levels{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.course-approval-levels li{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:baseline;gap:.25rem .75rem;padding:.5rem .75rem;display:grid}.course-approval-levels li[data-current]{border-color:var(--staff-primary,#0f766e)}.course-approval-levels li[data-state=approved] .course-approval-level-state{color:#15803d}.course-approval-levels li[data-state=rejected] .course-approval-level-state{color:#b91c1c}.course-approval-levels em{color:#475569;grid-column:1/-1}.course-approval-level-state{text-transform:capitalize;color:#92400e;font-size:.85rem}.course-approval-history{margin-top:.75rem;font-size:.9rem}.course-approval-history ol{margin:.5rem 0 0;padding-left:1.25rem}.course-approval-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.course-approval-hint{color:#64748b;margin:.5rem 0 0;font-size:.9rem}.course-approval textarea{box-sizing:border-box;width:100%;margin-top:.25rem;display:block}@media (width<=640px){.course-approval{padding:.75rem}.course-approval-levels li{grid-template-columns:minmax(0,1fr)}.course-approval-actions button{flex:100%}}.course-outcomes{min-width:0}.course-outcomes-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;margin:1rem 0 .5rem;display:flex}.course-outcomes-head h2{color:var(--staff-ink,#0f172a);margin:0;font-size:1.1rem}.course-outcomes-head p{color:var(--staff-muted,#64748b);margin:.15rem 0 0;font-size:.9rem}.course-outcomes-tools,.course-outcome-mapping-actions{flex-wrap:wrap;gap:.5rem;display:flex}.course-outcomes-note,.course-outcome-hint,.course-outcomes-empty{color:var(--staff-muted,#64748b);font-size:.9rem}.course-outcomes-error{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-outcomes-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.course-outcomes-list li{border:1px solid var(--staff-border,#e2e8f0);background:var(--staff-surface,#fff);border-radius:.9rem;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.course-outcomes-list li:not([data-own]){background:#f8fafc}.course-outcome-main{flex:18rem;min-width:0}.course-outcome-main p{overflow-wrap:anywhere;margin:.25rem 0}.course-outcome-code{color:var(--staff-primary,#0f766e)}.course-outcome-meta{color:var(--staff-muted,#64748b);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.85rem;display:flex}.course-outcome-actions{flex-wrap:wrap;align-self:center;gap:.35rem;display:flex}.course-outcome-actions button{min-width:2.75rem}.course-outcome-form{gap:.75rem;display:grid}.course-outcome-form label{gap:.25rem;display:grid}.course-outcome-form textarea,.course-outcome-form input,.course-outcome-form select,.course-outcome-form .ui-select-trigger{box-sizing:border-box;width:100%}.course-outcome-levels{border:1px solid var(--staff-border,#e2e8f0);border-radius:.75rem;flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:.5rem .75rem;display:flex}.course-outcome-levels label{align-items:center;gap:.35rem;display:inline-flex}.course-outcome-levels input{width:auto}.course-outcome-mapping{margin-top:1.25rem}.course-outcome-scale{overflow-wrap:anywhere}.course-outcome-grid-wrap{border:1px solid var(--staff-border,#e2e8f0);border-radius:.75rem;max-width:100%;margin:.5rem 0;overflow-x:auto}.course-outcome-grid{border-collapse:collapse;min-width:100%}.course-outcome-grid th,.course-outcome-grid td{border-bottom:1px solid var(--staff-border,#e2e8f0);text-align:center;white-space:nowrap;padding:.25rem}.course-outcome-grid thead th{background:var(--staff-tint,#f0fdfa);padding:.5rem .4rem;font-size:.85rem}.course-outcome-grid tbody th,.course-outcome-grid thead th:first-child{z-index:1;background:var(--staff-surface,#fff);text-align:left;padding:.25rem .6rem;position:sticky;left:0}.course-outcome-grid thead th:first-child{background:var(--staff-tint,#f0fdfa)}.course-outcome-grid input{text-align:center;box-sizing:border-box;width:2.5rem;height:2.5rem;padding:0;font-size:1rem;font-weight:600}.course-outcome-grid input:read-only{background:#f8fafc}.course-outcome-grid td[data-dirty] input{border-color:var(--staff-primary,#0f766e);background:var(--staff-tint,#f0fdfa)}@media (width<=640px){.course-outcomes-list li{padding:.75rem}.course-outcome-actions{width:100%}.course-outcome-actions button{flex:auto}.course-outcomes-tools,.course-outcome-mapping-actions{width:100%}.course-outcomes-tools button,.course-outcome-mapping-actions button{flex:auto}}.tpl-designer{gap:14px;min-width:0;display:grid}.tpl-section{border:1px solid var(--fin-soft-border,#e2e8f0);border-radius:var(--r-card,20px);background:var(--fin-tint,#f8fafc);gap:12px;min-width:0;padding:14px;display:grid}.tpl-section-head{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.tpl-items{gap:10px;display:grid}.tpl-item{border:1px solid var(--fin-soft-border,#e2e8f0);background:#fff;border-radius:16px;gap:10px;min-width:0;padding:12px;display:grid;position:relative}.tpl-item-child{background:#fcfdff;border-style:dashed;padding:10px}.tpl-item-invalid{border-color:#fca5a5;box-shadow:0 0 0 3px #f8717124}.tpl-item-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.tpl-item-number{background:var(--fin-primary,#4f46e5);color:#fff;border-radius:10px;place-items:center;min-width:32px;height:32px;padding:0 8px;font-size:.85rem;font-weight:700;display:inline-grid}.tpl-item-child .tpl-item-number{background:var(--fin-tint-2,#e0e7ff);color:var(--fin-primary-dark,#3730a3)}.tpl-item-title{min-width:0;color:var(--fin-ink,#0f172a);flex:140px;font-size:.95rem}.tpl-item-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tpl-fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px;min-width:0;display:grid}.tpl-field{min-width:0;color:var(--fin-muted,#475569);gap:4px;font-size:.8rem;font-weight:600;display:grid}.tpl-field>span{overflow-wrap:anywhere}.tpl-field input:not([type=checkbox]){box-sizing:border-box;border:1px solid var(--fin-line,#cbd5e1);width:100%;min-height:44px;color:var(--fin-ink,#0f172a);background:#fff;border-radius:12px;padding:8px 12px;font-size:16px}.tpl-field input:disabled{background:var(--fin-inset,#f1f5f9);color:var(--fin-caption,#64748b)}.tpl-field-marks{max-width:140px}.tpl-field-grow{flex:220px}.tpl-children{border-left:3px solid var(--fin-tint-border,#c7d2fe);gap:8px;padding-left:14px;display:grid}.tpl-or{justify-content:center;margin:-4px 0 2px;display:flex}.tpl-or span{color:#92400e;letter-spacing:.08em;background:#fef3c7;border-radius:999px;padding:2px 12px;font-size:.75rem;font-weight:800}.tpl-toggle{border:1px solid var(--fin-line,#cbd5e1);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 10px;font-size:.8rem;font-weight:700;display:inline-flex}.tpl-toggle input{width:18px;height:18px}.tpl-link{border:1px solid var(--fin-line,#cbd5e1);min-height:44px;color:var(--fin-primary-dark,#3730a3);cursor:pointer;background:#fff;border-radius:999px;padding:0 12px;font-size:.85rem;font-weight:600}.tpl-link:disabled{opacity:.45;cursor:default}.tpl-danger{color:#b91c1c}.tpl-add{border:1.5px dashed var(--fin-tint-border,#a5b4fc);min-height:48px;color:var(--fin-primary-dark,#3730a3);cursor:pointer;text-align:left;background:#fff;border-radius:14px;padding:0 16px;font-weight:700}.tpl-add-section{justify-self:start}.tpl-add:disabled{opacity:.5;cursor:default}.tpl-paper{border-radius:var(--r-card,20px);border:1px solid var(--fin-soft-border,#e2e8f0);min-width:0;box-shadow:var(--sh-card,0 18px 40px #0f172a0d);background:#fff;gap:10px;padding:18px;display:grid}.tpl-paper-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--fin-primary,#4f46e5);font-size:.72rem;font-weight:800}.tpl-paper h3{color:var(--fin-ink,#0f172a);overflow-wrap:anywhere;margin:0;font-size:1.15rem}.tpl-paper-sub-title{color:var(--fin-muted,#475569);margin:0}.tpl-paper-totals{flex-wrap:wrap;gap:8px;display:flex}.tpl-paper-totals>*{background:var(--fin-tint,#eef2ff);border-radius:999px;padding:4px 10px;font-size:.85rem}.tpl-paper-totals strong{background:var(--fin-primary,#4f46e5);color:#fff}.tpl-paper-section{border-top:1px dashed var(--fin-divider,#e2e8f0);gap:6px;padding-top:8px;display:grid}.tpl-paper-section h4{margin:0;font-size:1rem}.tpl-paper-rule,.tpl-paper-heading{color:var(--fin-muted,#475569);margin:0;font-size:.85rem;font-style:italic}.tpl-paper-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tpl-paper-q{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.tpl-paper-sub{padding-left:10px}.tpl-paper-no{color:var(--fin-ink,#0f172a);font-weight:700}.tpl-paper-body{gap:6px;min-width:0;display:grid}.tpl-paper-chips{flex-wrap:wrap;gap:4px;display:flex}.tpl-chip{background:var(--fin-tint-2,#e0e7ff);color:var(--fin-primary-dark,#3730a3);overflow-wrap:anywhere;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.tpl-chip-muted{background:var(--fin-inset,#f1f5f9);color:var(--fin-caption,#64748b)}.tpl-paper-marks{text-align:right;min-width:36px}.tpl-paper-or{letter-spacing:.08em;color:#92400e;justify-self:center;font-size:.75rem;font-weight:800}.tpl-workspace{gap:14px;min-width:0;display:grid}.tpl-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tpl-toolbar form{flex:240px;gap:8px;min-width:0;display:flex}.tpl-toolbar input[type=search]{border:1px solid var(--fin-line,#cbd5e1);border-radius:999px;flex:1;min-width:0;min-height:44px;padding:0 12px;font-size:16px}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.tpl-card{text-align:left;cursor:pointer;border:1px solid var(--fin-soft-border,#e2e8f0);border-radius:var(--r-card,20px);min-width:0;box-shadow:var(--sh-card,0 12px 30px #0f172a0d);color:inherit;font:inherit;background:#fff;gap:8px;padding:16px;display:grid}.tpl-card:hover,.tpl-card:focus-visible{border-color:var(--fin-tint-border,#a5b4fc)}.tpl-card h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.tpl-card-chips{flex-wrap:wrap;gap:6px;display:flex}.tpl-card-meta{color:var(--fin-muted,#475569);flex-wrap:wrap;gap:6px 12px;font-size:.85rem;display:flex}.tpl-editor{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.tpl-editor-side{gap:12px;min-width:0;display:grid;position:sticky;top:0}.tpl-meta-fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px;display:grid}.tpl-checks{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.tpl-checks legend{color:var(--fin-muted,#475569);margin-bottom:6px;font-size:.8rem;font-weight:600}.tpl-check{border:1px solid var(--fin-line,#cbd5e1);background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:.85rem;display:inline-flex}.tpl-check input{width:18px;height:18px}.tpl-switch{display:none}.tpl-problem{color:#9a3412;background:#fff7ed;border-radius:12px;margin:0;padding:10px 12px;font-size:.9rem}.tpl-ok{color:#065f46;background:#ecfdf5;border-radius:12px;margin:0;padding:10px 12px;font-size:.9rem}.tpl-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tpl-notice{background:var(--fin-tint,#eef2ff);color:var(--fin-primary-dark,#3730a3);border-radius:12px;margin:0;padding:10px 12px;font-size:.9rem}@media (width<=1023px){.tpl-editor{grid-template-columns:minmax(0,1fr)}.tpl-editor-side{position:static}}@media (width<=640px){.tpl-section,.tpl-item{padding:10px}.tpl-children{padding-left:8px}.tpl-field-marks{max-width:none}.tpl-fields{grid-template-columns:minmax(0,1fr)}.tpl-switch{z-index:2;background:inherit;gap:8px;padding:6px 0;display:flex;position:sticky;top:0}.tpl-switch button{border-radius:999px;flex:1;min-height:44px}.tpl-switch button[aria-pressed=true]{background:var(--fin-primary,#4f46e5);color:#fff;border-color:#0000}.tpl-editor[data-panel=edit] .tpl-editor-preview,.tpl-editor[data-panel=preview] .tpl-editor-main{display:none}}.obe-att-muted{color:var(--fin-muted,#64748b);font-weight:400}.obe-att-action{min-width:44px;min-height:44px}.obe-att-status{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;font-size:.88rem;display:flex}.obe-att-table tfoot th{text-align:left;font-weight:600}.obe-att-form{gap:1rem;min-width:0;display:grid}.obe-att-form p{margin:0}.obe-att-weights,.obe-att-row{border:1px solid var(--fin-line,#e2e8f0);border-radius:.75rem;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.6rem .75rem;min-width:0;margin:0;padding:.75rem;display:grid}.obe-att-weights legend,.obe-att-row legend{color:var(--fin-ink,#0f172a);padding:0 .3rem;font-weight:600}.obe-att-rows{gap:.75rem;display:grid}.obe-att-field{color:var(--fin-muted,#64748b);gap:.3rem;min-width:0;font-size:.88rem;display:grid}.obe-att-field input{box-sizing:border-box;border:1px solid var(--fin-line,#cbd5e1);background:var(--fin-surface,#fff);width:100%;max-width:100%;min-height:44px;color:var(--fin-ink,#0f172a);border-radius:.6rem;padding:.45rem .6rem;font-size:16px}.obe-att-checks{flex-wrap:wrap;grid-column:1/-1;gap:.25rem 1rem;display:flex}.obe-att-check{min-height:44px;color:var(--fin-ink,#0f172a);align-items:center;gap:.5rem;font-size:.95rem;display:inline-flex}.obe-att-check input{width:1.25rem;height:1.25rem}.obe-att-error{color:var(--fin-danger,#b91c1c);font-weight:600}.im-workspace{gap:1rem;min-width:0;display:grid}.im-stats{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.im-note{border:1px solid var(--fin-soft-border,#e2e8f0);background:var(--fin-tint,#f1f5f9);color:var(--fin-ink,#0f172a);overflow-wrap:anywhere;border-radius:.8rem;margin:0;padding:.7rem .9rem;font-size:.92rem}.im-note.warning{color:#7a4b00;background:#fff8e6;border-color:#f5d08a}.im-note.danger{color:#8f1d1d;background:#fff1f1;border-color:#f3b4b4}.im-muted{color:var(--fin-muted,#64748b);font-size:.88rem}.im-params{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.im-param{border:1px solid var(--fin-line,#e2e8f0);background:var(--fin-surface,#fff);border-radius:.9rem;min-width:0;padding:.75rem .9rem}.im-param-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.im-param-head strong{overflow-wrap:anywhere}.im-weight{font-variant-numeric:tabular-nums;color:var(--fin-primary,#0f766e);font-weight:600}.im-chips{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.im-chip{background:var(--fin-tint,#f1f5f9);color:var(--fin-ink,#0f172a);overflow-wrap:anywhere;border-radius:999px;padding:.2rem .6rem;font-size:.82rem}.im-chip.missing{color:#8f1d1d;background:#fff1f1;text-decoration:line-through}.im-actions,.im-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.im-toolbar{justify-content:space-between;margin-bottom:.75rem}.im-toolbar input[type=search]{flex:14rem;min-width:0}.im-workspace button,.im-setup button,.im-toolbar input,.im-field input{min-height:44px}.im-workspace input,.im-setup input,.im-field input{box-sizing:border-box;border:1px solid var(--fin-line,#cbd5e1);background:var(--fin-surface,#fff);max-width:100%;color:var(--fin-ink,#0f172a);border-radius:.6rem;padding:.45rem .6rem;font-size:16px}.im-workspace input[type=checkbox],.im-workspace input[type=radio],.im-setup input[type=checkbox],.im-formats input{width:1.2rem;height:1.2rem;min-height:0;padding:0}.im-table-wrap{border:1px solid var(--fin-line,#e2e8f0);background:var(--fin-surface,#fff);border-radius:.9rem;max-width:100%;overflow-x:auto}.im-table{border-collapse:collapse;width:100%;font-size:.92rem}.im-table th,.im-table td{border-bottom:1px solid var(--fin-divider,#eef2f7);text-align:left;vertical-align:middle;padding:.5rem .6rem}.im-table thead th{background:var(--fin-tint,#f8fafc);color:var(--fin-muted,#64748b);white-space:nowrap;font-size:.82rem;font-weight:600;position:sticky;top:0}.im-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.im-table .num input{text-align:right;width:5.5rem}.im-table .total{color:var(--fin-primary,#0f766e);font-weight:700}.im-table .changed{background:#fff8e6}.im-table tbody tr:last-child td{border-bottom:0}.im-cards{gap:.6rem;margin:0;padding:0;list-style:none;display:none}.im-card{border:1px solid var(--fin-line,#e2e8f0);background:var(--fin-surface,#fff);border-radius:.9rem;min-width:0;padding:.8rem .9rem}.im-card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.im-card-head>div{overflow-wrap:anywhere;min-width:0}.im-card-total{color:var(--fin-primary,#0f766e);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.25rem;font-weight:700}.im-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .75rem;margin:.6rem 0 0;display:grid}.im-card-grid>div{min-width:0}.im-card-grid dt{color:var(--fin-muted,#64748b);overflow-wrap:anywhere;font-size:.8rem}.im-card-grid dd{font-variant-numeric:tabular-nums;margin:0}.im-card-grid input{width:100%}.im-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;margin-top:.6rem;display:flex}.im-events{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.im-events li{border-left:3px solid var(--fin-primary,#0f766e);background:var(--fin-tint,#f8fafc);overflow-wrap:anywhere;border-radius:0 .6rem .6rem 0;gap:.15rem;padding:.55rem .75rem;display:grid}.im-events p{margin:0}.im-field{color:var(--fin-muted,#64748b);flex:12rem;gap:.3rem;min-width:0;font-size:.88rem;display:grid}.im-field.narrow{flex:0 8rem}.im-formats{border:0;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;display:flex}.im-formats label{border:1px solid var(--fin-line,#e2e8f0);border-radius:.7rem;align-items:center;gap:.45rem;min-height:44px;padding:0 .8rem;display:inline-flex}.im-setup{gap:.9rem;min-width:0;display:grid}.im-setup-param{border:1px solid var(--fin-line,#e2e8f0);border-radius:.9rem;gap:.7rem;min-width:0;margin:0;padding:.8rem .9rem;display:grid}.im-setup-param legend{color:var(--fin-ink,#0f172a);padding:0 .3rem;font-weight:600}.im-setup-row,.im-setup-ranks{flex-wrap:wrap;gap:.6rem;display:flex}.im-setup-items{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.4rem;display:grid}.im-setup-item{border:1px solid var(--fin-line,#e2e8f0);border-radius:.7rem;align-items:center;gap:.5rem;min-width:0;padding:.35rem .6rem;display:flex}.im-setup-item.on{border-color:var(--fin-primary,#0f766e);background:var(--fin-tint,#f0fdfa)}.im-setup-item label{overflow-wrap:anywhere;flex:auto;align-items:center;gap:.5rem;min-width:0;min-height:44px;display:flex}.im-setup-item input:not([type=checkbox]){flex:none;width:5rem}.im-remove{color:#8f1d1d;justify-self:start}.im-unlock{gap:.75rem;display:grid}.im-unlock h3{margin:0 0 .35rem;font-size:.98rem}.im-unlock p{margin:0}.im-unlock-request{border:1px solid var(--fin-line,#e2e8f0);border-radius:.8rem;padding:.7rem .9rem}.im-route{gap:.25rem;margin:0;padding-left:1.2rem;display:grid}@media (width<=720px){.im-table-wrap{display:none}.im-cards{display:grid}.im-field,.im-field.narrow{flex:100%}.im-setup-items{grid-template-columns:minmax(0,1fr)}.im-actions>button{flex:auto}}.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-radius:14px;align-items:center;gap:8px;padding:0 12px;font-size:13.5px;font-weight:700;display:inline-flex;position:relative}.att-date-pick input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.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}.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:178px;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-within{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:4px;min-width:0;padding: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;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:174px;width:calc(100vw - 56px);min-width:220px;max-width:300px;padding: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}}.finance-app.staff-ui.advisor-class .advisor-facts{margin:0}.finance-app.staff-ui .advisor-facts div{border-color:var(--fin-line);background:var(--fin-inset);border-radius:14px}.finance-app.staff-ui .advisor-facts dt{color:var(--fin-muted)}.finance-app.staff-ui .advisor-facts dd{color:var(--fin-ink)}.finance-app.staff-ui .advisor-filters{margin:0 0 4px}.finance-app.staff-ui .advisor-check,.finance-app.staff-ui .advisor-below{min-height:44px;color:var(--fin-body)}.finance-app.staff-ui .advisor-check input{width:20px;height:20px}.finance-app.staff-ui .advisor-below input{border:1px solid var(--fin-line);border-radius:var(--r-control,12px);width:84px;min-height:44px;padding:8px 10px;font-size:16px}.finance-app.staff-ui .advisor-table{-webkit-overflow-scrolling:touch;border:1px solid var(--fin-line);border-radius:16px;max-width:100%;overflow-x:auto}.finance-app.staff-ui .advisor-table table{border-collapse:collapse;width:100%;font-size:13px}.finance-app.staff-ui .advisor-table :is(th,td){border-bottom:1px solid var(--fin-divider);text-align:left;vertical-align:top;padding:10px 12px}.finance-app.staff-ui .advisor-table th{background:var(--fin-inset);color:var(--fin-row);white-space:nowrap;font-weight:700;position:sticky;top:0}.finance-app.staff-ui .advisor-table td small{color:var(--fin-muted);font-size:11px;display:block}.finance-app.staff-ui .advisor-table tbody tr:last-child td{border-bottom:0}.advisor-muted{color:var(--fin-muted);font-size:12px}.finance-app.staff-ui .advisor-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.advisor-tools{gap:14px;display:grid}.advisor-tool-group .staff-ui-choice-grid{margin-top:2px}.staff-portal .finance-app.staff-ui .advisor-tool{text-align:left;align-items:flex-start;gap:12px;min-height:72px;display:flex}.finance-app.staff-ui .advisor-tool.is-unavailable{cursor:default;opacity:.78;background:var(--fin-inset);box-shadow:none;transform:none}.finance-app.staff-ui .advisor-tool.is-unavailable:hover{border-color:var(--fin-soft-border);box-shadow:none;transform:none}.advisor-tool-icon{background:var(--fin-tint);width:40px;height:40px;color:var(--fin-primary);border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.advisor-tool-icon svg{width:20px;height:20px}.advisor-tool.is-unavailable .advisor-tool-icon{background:var(--fin-divider);color:var(--fin-caption)}.advisor-tool-copy{justify-items:start;gap:4px;min-width:0;display:grid}.advisor-roll-list{border:1px solid var(--fin-line);border-radius:16px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.finance-app.staff-ui .advisor-roll-list>li{border-bottom:1px solid var(--fin-divider);background:var(--fin-surface);align-items:center;gap:12px;min-width:0;padding:8px 12px;display:flex}.finance-app.staff-ui .advisor-roll-list>li:last-child{border-bottom:0}.finance-app.staff-ui .advisor-roll-list>li.is-duplicate{background:#fef2f2}.advisor-roll-input input{font-variant-numeric:tabular-nums;text-align:center;border:1px solid var(--fin-line);background:#fff;border-radius:12px;width:88px;min-height:44px;padding:8px 10px;font-size:16px}.advisor-roll-input input:focus{border-color:var(--fin-primary-light);outline:none;box-shadow:0 0 0 3px #14b8a626}.advisor-roll-input input[aria-invalid=true]{border-color:#f87171}.advisor-roll-input input:disabled{background:var(--fin-inset);color:var(--fin-row)}.advisor-roll-name{flex:auto;gap:2px;min-width:0;display:grid}.advisor-roll-name strong{color:var(--fin-ink);overflow-wrap:anywhere;font-size:14px;font-weight:600}.advisor-roll-name small{color:var(--fin-muted);overflow-wrap:anywhere;font-size:12px}@media (width<=640px){.advisor-desktop-only{display:none}}.advisor-day-group{gap:8px;display:grid}.finance-app.staff-ui .advisor-subhead{letter-spacing:.06em;text-transform:uppercase;color:var(--fin-muted);margin:4px 0 0;font-size:12px;font-weight:800}.advisor-day-list,.advisor-letter-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.finance-app.staff-ui :is(.advisor-day-list,.advisor-letter-list)>li{border:1px solid var(--fin-line);background:var(--fin-surface);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 14px;padding:12px 14px;display:flex}.advisor-day-copy{flex:240px;gap:3px;min-width:0;display:grid}.advisor-day-copy strong{color:var(--fin-ink);font-size:14px}.advisor-day-copy span,.advisor-day-copy small{color:var(--fin-muted);overflow-wrap:anywhere;font-size:12px}.finance-app.staff-ui .advisor-letter-reason{color:var(--fin-row);overflow-wrap:anywhere;font-size:13px}.finance-app.staff-ui :is(.advisor-day-list,.advisor-letter-list) .staff-ui-row-actions{flex:0 auto;justify-content:flex-end;align-items:center}.finance-app.staff-ui button.primary.advisor-danger{background:#b91c1c;border-color:#b91c1c}.hod-department .finance-form-grid,.hod-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.hod-toolbar>.finance-field{flex:240px;max-width:420px}.hod-class-card{gap:8px;display:grid}.finance-app.staff-ui .hod-kpis{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.finance-app.staff-ui .hod-kpis li{background:var(--fin-inset);color:var(--fin-muted);border-radius:12px;gap:2px;padding:8px 10px;font-size:12px;display:grid}.finance-app.staff-ui .hod-kpis strong{color:var(--fin-ink);font-variant-numeric:tabular-nums;font-size:15px}.finance-app.staff-ui .hod-load-bar{background:var(--fin-divider);border-radius:999px;height:8px;overflow:hidden}.finance-app.staff-ui .hod-load-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--fin-primary-light), var(--fin-primary));height:100%;display:block}.finance-app.staff-ui .hod-course-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.finance-app.staff-ui .hod-course-list li{color:var(--fin-row);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:13px;display:flex}.finance-app.staff-ui .hod-course-list li small{color:var(--fin-muted)}.finance-app.staff-ui .hod-course-list li.is-unallocated{color:#92400e}.staff-portal.staff-authenticated :is(.advisor-form,.hod-toolbar) .finance-field :is(input:not([type=checkbox]):not([type=radio]),textarea),:is(.advisor-form,.hod-toolbar) .finance-field :is(input,textarea){font-size:16px}.finance-app.staff-ui .advisor-roll-list .advisor-roll-input{flex:0 0 88px;width:88px}.staff-portal.staff-authenticated .finance-app .advisor-roll-list .advisor-roll-input input{width:88px;max-width:88px;font-size:16px}@media (width<=640px){.finance-app.staff-ui .advisor-roll-list{margin-bottom:calc(96px + env(safe-area-inset-bottom))}.finance-app.staff-ui .advisor-roll-list>li{flex-wrap:wrap}.finance-app.staff-ui .advisor-roll-list>li .finance-status{margin-left:100px}}.advisor-select-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.finance-app.staff-ui .advisor-letter-list>li.is-picked{border-color:var(--fin-primary-light);background:var(--fin-tint)}.advisor-pick{flex:0 0 44px;place-items:center;min-height:44px;display:grid}.advisor-pick input{width:20px;height:20px}.advisor-hours{border:0;flex-wrap:wrap;grid-column:1/-1;gap:8px;min-width:0;margin:0;padding:0;display:flex}.advisor-hours legend{color:var(--fin-muted);margin-bottom:6px;font-size:11px;font-weight:700}.advisor-hours label{border:1px solid var(--fin-line);cursor:pointer;background:#fff;border-radius:12px;place-items:center;min-width:44px;min-height:44px;font-weight:700;display:inline-grid}.advisor-hours label.is-on{border-color:var(--fin-primary);background:var(--fin-tint);color:var(--fin-primary-dark)}.advisor-hours input{opacity:0;pointer-events:none;position:absolute}.advisor-result-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.advisor-result-list li{color:var(--fin-row);gap:4px;font-size:13px;display:grid}.staff-ui-callout+.advisor-result-list{margin-top:12px}.advisor-check-list{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.finance-app .staff-ui-choice.is-picked{border-color:var(--fin-primary-light);background:var(--fin-tint)}.advisor-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:480px;display:grid}.advisor-suspend-day{border-top:1px solid var(--fin-divider);gap:8px;padding-top:8px;display:grid}.advisor-suspend-day:first-of-type{border-top:0}.advisor-range.advisor-range-single{grid-template-columns:minmax(0,1fr)}.advisor-remark .finance-files,.advisor-remark .staff-files{margin-top:8px}.advisor-promote{gap:12px;display:grid}.advisor-promote-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.advisor-promote-steps>div{border:1px solid var(--fin-line);border-radius:12px;min-width:0;padding:10px 12px}.advisor-promote-steps dt{color:var(--fin-muted);font-size:11px;font-weight:700}.advisor-promote-steps dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:700}.advisor-muted{color:var(--fin-muted);margin:4px 0 12px}@media (width<=480px){.advisor-promote-steps{grid-template-columns:1fr}}.staff-dashboard-view{gap:16px;font-family:Roboto,sans-serif}.staff-dashboard-view .staff-profile-card{background:linear-gradient(115deg,#102a56,#1d4ed8);border-radius:20px;padding:16px;box-shadow:0 4px 12px #00000008}.staff-dashboard-view .staff-profile-copy h1{font-size:18px;font-weight:700}.staff-dashboard-view .staff-profile-copy p{font-size:12px}.staff-dashboard-view .staff-timetable{border:1px solid #e8ebf0;margin:0;box-shadow:0 4px 12px #00000008}.staff-dashboard-view .staff-ts-header h2{color:#334155;font-size:16px}.staff-dashboard-view .staff-ts-card{background:color-mix(in srgb,var(--staff-period-accent) 7%,white);width:260px;box-shadow:inset 4px 0 0 var(--staff-period-accent),0 2px 10px #0000000d;border:0;border-radius:16px;gap:4px;padding:14px}.staff-dashboard-view .staff-ts-card h3{color:#020617;font-size:13px;font-weight:700;line-height:1.4}.staff-dashboard-view .staff-ts-code{font-size:11px}.staff-dashboard-view .staff-ts-batch{font-size:12px}.staff-dashboard-view .staff-attendance-counts{margin-top:4px}.staff-dashboard-view .staff-attendance-counts button{min-height:28px;padding:3px 7px}.staff-dashboard-view .staff-attendance-counts strong{font-size:13px}.staff-period-more summary{cursor:pointer;color:#1d4ed8;padding:4px 0;font-size:11px;font-weight:500}.staff-period-more[open] .staff-period-actions{padding:8px 0}.staff-dashboard-view .staff-ts-card .staff-period-request-link{min-height:26px;margin:0;padding:3px 6px}.staff-dashboard-view .staff-app-groups button{text-transform:uppercase;letter-spacing:.06em;padding:9px 16px;font-size:10px}.staff-dashboard-view .staff-app-groups button[aria-selected=true]{box-shadow:none;background:#1d4ed8;border-color:#1d4ed8}.staff-dashboard-view .staff-feature-tile{box-shadow:none;border:0;border-radius:16px;min-height:110px}.staff-dashboard-view .staff-feature-icon{background:0 0}.staff-dashboard-view .staff-feature-text strong{font-size:12px;font-weight:500}.staff-dashboard-view .staff-feature-text small{display:none}.staff-category-empty{color:#64748b;text-align:center;background:#fff;border-radius:16px;padding:24px;font-size:13px}.staff-classes-view .class-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow:visible;gap:20px!important;display:grid!important}.staff-classes-view .staff-batch-card{background:#fff;border:1px solid #e8ecf1;border-radius:16px;padding:20px;box-shadow:0 4px 20px #2563eb06}.staff-classes-view .staff-subject-chip{background:#f8fafc;border:1px solid #eef2f6;border-radius:12px;padding:14px}.staff-classes-view .staff-batch-heading h2{color:#1e293b;font-size:16px}.staff-back-home{color:#1d4ed8;background:0 0;border:0;justify-self:start}@media (width<=640px){.staff-dashboard-view .staff-ts-header h2{font-size:13px}.staff-dashboard-view .staff-ts-card{width:calc(100vw - 56px);min-width:220px;max-width:300px;padding:12px}.staff-dashboard-view .staff-apps .staff-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.staff-dashboard-view .staff-apps .staff-feature-tile{min-height:100px;padding:10px 4px}.staff-dashboard-view .staff-profile-stats{display:none}.staff-dashboard-view .staff-profile-card{grid-template-columns:auto 1fr}.staff-classes-view .class-grid{grid-template-columns:1fr}}.staff-dashboard-view .staff-ts-card.staff-card-compact,.staff-dashboard-view .staff-ts-card.staff-free-period{box-sizing:border-box;gap:4px;height:132px;min-height:132px;padding:12px}.staff-dashboard-view .staff-card-compact .staff-ts-card-top{flex-wrap:nowrap;min-height:18px}.staff-dashboard-view .staff-card-compact .staff-ts-type{text-overflow:ellipsis;white-space:nowrap;color:#64748b;min-width:0;font-size:9px;overflow:hidden}.staff-dashboard-view .staff-card-compact .staff-period-eye:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.staff-dashboard-view .staff-card-compact .staff-card-status{flex-shrink:0;font-size:9px}.staff-dashboard-view .staff-card-compact h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.staff-dashboard-view .staff-card-compact .staff-ts-batch{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.staff-dashboard-view .staff-card-compact .staff-attendance-counts{flex-wrap:nowrap;align-items:center;gap:6px;margin-top:0;display:flex}.staff-student-total{white-space:nowrap;color:#64748b;align-items:center;gap:4px;font-size:10px;display:inline-flex}.staff-dashboard-view .staff-card-compact .staff-attendance-counts button{white-space:nowrap;background:0 0;border:0;flex:none;justify-content:flex-start;align-items:center;gap:4px;min-height:28px;padding:0;font-size:10px;display:inline-flex}.staff-dashboard-view .staff-card-compact .staff-attendance-counts strong{font-size:11px}.staff-dashboard-view .staff-card-compact .staff-attendance-counts .staff-period-eye{color:#0f766e;width:24px;box-shadow:none;background:0 0;border-radius:0;justify-content:center;margin-left:auto}.staff-dashboard-view .staff-ts-card.staff-card-compact{box-shadow:inset 4px 0 0 var(--staff-period-accent,#e2e8f0),0 2px 10px #0000000d}.staff-dashboard-view .staff-ts-card.staff-period-missing{background:#fff1f2;box-shadow:inset 4px 0 #fb7185,0 2px 10px #0000000d}.staff-dashboard-view .staff-ts-card.staff-period-recorded{background:#f0fdf4}.staff-dashboard-view .staff-ts-card.staff-period-future,.staff-dashboard-view .staff-ts-card.staff-period-neutral{background:#fff}.staff-dashboard-view .staff-ts-card.staff-free-period{background:#f0fdfa;box-shadow:inset 4px 0 #2dd4bf,0 2px 10px #0000000d}.staff-topic-preview{color:#0f172a;align-items:center;gap:6px;min-width:0;font-size:11px;line-height:1.5;display:flex}.staff-topic-preview>span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.staff-dashboard-view .staff-topic-preview button{color:#0f766e;background:0 0;border:0;flex-shrink:0;min-height:20px;padding:0 2px;font-size:11px;font-weight:700}.staff-dashboard-view .staff-free-period>svg{width:20px;height:20px;margin-top:4px}dialog[aria-label="Teaching period details"]{color:#0f172a;background:linear-gradient(#fff,#fbfffe);border:1px solid #e2e8e6e6;border-radius:24px;width:min(720px,94vw);max-height:min(90dvh,820px);padding:18px;box-shadow:0 30px 70px #0f172a33}dialog[aria-label="Teaching period details"]::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a57}dialog[aria-label="Teaching period details"] header{background:#f8fafc;border-bottom:1px solid #e2e8f0;gap:16px;margin:-18px -18px 12px;padding:16px 20px}dialog[aria-label="Teaching period details"] header h2{letter-spacing:-.01em;font-size:16px;font-weight:700}dialog[aria-label="Teaching period details"] header button{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;font-size:12px}dialog[aria-label="Teaching period details"] .staff-period-tabs{flex-wrap:wrap;gap:6px}dialog[aria-label="Teaching period details"] .staff-period-tabs button{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;font-size:12px}dialog[aria-label="Teaching period details"] .staff-period-tabs button[aria-pressed=true]{color:#fff;background:#0f766e;border-color:#0f766e}.staff-modal-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.staff-modal-actions button{color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;font-size:12px}.staff-portal:has(.staff-dashboard-view){--staff-blue-700:#0f766e;--staff-blue-50:#f0fdfa;background:#fff}.staff-dashboard-view,.staff-dashboard-view .staff-timetable{background:#fff}body:has(.staff-dashboard-view){background:#fff}.staff-dashboard-view .staff-ts-periods{align-items:stretch}.staff-dashboard-view .staff-free-period{color:#64748b;background:#fff;gap:4px}.staff-dashboard-view .staff-free-period .staff-ts-hour{color:#fff;background:#14b8a6}.staff-dashboard-view .staff-free-period>svg{margin-top:16px}.staff-dashboard-view .staff-free-period p{color:#64748b;font-size:12px}.staff-dashboard-view .staff-card-topics{color:#0f766e;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:5px;min-height:24px;padding:2px 0;font-size:11px;display:flex}body:has(.staff-dashboard-view) .dev-banner{display:none}.staff-portal:not(.menu-open):has(.staff-dashboard-view)>.workspace-header{display:none}.staff-dashboard-view .staff-profile-card{grid-template-columns:auto 1fr auto}.staff-profile-menu{z-index:1;color:#fff;background:#ffffff14;border:0;border-radius:12px;place-items:center;margin-left:auto;padding:8px;display:grid;position:relative}.staff-portal:has(.staff-dashboard-view) .workspace-content{max-width:1100px;padding:14px 14px 100px}.staff-dashboard-view{color:#1a1a2e;gap:14px}.staff-dashboard-view .staff-profile-card{background:radial-gradient(circle at 0 0,#7dd3fc47,#0000 32%),radial-gradient(circle at 100% 100%,#14b8a633,#0000 34%),linear-gradient(135deg,#08111f 0%,#0f2f37 45%,#135e63 100%);border:8px solid #fff;border-radius:24px;margin:0;padding:14px 16px;position:relative;box-shadow:0 12px 30px #0f172a14}.staff-dashboard-view .staff-profile-copy h1{color:#fff;text-transform:uppercase;font-size:20px;font-weight:800;line-height:1.02}.staff-dashboard-view .staff-profile-copy p{color:#f0fdfae6;margin-top:6px;font-size:12px;font-weight:700}.staff-dashboard-view .staff-profile-avatar{background:linear-gradient(135deg,#0f766e,#14b8a6 55%,#38bdf8);border-radius:16px;width:48px;height:48px}.staff-dashboard-view .staff-profile-stats{display:none}.staff-dashboard-view .staff-timetable{box-shadow:none;background:#fff;border:0;border-radius:16px}.staff-dashboard-view .staff-ts-header{padding:4px 2px 12px}.staff-dashboard-view .staff-ts-header h2{font-size:13px;font-weight:700}.staff-dashboard-view .staff-ts-header p{font-size:11px}.staff-dashboard-view .staff-ts-controls button{color:#0f766e;background:0 0;border:0;min-height:30px;padding:4px 6px}.staff-dashboard-view .staff-ts-dates{gap:6px}.staff-dashboard-view .staff-ts-pill{box-shadow:none;background:0 0;border:0;border-radius:12px;width:42px;min-width:42px;padding:8px 4px}.staff-dashboard-view .staff-ts-pill[aria-pressed=true]{background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 4px 12px #14b8a633}.staff-dashboard-view .staff-ts-pill strong{font-size:14px}.staff-dashboard-view .staff-ts-pill small{font-size:9px}.staff-dashboard-view .staff-ts-periods{gap:12px;padding:6px 2px 14px}.staff-dashboard-view .staff-ts-card{background:#ecf5f0;box-shadow:inset 3px 0 #34a879,0 2px 10px #0000000d}.staff-dashboard-view .staff-ts-hour{background:#14b8a6}.staff-dashboard-view .staff-class-link,.staff-dashboard-view .staff-period-more summary{color:#0f766e}.staff-dashboard-view .staff-period-request-link{color:#0f766e;background:#f0fdfa;border-color:#ccfbf1}.staff-dashboard-view .staff-ts-footer{border:0;padding:0}.staff-dashboard-view .staff-ts-view button{color:#64748b;background:0 0;min-height:30px;padding:6px}.staff-dashboard-view .staff-ts-view button[aria-pressed=true]{color:#0f766e;background:#fff}.staff-dashboard-view .staff-app-groups{gap:10px;padding:4px 2px 10px}.staff-dashboard-view .staff-app-groups button{color:#5f7287;letter-spacing:.08em;background:#fffffff5;border:1px solid #cbd5e1cc;border-radius:999px;padding:10px 18px;font-size:11px;font-weight:800;box-shadow:0 10px 24px #94a3b81f}.staff-dashboard-view .staff-app-groups button[aria-selected=true]{background:linear-gradient(135deg,#0f766e,#14b8a6);border-color:#0000;box-shadow:0 18px 34px #14b8a63d}.staff-dashboard-view .staff-apps .staff-feature-tile{border-radius:16px;gap:10px;min-height:110px;padding:20px 8px}.staff-dashboard-view .staff-apps .staff-feature-icon{width:44px;height:44px;box-shadow:none;background:0 0;border:0}.staff-dashboard-view .staff-feature-icon svg{width:28px;height:28px}.staff-dashboard-view .staff-feature-text strong{font-size:12px;font-weight:500;line-height:1.3}.staff-dashboard-view .tone-emerald,.staff-dashboard-view .tone-green{color:#0f766e;background:#0f766e12}.staff-dashboard-view .tone-blue{color:#3b82f6;background:#3b82f612}.staff-dashboard-view .tone-rose{color:#ec4899;background:#ec489912}.staff-dashboard-view .tone-violet,.staff-dashboard-view .tone-indigo{color:#8b5cf6;background:#8b5cf612}.staff-dashboard-view .tone-amber{color:#f59e0b;background:#f59e0b12}.staff-dashboard-view .tone-cyan{color:#14b8a6;background:#14b8a612}.staff-dc{background:#fff;border-radius:22px;gap:16px;padding:18px;display:grid;box-shadow:0 12px 30px #0f172a08}.staff-dc header{justify-content:space-between;align-items:center;display:flex}.staff-dc header span{color:#0f766e;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.staff-dc h2{color:#0f172a;margin:4px 0 0;font-size:19px}.staff-dc-nav{gap:6px;display:flex}.staff-dc-nav button{color:#334155;background:#f8fafc;border:0;border-radius:12px;width:34px;height:34px}.staff-dc-weekdays,.staff-dc-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.staff-dc-weekdays span{text-align:center;color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:800}.staff-dc-grid button{color:#0f172a;background:#f8fafc;border:0;border-radius:14px;min-height:48px;padding:6px 4px;font-size:13px;font-weight:700}.staff-dashboard-view .staff-dc-grid button[aria-pressed=true]{color:#0f766e;background:#f0fdfa;outline:2px solid #0f766e}.staff-dashboard-view .staff-ts-card .staff-class-link{min-height:24px;margin-top:0;padding:3px 0}.staff-dashboard-view .staff-attendance-counts button{min-height:24px}.staff-dc-grid button:disabled{opacity:.35}.staff-dc p{color:#64748b;margin:0;font-size:12px}.staff-dashboard-view .staff-ts-dates{justify-content:space-between;min-width:0;padding:8px 4px 12px}.staff-dashboard-view .staff-ts-pill{background:#f8fafc;border:2px solid #0000;border-radius:14px;flex:0 0 48px;gap:2px;width:48px;padding:8px 4px}.staff-dashboard-view .staff-ts-pill[aria-pressed=true]{box-shadow:none;background:#14b8a6;border-color:#14b8a6}.staff-dashboard-view .staff-ts-pill span{text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.staff-dashboard-view .staff-ts-pill strong{font-size:16px;line-height:1.2}.staff-dashboard-view .staff-ts-card{gap:4px;width:260px;max-width:none;padding:14px}.staff-card-status{color:#64748b;margin-left:auto;font-size:10px}.staff-card-status.recorded{color:#16a34a}.staff-card-details{margin-top:3px}.staff-card-details>summary{cursor:pointer;color:#0f766e;text-align:right;padding:4px 0;font-size:11px;font-weight:600;list-style:none}.staff-card-details>summary::-webkit-details-marker{display:none}.staff-card-details[open]>summary{margin-bottom:8px}.staff-dashboard-view .staff-ts-card h3{margin:0}.staff-dc-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.staff-dc-summary>div{background:#f8fafc;border-radius:16px;flex-direction:column;gap:4px;padding:12px;display:flex}.staff-dc-summary span,.staff-dc-detail-head span{color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.staff-dc-summary strong{color:#0f172a;font-size:18px}.staff-dc-grid button{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;display:flex}.staff-dc-grid button small{color:var(--calendar-accent,#475569);font-size:10px;font-weight:800}.staff-dc-dot{background:var(--calendar-accent,#475569);border-radius:999px;width:6px;height:6px}.staff-dashboard-view .staff-dc-grid button[aria-pressed=true]{outline-color:var(--calendar-accent,#0f766e)}.staff-dc-detail{background:#f8fafc;border-radius:18px;gap:10px;padding:14px;display:grid}.staff-dc-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.staff-dc-detail-head h3{color:#0f172a;margin:4px 0 0;font-size:17px}.staff-dc-detail-head b{color:#0f766e;background:#ccfbf1;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.staff-dc-detail article{border-left:4px solid var(--calendar-accent,#0f766e);background:#fff;border-radius:16px;gap:8px;padding:12px 14px;display:grid}.staff-dc-detail article>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-dc-detail article span{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800;display:inline-flex}.staff-dc-detail article strong{color:#0f172a;font-size:14px}.staff-dc-detail article p{color:#475569;font-size:12px;line-height:1.55}.staff-dc .staff-dc-view{color:#0f766e;background:0 0;border:0;justify-self:start;padding:6px 0;font-size:12px;font-weight:700}.staff-dc .staff-dc-source{color:#64748b;font-size:11px}@media (width<=640px){.staff-dashboard-view .staff-profile-copy h1{font-size:16px}.staff-dashboard-view .staff-apps .staff-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.staff-dashboard-view .staff-ts-card{width:260px;min-width:260px;max-width:300px;padding:12px}.staff-dashboard-view .staff-ts-dates{scroll-snap-type:x mandatory;gap:6px;padding-inline:0}.staff-dashboard-view .staff-ts-pill{scroll-snap-align:start;border-radius:12px;flex-basis:calc(16.6667% - 5px);width:calc(16.6667% - 5px);min-width:0;padding:6px 3px}.staff-dashboard-view .staff-ts-pill span{font-size:9px}.staff-dashboard-view .staff-ts-pill strong{font-size:14px}}:root{--font-family:"Roboto", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}body{color:#172541;font:16px var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f6fb;margin:0}button,input{font:inherit}button{cursor:pointer;min-height:44px;color:inherit;background:#fff;border:1px solid #cbd5e4;border-radius:9px;padding:10px 16px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #edab35}.dev-banner{color:#674800;text-align:center;background:#fff2d6;padding:9px;font-size:14px}.shell{min-height:calc(100vh - 35px);display:flex}.shell>aside{color:#fff;background:#122852;flex-shrink:0;width:235px;padding:30px 22px}.brand{letter-spacing:-1px;font-size:34px;font-weight:700}.brand span{letter-spacing:2px;color:#b6c8ed;margin:5px 0 42px;font-size:12px;display:block}nav a{color:#fff;background:#294579;border-radius:9px;padding:14px;text-decoration:none;display:block}.aside-note{color:#bdccec;margin-top:90px;font-size:14px;line-height:1.6}main{width:100%;min-width:0;max-width:1450px;padding:0 34px 40px}.topbar{color:#536581;border-bottom:1px solid #dbe3ef;justify-content:space-between;align-items:center;height:78px;font-size:14px;display:flex}.day-heading{justify-content:space-between;align-items:center;margin:28px 0 20px;display:flex}h1{letter-spacing:-.6px;margin:9px 0 8px;font-size:28px}h2{margin:8px 0;font-size:22px}.eyebrow{color:#567096;letter-spacing:1.3px;font-size:12px;font-weight:700}.sessions{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px;display:grid}.session{text-align:left;border-left:4px solid #cbd5e4;flex-direction:column;gap:10px;padding:18px;display:flex}.session span,.session small{color:#556683;font-size:14px}.session strong{font-size:17px}.session.selected{background:#eef4ff;border-color:#2459c7}.workspace{background:#fff;border:1px solid #dce4ef;border-radius:16px;overflow:hidden}.workspace header{justify-content:space-between;align-items:center;gap:15px;padding:26px;display:flex}.workspace header p{color:#64738a;font-size:14px}.badge{color:#2451a4;white-space:nowrap;background:#edf3ff;border-radius:25px;padding:8px 12px;font-size:14px}.summary{color:#586781;background:#f6f8fc;border-block:1px solid #e4eaf3;align-items:center;gap:28px;padding:17px 26px;font-size:14px;display:flex}.summary b{color:#203d6c;margin-right:5px;font-size:24px}.summary span:last-child{margin-left:auto}.tools{flex-wrap:wrap;align-items:center;gap:14px;padding:24px 26px 0;display:flex}input:not([type=checkbox]){border:1px solid #b9c7db;border-radius:8px;min-width:0;padding:12px}.tools label{align-items:center;gap:6px;font-size:14px;display:flex}.hint{color:#65738a;margin:18px 26px;font-size:14px}.roster{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:0 26px 26px;display:grid}.roster.compact{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}.student{text-align:left;align-items:center;gap:10px;min-height:64px;display:flex}.student strong{font-size:20px}.student small{margin-left:auto}.student.present{color:#145b36;background:#e6f5ed;border-color:#84bfa0}.student.absent{color:#a22e29;background:#fff0ef;border-color:#de9390}.student.unmarked{color:#63738c;background:#f8faff;border-style:dashed}.student span{font-size:14px}.workspace footer{border-top:1px solid #e0e7f0;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;font-size:14px;display:flex}.primary{color:#fff;background:#2057bf;border-color:#2057bf;font-weight:500}.review{background:#f0f5ff;border-top:1px solid #c7d8f5;padding:24px 26px}.workspace>p[role=status]{padding:0 26px 15px}.connect{max-width:540px;margin:70px auto}.connect h1{font-size:42px;line-height:1.2}.connect p{color:#61718a;line-height:1.7}.connect form{gap:20px;display:grid}.connect label{gap:10px;display:grid}.connect .primary{justify-self:start}@media (width<=900px){.shell>aside{width:175px;padding:25px 15px}main{padding:0 20px 30px}.sessions{gap:8px}.session{padding:13px}.workspace header{flex-direction:column;align-items:flex-start}.summary{gap:15px}}@media (width<=650px){.shell>aside{display:none}main{padding:0 12px 24px}.topbar{height:60px}.day-heading{margin:22px 0 15px}.day-heading h2{font-size:20px}.day-heading>span{display:none}.sessions{display:flex;overflow:auto}.session{min-width:220px}.workspace header{padding:20px}h1{font-size:24px}.summary{flex-wrap:wrap;padding:14px 18px}.summary span:last-child{margin-left:0}.tools{padding:20px 18px 0}.tools>input{width:100%}.hint{margin:18px}.roster{padding:0 18px 20px}.roster.compact{grid-template-columns:repeat(4,1fr);gap:8px}.student{gap:4px;padding:9px}.workspace footer{background:#fff;padding:15px;position:sticky;bottom:0;box-shadow:0 -4px 15px #132a5210}.connect{margin:40px 10px}.connect h1{font-size:34px}.dev-banner{font-size:12px}}.scope-note{color:#314a70;background:#eaf1ff;border-left:3px solid #2459c7;border-radius:4px;padding:16px 20px;line-height:1.6}.class-tools{flex-wrap:wrap;justify-content:space-between;gap:20px;margin:24px 0;display:flex}.class-tools [role=group]{flex-wrap:wrap;gap:6px;display:flex}.class-tools button[aria-pressed=true]{color:#fff;background:#2057bf;border-color:#2057bf}.class-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;display:grid}.class-card{background:#fff;border:1px solid #dce4ef;border-radius:14px;padding:22px}.class-code{color:#3d6399;justify-content:space-between;align-items:center;font-size:14px;display:flex}.class-card h2{margin-top:20px;line-height:1.3}.class-card p{color:#586781;font-size:14px}.class-footer{border-top:1px solid #e4eaf3;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;font-size:14px;display:flex}.class-footer span{color:#536f97}@media (width<=650px){.class-grid{grid-template-columns:1fr}.class-tools>input{width:100%}.scope-note,.class-tools button{font-size:14px}}nav a{margin-bottom:8px}nav a:not([aria-current=page]){color:#c4d4f3;background:0 0}.request-filters{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.request-filters label{gap:8px;font-size:14px;display:grid}.request-filters select,.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]{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}
