.everglance-mark[data-v-40314678]{display:block;flex-shrink:0;object-fit:contain}.app-brand-wordmark[data-v-060724eb]{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--text-primary, #1a2332);line-height:1.1}.size-sm[data-v-060724eb]{font-size:1rem}.size-md[data-v-060724eb]{font-size:1.35rem}.size-lg[data-v-060724eb]{font-size:2rem}.app-brand-accent[data-v-060724eb]{color:var(--primary-color, #1976d2)}.app-brand-header[data-v-fac4e92e]{display:flex;align-items:center}.variant-login[data-v-fac4e92e]{flex-direction:row;justify-content:center;gap:.85rem;text-align:left}.variant-nav[data-v-fac4e92e],.variant-sidebar[data-v-fac4e92e]{gap:.65rem;min-width:0}.app-brand-copy[data-v-fac4e92e]{min-width:0}.app-brand-subtitle[data-v-fac4e92e]{margin:.15rem 0 0;font-size:.82rem;font-weight:500;color:var(--text-secondary, #5a6578)}.variant-sidebar .app-brand-subtitle[data-v-fac4e92e]{font-size:.78rem}.student-nav-menu[data-v-c25d8a71]{position:relative}.hamburger-btn[data-v-c25d8a71]{position:fixed;top:15px;right:15px;z-index:1001;width:44px;height:44px;border:none;border-radius:50%;background:var(--primary-color, #007bff);color:var(--text-inverse, #fff);cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background .2s ease,transform .2s ease;box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 123, 255, .3))}.hamburger-btn[data-v-c25d8a71]:hover{background:var(--primary-hover, #0056b3);transform:scale(1.05)}.hamburger-btn.active[data-v-c25d8a71]{background:var(--text-muted, #6c757d)}.nav-overlay[data-v-c25d8a71]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nav-fade-enter-active[data-v-c25d8a71],.nav-fade-leave-active[data-v-c25d8a71]{transition:opacity .25s ease}.nav-fade-enter-from[data-v-c25d8a71],.nav-fade-leave-to[data-v-c25d8a71]{opacity:0}.nav-panel[data-v-c25d8a71]{position:fixed;top:0;right:-380px;width:360px;max-width:90vw;height:100vh;height:100dvh;background:var(--bg-secondary, #fff);z-index:1000;transition:right .3s ease;box-shadow:var(--shadow-xl, -4px 0 24px rgba(0, 0, 0, .18));display:flex;flex-direction:column;overflow:hidden}.nav-panel.open[data-v-c25d8a71]{right:0}.nav-header[data-v-c25d8a71]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--bg-tertiary, #f8f9fa);flex-shrink:0}.nav-header h3[data-v-c25d8a71]{margin:0;color:var(--header-text-color, #333);font-size:1.1rem;font-weight:600}.close-btn[data-v-c25d8a71]{background:none;border:none;color:var(--text-muted, #666);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.close-btn[data-v-c25d8a71]:hover{background:var(--bg-muted, #e9ecef)}.nav-content[data-v-c25d8a71]{padding:16px 20px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0}.nav-section[data-v-c25d8a71]{margin-bottom:22px}.nav-section-title[data-v-c25d8a71]{margin:0 0 10px;color:var(--text-muted, #8a929b);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nav-buttons[data-v-c25d8a71]{display:flex;flex-direction:column;gap:6px}.privacy-row[data-v-c25d8a71]{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer;flex-direction:row;color:var(--text-secondary, #374151);transition:background .15s}.privacy-row[data-v-c25d8a71]:hover{background:var(--bg-tertiary, #f1f3f5)}.privacy-row-text[data-v-c25d8a71]{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.privacy-row-label[data-v-c25d8a71]{font-size:.92rem;font-weight:500;line-height:1.2}.privacy-row-meta[data-v-c25d8a71]{font-size:.72rem;color:var(--text-muted, #8a929b);line-height:1.2}.privacy-switch[data-v-c25d8a71]{position:relative;flex-shrink:0;width:36px;height:20px}.privacy-switch input[data-v-c25d8a71]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.privacy-switch-thumb[data-v-c25d8a71]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#cbd5e1;transition:background .2s ease}.privacy-switch-thumb[data-v-c25d8a71]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026;transition:transform .2s ease}.privacy-switch.on .privacy-switch-thumb[data-v-c25d8a71]{background:var(--primary-color, #007bff)}.privacy-switch.on .privacy-switch-thumb[data-v-c25d8a71]:after{transform:translate(16px)}.privacy-switch input:focus-visible+.privacy-switch-thumb[data-v-c25d8a71]{outline:2px solid var(--primary-color, #007bff);outline-offset:2px}.nav-btn[data-v-c25d8a71]{display:flex;align-items:center;gap:10px;padding:2px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary, #374151);cursor:pointer;font-size:.92rem;font-weight:500;transition:background .15s,color .15s;text-align:left;width:100%}.nav-btn[data-v-c25d8a71]:hover{background:var(--bg-tertiary, #f1f3f5)}.nav-btn[data-v-c25d8a71]:focus-visible{outline:2px solid var(--primary-color, #007bff);outline-offset:1px}.nav-btn.primary[data-v-c25d8a71]{background:transparent;border-color:var(--primary-color, #1b75d2);color:var(--primary-color, #1b75d2);font-weight:600}.nav-btn.primary[data-v-c25d8a71]:hover{background:var(--primary-bg-subtle, rgba(27, 117, 210, .08));color:var(--primary-hover, #0056b3)}.nav-btn.danger[data-v-c25d8a71]{color:var(--error-color, #dc3545)}.nav-btn.danger[data-v-c25d8a71]:hover{background:#dc35451a}.chevron[data-v-c25d8a71]{margin-left:auto;color:var(--text-muted, #999)}.aide-list[data-v-c25d8a71]{display:flex;flex-direction:column;gap:2px;margin:2px 0 2px 14px;padding-left:10px;border-left:2px solid var(--border-light, #e9ecef)}.aide-list-empty[data-v-c25d8a71]{color:var(--text-muted, #999);font-size:.85rem;font-style:italic;padding:6px 0}.aide-list-btn[data-v-c25d8a71]{padding:8px 12px;font-size:.85rem;font-weight:400}.account-section[data-v-c25d8a71]{margin-top:auto;border-top:1px solid var(--border-light, #e9ecef);padding-top:18px}.account-card[data-v-c25d8a71]{display:flex;align-items:center;gap:12px;padding:4px 2px 12px}.account-avatar[data-v-c25d8a71]{width:40px;height:40px;border-radius:50%;background:var(--primary-color, #007bff);color:var(--text-inverse, #fff);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.account-details[data-v-c25d8a71]{display:flex;flex-direction:column;gap:2px;min-width:0}.account-name[data-v-c25d8a71]{color:var(--text-primary, #1f2937);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-role[data-v-c25d8a71]{font-size:.78rem;color:var(--text-muted, #6c757d)}@media (max-width: 768px){.nav-panel[data-v-c25d8a71]{width:100vw;max-width:100vw;right:-100vw}}.app-layout .page-header,.app-layout .header{padding-right:60px}.session-timeout-overlay[data-v-9d2333fd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-timeout-dialog[data-v-9d2333fd]{background:#fff;border-radius:8px;padding:24px;max-width:360px;width:90%;box-shadow:0 4px 20px #00000026;animation:slideIn-9d2333fd .2s ease-out}@keyframes slideIn-9d2333fd{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dialog-header[data-v-9d2333fd]{display:flex;align-items:center;gap:8px;margin-bottom:20px;justify-content:center}.header-icon[data-v-9d2333fd]{color:#f59e0b}.dialog-header h3[data-v-9d2333fd]{margin:0;color:#374151;font-size:18px;font-weight:600}.dialog-content[data-v-9d2333fd]{text-align:center;margin-bottom:24px}.countdown-section[data-v-9d2333fd]{margin-bottom:16px}.countdown-time[data-v-9d2333fd]{font-size:32px;font-weight:700;color:#dc2626;font-family:ui-monospace,Courier New,monospace;margin-bottom:4px}.countdown-label[data-v-9d2333fd]{margin:0;color:#6b7280;font-size:14px}.info-note[data-v-9d2333fd]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#f3f4f6;border-radius:6px;color:#4b5563;font-size:14px}.dialog-actions[data-v-9d2333fd]{display:flex;gap:12px;justify-content:center}.btn[data-v-9d2333fd]{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .15s ease;font-size:14px}.btn-primary[data-v-9d2333fd]{background:#3b82f6;color:#fff}.btn-primary[data-v-9d2333fd]:hover{background:#2563eb}.btn-secondary[data-v-9d2333fd]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary[data-v-9d2333fd]:hover{background:#e5e7eb}.btn[data-v-9d2333fd]:active{transform:scale(.98)}.privacy-blur-overlay[data-v-11cd76ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:flex;align-items:flex-start;justify-content:center;padding-top:1.5rem;pointer-events:none}.privacy-blur-banner[data-v-11cd76ed]{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#2c3e50eb;color:#fff;border-radius:8px;font-size:.9rem;box-shadow:0 4px 12px #0003;pointer-events:auto;cursor:default}body.privacy-blur-full .privacy-blur-overlay[data-v-11cd76ed]{pointer-events:auto;align-items:center;padding-top:0}#app{min-height:100vh;background:var(--bg-primary, #e8ecf1)}#main-content{padding:0 2rem}@media print{#nav,.hamburger-btn,.nav-panel,.nav-overlay{display:none!important}}:root{--primary-color: #1976d2;--primary-hover: #1565c0;--primary-light: #e3f2fd;--primary-dark: #0d47a1;--secondary-color: #6c757d;--secondary-hover: #545b62;--secondary-light: #f8f9fa;--secondary-dark: #495057;--success-color: #28a745;--success-hover: #218838;--success-light: #d4edda;--warning-color: #ffc107;--warning-hover: #e0a800;--warning-light: #fff3cd;--error-color: #dc3545;--error-hover: #c82333;--error-light: #f8d7da;--info-color: #17a2b8;--info-hover: #138496;--info-light: #d1ecf1;--bg-primary: #e8ecf1;--bg-secondary: #ffffff;--bg-tertiary: #f0f2f5;--bg-muted: #dde1e6;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--text-inverse: #ffffff;--header-text-color: #1a1a1a;--accent-color: #e3f2fd;--border-color: #dee2e6;--border-light: #e9ecef;--border-dark: #adb5bd;--border-extra-dark: #565a5f;--border-focus: #1976d2;--admin-tab-bg: #f8f9fa;--admin-tab-active: #2a79c9;--admin-tab-hover: #e3eaf6;--table-header-bg: #dfe7f3;--table-stripe-bg: #f8fafd;--table-border: #d1d1d1;--table-hover: #f0f0f0;--badge-critical: #ffebee;--badge-critical-text: #d32f2f;--badge-critical-border: #f44336;--badge-high: #fff3e0;--badge-high-text: #f57c00;--badge-high-border: #ff9800;--badge-medium: #fff8e1;--badge-medium-text: #fbc02d;--badge-medium-border: #fdd835;--badge-low: #e8f5e8;--badge-low-text: #388e3c;--badge-low-border: #4caf50;--service-pill-bg: #e3f2fd;--service-pill-text: #1976d2;--service-pill-border: #bfc7d1;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-family-base: "Inter", "ui-sans-serif", "system-ui", -apple-system, BlinkMacSystemFont, "Segoe UI", "Arial", sans-serif;--font-family-mono: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-base: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--line-height-table: 1.4;--line-height-table-tight: 1.3;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1);--shadow-xl: 0 4px 20px rgba(0, 0, 0, .3);--border-width: 1px;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--border-radius-xl: 12px;--border-radius-pill: 50px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--btn-padding-sm: .25rem .5rem;--btn-padding-md: .5rem 1rem;--btn-padding-lg: .75rem 1.5rem;--form-element-height: 2.5rem;--form-element-padding: .5rem .75rem;--form-element-border: var(--border-width) solid var(--border-color);--form-element-focus-border: var(--border-width) solid var(--border-focus);--form-element-focus-shadow: 0 0 0 2px rgba(25, 118, 210, .2);--table-cell-padding: .75rem .5rem;--table-header-padding: .75rem .6rem;--panel-bg: var(--bg-secondary);--panel-border: var(--border-dark);--panel-radius: var(--border-radius-xl);--panel-shadow: 0 2px 8px rgba(25, 118, 210, .08), 0 1px 3px rgba(0, 0, 0, .06);--dialog-backdrop: rgba(0, 0, 0, .5);--dialog-max-width: 800px;--dialog-max-height: 90vh;--nav-height: 60px;--nav-padding: 0 2rem}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}fieldset{border:none;margin:0;padding:0}legend{padding:0}img{max-width:100%;height:auto;display:block}input,textarea,select,button{border-radius:0}:focus{outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm);color:var(--text-primary);letter-spacing:-.025em}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1.2}h2{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--primary-hover);text-decoration:underline}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}ul{list-style-type:disc}ol{list-style-type:decimal}li{margin-bottom:var(--spacing-xs);line-height:var(--line-height-base)}code{font-family:var(--font-family-mono);font-size:.9em;background-color:var(--bg-muted);padding:.125rem .25rem;border-radius:var(--border-radius-sm);color:var(--text-primary)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--bg-muted);padding:var(--spacing-md);border-radius:var(--border-radius-md);overflow-x:auto;margin-bottom:var(--spacing-md)}pre code{background:none;padding:0}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-xxl{font-size:var(--font-size-xxl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-inverse{color:var(--text-inverse)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-break{word-break:break-word;overflow-wrap:break-word}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-base{line-height:var(--line-height-base)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.font-tabular{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.text-body{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-primary)}.text-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);letter-spacing:.025em}.text-caption{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-base)}.text-page-title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);letter-spacing:-.025em}.text-section-header{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.table-text{font-size:var(--font-size-sm);line-height:var(--line-height-table)}.table-text-tight{font-size:var(--font-size-sm);line-height:var(--line-height-table-tight)}.table-header{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-table);color:var(--text-secondary)}.text-timestamp{font-size:var(--font-size-xs);color:var(--text-muted);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.container{width:100%;max-width:var(--breakpoint-xl);margin:0 auto;padding:0 var(--spacing-md)}.container-fluid{width:100%;padding:0 var(--spacing-md)}#app{min-height:100vh;background:var(--bg-primary)}#main-content{padding:0 var(--spacing-xl)}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-block{display:block}.d-inline-block{display:inline-block}.d-none{display:none}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.align-stretch{align-items:stretch}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.mr-auto{margin-right:auto}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-dropdown{z-index:var(--z-dropdown)}.z-modal{z-index:var(--z-modal)}@media (max-width: 768px){.mobile-hidden{display:none}.mobile-block{display:block}#main-content{padding:0 var(--spacing-md)}.container{padding:0 var(--spacing-sm)}}@media (min-width: 769px){.desktop-hidden{display:none}.desktop-block{display:block}}@media print{.print-hidden{display:none!important}.print-block{display:block!important}#nav,.nav-left,.nav-right,.filters,.ex-button,.header-actions,.controls{display:none!important}#main-content{padding:0!important;margin:0!important}.printable,.printable *{visibility:visible!important}.printable{position:absolute;left:0;top:0;width:100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--btn-padding-md);border:var(--border-width) solid transparent;border-radius:var(--border-radius-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);text-decoration:none;cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-sm{padding:var(--btn-padding-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--btn-padding-lg);font-size:var(--font-size-base)}.btn-primary{background-color:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary-color);color:var(--text-inverse);border-color:var(--secondary-color)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary-hover);border-color:var(--secondary-hover)}.btn-success{background-color:var(--success-color);color:var(--text-inverse);border-color:var(--success-color)}.btn-success:hover:not(:disabled){background-color:var(--success-hover);border-color:var(--success-hover)}.btn-warning{background-color:var(--warning-color);color:var(--text-primary);border-color:var(--warning-color)}.btn-warning:hover:not(:disabled){background-color:var(--warning-hover);border-color:var(--warning-hover)}.btn-error{background-color:var(--error-color);color:var(--text-inverse);border-color:var(--error-color)}.btn-error:hover:not(:disabled){background-color:var(--error-hover);border-color:var(--error-hover)}.btn-info{background-color:var(--info-color);color:var(--text-inverse);border-color:var(--info-color)}.btn-info:hover:not(:disabled){background-color:var(--info-hover);border-color:var(--info-hover)}.btn-outline{background-color:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:var(--primary-color);color:var(--text-inverse)}.btn-outline-secondary{background-color:transparent;color:var(--secondary-color);border-color:var(--secondary-color)}.btn-outline-secondary:hover:not(:disabled){background-color:var(--secondary-color);color:var(--text-inverse)}.btn-ghost{background-color:transparent;color:var(--text-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--bg-muted)}.btn-ghost-primary{background-color:transparent;color:var(--primary-color);border-color:transparent}.btn-ghost-primary:hover:not(:disabled){background-color:var(--primary-light)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--border-radius-md);aspect-ratio:1}.btn-icon-sm{padding:var(--spacing-xs)}.btn-icon-lg{padding:var(--spacing-md)}.btn-admin{background-color:var(--admin-tab-bg);color:var(--primary-color);border-color:var(--border-color)}.btn-admin:hover:not(:disabled){background-color:var(--admin-tab-hover);border-color:var(--primary-color)}.btn-admin.active{background-color:var(--admin-tab-active);color:var(--text-inverse);border-color:var(--admin-tab-active)}.btn-edit{background-color:transparent;color:var(--primary-color);border:none;padding:var(--spacing-xs);border-radius:var(--border-radius-sm)}.btn-edit:hover:not(:disabled){background-color:var(--primary-light)}.btn-save{background-color:transparent;color:var(--success-color);border:none;padding:var(--spacing-xs);border-radius:var(--border-radius-sm)}.btn-save:hover:not(:disabled){background-color:var(--success-light)}.btn-delete{background-color:transparent;color:var(--error-color);border:none;padding:var(--spacing-xs);border-radius:var(--border-radius-sm)}.btn-delete:hover:not(:disabled){background-color:var(--error-light)}.btn-cancel{background-color:transparent;color:var(--text-muted);border:none;padding:var(--spacing-xs);border-radius:var(--border-radius-sm)}.btn-cancel:hover:not(:disabled){background-color:var(--bg-muted)}.btn-print{background-color:var(--success-color);color:var(--text-inverse);border-color:var(--success-color)}.btn-print:hover:not(:disabled){background-color:var(--success-hover);border-color:var(--success-hover)}.btn-demo{background-color:var(--success-color);color:var(--text-inverse);border-color:var(--success-color)}.btn-demo:hover:not(:disabled){background-color:var(--success-hover);border-color:var(--success-hover)}.btn-test{background-color:var(--info-color);color:var(--text-inverse);border-color:var(--info-color);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.btn-test:hover:not(:disabled){background-color:var(--info-hover);border-color:var(--info-hover)}.btn-test-special{background-color:var(--error-color);color:var(--text-inverse);border-color:var(--error-color);font-weight:var(--font-weight-semibold)}.btn-test-special:hover:not(:disabled){background-color:var(--error-hover);border-color:var(--error-hover)}.btn-group{display:inline-flex;border-radius:var(--border-radius-sm);overflow:hidden}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.btn-group .btn:last-child{border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-right-width:var(--border-width)}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1em;height:1em;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){.btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}}form{width:100%}.form-group{margin-bottom:var(--spacing-md)}.form-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer}.label-inline{flex-direction:row;align-items:center;gap:var(--spacing-sm)}label:has(>input[type=checkbox]),label:has(>input[type=radio]){flex-direction:row;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-normal)}.label-required:after{content:"*";color:var(--error-color);margin-left:var(--spacing-xs)}input,textarea,select{padding:var(--form-element-padding);border:var(--form-element-border);border-radius:var(--border-radius-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-secondary);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%}input:focus,textarea:focus,select:focus{outline:none;border:var(--form-element-focus-border);box-shadow:var(--form-element-focus-shadow)}input:disabled,textarea:disabled,select:disabled{background-color:var(--bg-muted);color:var(--text-muted);cursor:not-allowed;opacity:.7}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}.input-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.input-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search]{height:var(--form-element-height)}input[type=file]{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-tertiary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer}input[type=file]::-webkit-file-upload-button{background-color:var(--bg-muted);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);margin-right:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-xs)}textarea{min-height:200px;resize:vertical;line-height:var(--line-height-relaxed)}.textarea-sm{min-height:60px}.textarea-lg{min-height:120px}select{height:var(--form-element-height);cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-sm) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{width:auto;height:auto;margin:0;cursor:pointer}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-inline-group,.radio-inline-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.checkbox-item,.radio-item{display:flex;align-items:center;gap:var(--spacing-sm)}.checkbox-item label,.radio-item label{flex-direction:row;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-normal);margin:0;cursor:pointer}.custom-checkbox{position:relative;display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.custom-checkbox .checkmark{width:18px;height:18px;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);background-color:var(--bg-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.custom-checkbox input:checked+.checkmark{background-color:var(--primary-color);border-color:var(--primary-color)}.custom-checkbox input:checked+.checkmark:after{content:"✓";color:var(--text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.form-grid{display:grid;gap:var(--spacing-md)}.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.inner-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md)}.inner-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}fieldset{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}legend{font-weight:var(--font-weight-semibold);color:var(--text-primary);padding:0 var(--spacing-sm);font-size:var(--font-size-sm)}.form-group.has-error input,.form-group.has-error textarea,.form-group.has-error select{border-color:var(--error-color);box-shadow:0 0 0 2px #dc354533}.form-group.has-success input,.form-group.has-success textarea,.form-group.has-success select{border-color:var(--success-color);box-shadow:0 0 0 2px #28a74533}.form-group.has-warning input,.form-group.has-warning textarea,.form-group.has-warning select{border-color:var(--warning-color);box-shadow:0 0 0 2px #ffc10733}.form-feedback{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);line-height:var(--line-height-base)}.form-feedback.error{color:var(--error-color)}.form-feedback.success{color:var(--success-color)}.form-feedback.warning{color:var(--warning-color)}.form-help{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-base)}.search-input{position:relative}.search-input input{padding-left:2.5rem}.search-input:before{content:"🔍";position:absolute;left:var(--spacing-sm);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;z-index:1}.input-group{display:flex;align-items:stretch}.input-group input{border-radius:0;border-right:none}.input-group input:first-child{border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.input-group input:last-child{border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-right:var(--form-element-border)}.input-group-addon{display:flex;align-items:center;padding:var(--form-element-padding);background-color:var(--bg-muted);border:var(--form-element-border);border-left:none;color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.input-group-addon:first-child{border-left:var(--form-element-border);border-right:none;border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.input-group-addon:last-child{border-top-right-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm)}.admin-form-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.admin-form-row input[type=text]{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm)}.search-container{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.search-input{flex:1;max-width:300px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm)}.editable-input,.editable-select{font-size:1.14em;padding:.17em .38em;border:none;background:transparent;outline:none;width:96%;color:var(--text-primary);transition:border var(--transition-fast),box-shadow var(--transition-fast);border-radius:var(--border-radius-sm);min-height:2.1em}.editable-input[disabled],.editable-select[disabled]{color:var(--text-muted);cursor:default}.active-row .editable-input,.active-row .editable-select{border:var(--border-width) solid var(--primary-color);background:var(--bg-secondary);box-shadow:0 0 0 2px #2196f34d}@media (max-width: 768px){.form-row{flex-direction:column;align-items:stretch}.form-grid-2,.form-grid-3,.inner-grid-2,.inner-grid-3{grid-template-columns:1fr}.admin-form-row,.search-container{flex-direction:column;align-items:stretch}.search-input{max-width:none}}.data-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);overflow:hidden}.students-table-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);overflow-x:auto;overflow-y:visible}.students-table-panel>.students-table{width:100%;border-collapse:collapse;border-spacing:0;margin:0;box-shadow:none;border-radius:0;border:none;background:transparent;overflow:visible;font-size:var(--font-size-sm);line-height:var(--line-height-table)}.students-table-panel>.students-table th,.students-table-panel>.students-table td{border:none;border-bottom:1px solid var(--table-border);border-right:1px solid var(--table-border)}.students-table-panel>.students-table th:last-child,.students-table-panel>.students-table td:last-child{border-right:none}.students-table-panel>.students-table tbody tr:last-child>td{border-bottom:none}.students-table-panel>.students-table thead th{background:var(--table-header-bg);color:var(--text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:.025em;padding:var(--table-header-padding)}.students-table-panel>.students-table td{padding:.9rem .4rem;vertical-align:top}.students-table-panel>.students-table tbody tr:nth-child(2n){background:var(--table-stripe-bg)}.students-table-panel>.students-table a{color:var(--primary-color);text-decoration:none}.students-table-panel>.students-table a:hover{text-decoration:underline}.students-table.testing-roster-table th:nth-child(1),.students-table.testing-roster-table td:nth-child(1){width:14%}.students-table.testing-roster-table.readonly th:nth-child(2),.students-table.testing-roster-table.readonly td:nth-child(2){width:50%}.students-table.testing-roster-table:not(.readonly) th:nth-child(2),.students-table.testing-roster-table:not(.readonly) td:nth-child(2){min-width:280px;width:26%}.students-table.testing-roster-table:not(.readonly) th:nth-child(3),.students-table.testing-roster-table:not(.readonly) td:nth-child(3){width:38%}.table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-md);font-size:var(--font-size-sm);line-height:var(--line-height-table)}.table th,.table td{padding:var(--table-cell-padding);text-align:left;vertical-align:top;border-bottom:var(--border-width) solid var(--table-border);line-height:var(--line-height-table)}.table thead th{background:var(--table-header-bg);color:var(--text-primary);font-weight:var(--font-weight-semibold);padding:var(--table-header-padding);border-bottom:var(--border-width) solid var(--table-border);font-size:var(--font-size-sm);line-height:var(--line-height-table);letter-spacing:.025em}.table tbody tr:nth-child(2n){background:var(--table-stripe-bg)}.table tbody tr:hover{background:var(--table-hover)}.students-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--font-size-sm);line-height:var(--line-height-table)}.students-table thead{background:var(--table-header-bg);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.students-table tbody tr:nth-child(2n){background:var(--table-stripe-bg)}.student-name{font-weight:var(--font-weight-bold);color:var(--primary-color, #003366);font-size:var(--font-size-lg);line-height:var(--line-height-tight);display:flex;align-items:center;gap:var(--spacing-xs);letter-spacing:-.01em}.data-source{font-size:var(--font-size-xs);opacity:.7;cursor:help;font-feature-settings:"tnum" 1}.data-source:hover{opacity:1}.students-table th:nth-child(1){width:12%}.students-table th:nth-child(2){width:10%}.students-table th:nth-child(3){width:11%}.students-table th:nth-child(4),.students-table th:nth-child(5){width:21%}.students-table th:nth-child(6){width:10%}.students-table th:nth-child(7){width:4%}.bullet-list{list-style:none!important;padding:var(--spacing-xs)!important;margin:0;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md)}.bullet-list li{position:relative;padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);background:var(--bg-secondary);border-radius:var(--border-radius-sm);border-left:3px solid var(--primary-color);font-size:var(--font-size-sm);line-height:var(--line-height-base);transition:all var(--transition-base);box-shadow:0 1px 3px #0000001a}.bullet-list li:last-child{margin-bottom:0}.bullet-list li:hover{background:var(--bg-secondary);transform:translate(2px);box-shadow:var(--shadow-md)}.schedule-list,.schedule-list ul{list-style:none!important;padding:0!important;margin:0}.schedule-list li{font-size:var(--font-size-sm);padding:calc(var(--spacing-xs) / 2) 0;color:var(--text-primary);line-height:1.4}.students-table td .schedule-list,.students-table td .schedule-list ul{list-style-type:none!important;padding-left:0!important;margin:0}.students-table td .schedule-list li{padding-left:0;margin-left:0}.service-pill{display:inline-flex;align-items:center;background-color:var(--service-pill-bg);color:var(--service-pill-text);padding:var(--spacing-xs) var(--spacing-sm);margin:var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) 0;border-radius:var(--border-radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:var(--border-width) solid var(--service-pill-border);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.service-pill:hover{background-color:var(--primary-light);color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.flag-overlay{position:absolute;top:0;left:0;right:0;padding:var(--spacing-xs) var(--spacing-sm);background:var(--warning-light);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm);text-align:center;z-index:1}.flag-preferential-seating{background:#babfff;color:#1a237e}.flag-separate-setting{background:#ffeeba;color:#5d4200}.instruction-cell{border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border-left:4px solid var(--primary-color);padding:var(--spacing-md);position:relative;margin:var(--spacing-xs) 0}.instruction-cell .bullet-list{background:transparent;box-shadow:none}.instruction-cell .bullet-list li{background:var(--bg-secondary);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.instruction-cell .flag-overlay{position:static;display:inline-block;width:auto;max-width:100%;z-index:1;margin:0 0 .4rem;padding:.15rem .55rem;font-size:.75rem;font-weight:600;line-height:1.3;border-radius:999px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.instruction-cell .flag-overlay>div,.instruction-cell .flag-overlay{background:#ffeeba;color:#5d4200}.instruction-cell.with-flag{padding-top:var(--spacing-md)}.docs-item a{display:block;margin-bottom:.2rem;font-size:.95em;color:var(--primary-color);text-decoration:none;padding:.15em .4em;border-radius:var(--border-radius-sm);transition:background var(--transition-base),color var(--transition-base)}.docs-item a:hover{background:var(--primary-light, #e3eaf6);color:var(--primary-dark, #1251a3)}.edit-btn,.email-btn,.teacher-feedback-btn{background:#f8fafc;border:var(--border-width) solid var(--service-pill-border);color:var(--primary-color);margin:.1rem .2rem;border-radius:var(--border-radius-sm);transition:all var(--transition-base);cursor:pointer}.edit-btn:hover,.email-btn:hover,.teacher-feedback-btn:hover{background:#e3eaf6;color:#1251a3;border-color:var(--primary-color)}.action-buttons{display:flex;flex-direction:column;gap:.5rem;border:none;background:none;padding:0}.action-buttons button{width:32px;height:32px;min-width:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--primary-color);border-radius:var(--border-radius-sm);transition:all var(--transition-base);cursor:pointer;margin:0}.action-buttons button:hover{background:#e3eaf6;color:#1251a3}.students-table td:last-child{text-align:left;min-width:70px;padding:.7rem .4rem}.students-table td:nth-child(2){vertical-align:top;padding:.9rem .4rem;font-size:.98rem}.student-dates{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;position:absolute;bottom:.5rem;left:.4rem;right:.4rem}.students-table tbody tr>td:first-child{position:relative;padding-bottom:3em}.student-dates span{position:relative;cursor:help;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.student-dates span:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + .25rem);left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);white-space:nowrap;z-index:var(--z-tooltip);font-feature-settings:"tnum" 1}.user-admin-table,.admin-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);font-size:.95rem;box-shadow:var(--shadow-sm)}.user-admin-table thead th,.admin-table thead th{background:#f4f6f9;font-weight:var(--font-weight-semibold);padding:.75rem .6rem;border-bottom:var(--border-width) solid var(--border-color);text-align:left}.user-admin-table td,.admin-table td{padding:.4rem .6rem;vertical-align:middle;border-bottom:none}.user-admin-table tr,.admin-table tr{border-bottom:var(--border-width) solid #eee}.user-admin-table.striped tr:nth-child(2n),.admin-table.striped tr:nth-child(2n){background-color:var(--table-stripe-bg, #f9fbfd)}.users-table th:nth-child(1),.users-table td:nth-child(1){width:20%}.users-table th:nth-child(2),.users-table td:nth-child(2){width:15%}.users-table th:nth-child(3),.users-table td:nth-child(3){width:25%}.users-table th:nth-child(4),.users-table td:nth-child(4){width:20%}.permissions-table-admin{width:100%;border-collapse:collapse;margin-bottom:12px}.permissions-table-admin th,.permissions-table-admin td{border:var(--border-width) solid var(--border-color);padding:var(--spacing-sm);text-align:left}.permissions-table-admin th{background-color:#f4f6f9;font-weight:var(--font-weight-semibold)}.permissions-table-admin td{text-align:center}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive .table{min-width:600px}.table-loading{position:relative;opacity:.6;pointer-events:none}.table-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2rem;height:2rem;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:table-spin .8s linear infinite}@keyframes table-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media print{body *{visibility:hidden!important}.students-table,.students-table *,#nav #user-info,.view-container,.view-container *,.group-section,.group-section *,.group-header,.group-header *{visibility:visible!important}#nav #user-info{position:absolute!important;top:0!important;left:50%!important;transform:translate(-50%)!important;font-size:14px!important;font-weight:700!important;color:#333!important;text-align:center!important;width:auto!important;margin:0!important;padding:10px 0!important;background:none!important;z-index:9999!important}.students-table{position:relative!important;left:0!important;width:100%!important;box-shadow:none!important;border-radius:0!important;margin:0 auto 15px!important}.students-table{border-collapse:collapse!important;font-size:11px!important;width:95%!important;max-width:95%!important;table-layout:fixed!important}.students-table th,.students-table td{border:1px solid #ccc!important;padding:6px 4px!important;text-align:left!important;vertical-align:top!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.students-table th:nth-child(1),.students-table td:nth-child(1){width:15%!important}.students-table th:nth-child(2),.students-table td:nth-child(2){width:15%!important}.students-table th:nth-child(3),.students-table td:nth-child(3){width:15%!important}.students-table th:nth-child(4),.students-table td:nth-child(4){width:25%!important}.students-table th:nth-child(5),.students-table td:nth-child(5){width:25%!important}.students-table th:nth-child(6),.students-table td:nth-child(6),.students-table th:nth-child(7),.students-table td:nth-child(7){display:none!important}.bullet-list{background:none!important;padding:0!important}.bullet-list ul{padding-left:15px!important;margin:0!important}.bullet-list li{line-height:1.2!important;margin-bottom:1px!important}.bullet-list .accommodation-header{background:none!important;font-weight:700;text-decoration:underline;margin:2px 0 1px!important;padding:0!important;border:none!important;box-shadow:none!important}.schedule-list{max-height:none!important}.schedule-list ul{padding-left:10px!important;margin:0!important}.schedule-list li{line-height:1.2!important;margin-bottom:1px!important}.service-pill{background:#e0e0e0!important;color:#333!important;padding:1px 3px!important;border-radius:2px!important;font-size:10px!important}.instruction-cell{background:none!important;border-left:none!important;box-shadow:none!important;padding:0!important}@page{margin:.5in .75in .75in!important;size:landscape!important}.student-dates,.print-btn,.edit-btn,.email-btn,.teacher-feedback-btn,.flag-overlay,.badge,.docs-item,.header h1,.header-actions,.controls,.filters,.btn,button{display:none!important}*{color:#000!important;text-shadow:none!important}.view-container{position:absolute!important;left:0!important;top:40px!important;width:100%!important}.group-section{margin-bottom:20px!important;page-break-inside:avoid!important}.group-header{font-size:16px!important;font-weight:700!important;color:#333!important;margin:0 0 10px!important;border-bottom:2px solid #333!important;background:#f0f0f0!important;padding:8px 0 8px 10px!important}}@media (max-width: 768px){.table,.students-table{font-size:var(--font-size-xs)}.table th,.table td,.students-table th,.students-table td{padding:var(--spacing-sm) var(--spacing-xs)}.student-name{font-size:var(--font-size-base)}.service-pill{font-size:.7rem;padding:.05rem .2rem}.badge{font-size:.7rem;padding:.1rem .4rem}}.dialog-backdrop,.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--dialog-backdrop);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog,.modal-content{background:var(--bg-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:var(--dialog-max-width);max-height:var(--dialog-max-height);display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-modal);animation:dialog-fade-in .2s ease-out}@keyframes dialog-fade-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog header,.modal-header{padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;flex-shrink:0}.dialog header h2,.modal-header h3{margin:0;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.dialog form,.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg);max-height:calc(var(--dialog-max-height) - 140px)}.dialog form::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:8px}.dialog form::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:var(--border-radius-sm)}.dialog form::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:var(--border-radius-sm)}.dialog form::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dialog footer,.modal-footer{padding:var(--spacing-lg);border-top:var(--border-width) solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-sm);background:var(--bg-tertiary);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);flex-shrink:0}.close-btn{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--text-secondary);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-base)}.close-btn:hover{color:var(--text-primary);background-color:var(--bg-muted)}.dialog-sm{max-width:400px}.dialog-lg{max-width:1000px}.dialog-xl{max-width:1200px}.dialog-fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.student-info{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--border-radius-md);border-left:4px solid var(--admin-tab-active)}.student-info h4{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.case-manager-info{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.document-section{margin-bottom:var(--spacing-md)}.document-section h4{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-base)}.form-selection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-base)}.form-option:hover{border-color:var(--admin-tab-active);background:var(--bg-tertiary)}.form-option input[type=radio]{margin-top:.25rem}.form-option-label{flex:1;cursor:pointer;margin:0}.form-title{font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:.25rem}.form-details{display:flex;flex-direction:column;gap:.25rem}.form-templates,.form-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.teacher-selection{max-height:200px;overflow-y:auto;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-md)}.no-teachers-message{color:var(--text-secondary);font-style:italic}.teacher-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm)}.teacher-email{color:var(--text-secondary);font-size:var(--font-size-sm)}.send-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.option-item{display:flex;align-items:center;gap:var(--spacing-sm)}.option-item input[type=radio]{margin:0}.option-item label{margin:0;cursor:pointer}.status-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-md)}.status-message.success{background:var(--success-light);color:#2e7d32;border:var(--border-width) solid #c8e6c9}.status-message.error{background:var(--error-light);color:#c62828;border:var(--border-width) solid #ffcdd2}.status-message.warning{background:var(--warning-light);color:#856404;border:var(--border-width) solid #ffeaa7}.status-message.info{background:var(--info-light);color:#0c5460;border:var(--border-width) solid #bee5eb}.no-forms-message,.no-data-message{padding:var(--spacing-md);background:var(--warning-light);border:var(--border-width) solid #ffeaa7;border-radius:var(--border-radius-sm);color:#856404}.no-forms-message p,.no-data-message p{margin:var(--spacing-sm) 0}.export-options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.export-options label{display:flex;align-items:center;gap:var(--spacing-sm)}.assignment-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.assignment-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.dialog-enter-active,.dialog-leave-active{transition:all .2s ease}.dialog-enter-from,.dialog-leave-to{opacity:0;transform:scale(.95) translateY(-10px)}.dialog-backdrop-enter-active,.dialog-backdrop-leave-active{transition:opacity .2s ease}.dialog-backdrop-enter-from,.dialog-backdrop-leave-to{opacity:0}@media (max-width: 768px){.dialog,.modal-content{width:95%;max-height:95vh;margin:var(--spacing-sm)}.dialog header,.modal-header,.dialog footer,.modal-footer{padding:var(--spacing-md)}.dialog form,.modal-body{padding:var(--spacing-md);max-height:calc(95vh - 120px)}.dialog-fullscreen{width:100vw;height:100vh;margin:0;border-radius:0}.form-option{padding:var(--spacing-sm)}.teacher-selection{max-height:150px}.assignment-form .form-row{grid-template-columns:1fr}}@media print{.dialog-backdrop,.modal-overlay,.dialog,.modal-content{display:none!important}}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.m-n-xs{margin:calc(-1 * var(--spacing-xs))!important}.m-n-sm{margin:calc(-1 * var(--spacing-sm))!important}.m-n-md{margin:calc(-1 * var(--spacing-md))!important}.m-n-lg{margin:calc(-1 * var(--spacing-lg))!important}.m-n-xl{margin:calc(-1 * var(--spacing-xl))!important}.mt-n-xs{margin-top:calc(-1 * var(--spacing-xs))!important}.mt-n-sm{margin-top:calc(-1 * var(--spacing-sm))!important}.mt-n-md{margin-top:calc(-1 * var(--spacing-md))!important}.mt-n-lg{margin-top:calc(-1 * var(--spacing-lg))!important}.mt-n-xl{margin-top:calc(-1 * var(--spacing-xl))!important}.mb-n-xs{margin-bottom:calc(-1 * var(--spacing-xs))!important}.mb-n-sm{margin-bottom:calc(-1 * var(--spacing-sm))!important}.mb-n-md{margin-bottom:calc(-1 * var(--spacing-md))!important}.mb-n-lg{margin-bottom:calc(-1 * var(--spacing-lg))!important}.mb-n-xl{margin-bottom:calc(-1 * var(--spacing-xl))!important}.ml-n-xs{margin-left:calc(-1 * var(--spacing-xs))!important}.ml-n-sm{margin-left:calc(-1 * var(--spacing-sm))!important}.ml-n-md{margin-left:calc(-1 * var(--spacing-md))!important}.ml-n-lg{margin-left:calc(-1 * var(--spacing-lg))!important}.ml-n-xl{margin-left:calc(-1 * var(--spacing-xl))!important}.mr-n-xs{margin-right:calc(-1 * var(--spacing-xs))!important}.mr-n-sm{margin-right:calc(-1 * var(--spacing-sm))!important}.mr-n-md{margin-right:calc(-1 * var(--spacing-md))!important}.mr-n-lg{margin-right:calc(-1 * var(--spacing-lg))!important}.mr-n-xl{margin-right:calc(-1 * var(--spacing-xl))!important}.mx-xs{margin-left:var(--spacing-xs)!important;margin-right:var(--spacing-xs)!important}.mx-sm{margin-left:var(--spacing-sm)!important;margin-right:var(--spacing-sm)!important}.mx-md{margin-left:var(--spacing-md)!important;margin-right:var(--spacing-md)!important}.mx-lg{margin-left:var(--spacing-lg)!important;margin-right:var(--spacing-lg)!important}.mx-xl{margin-left:var(--spacing-xl)!important;margin-right:var(--spacing-xl)!important}.my-xs{margin-top:var(--spacing-xs)!important;margin-bottom:var(--spacing-xs)!important}.my-sm{margin-top:var(--spacing-sm)!important;margin-bottom:var(--spacing-sm)!important}.my-md{margin-top:var(--spacing-md)!important;margin-bottom:var(--spacing-md)!important}.my-lg{margin-top:var(--spacing-lg)!important;margin-bottom:var(--spacing-lg)!important}.my-xl{margin-top:var(--spacing-xl)!important;margin-bottom:var(--spacing-xl)!important}.px-xs{padding-left:var(--spacing-xs)!important;padding-right:var(--spacing-xs)!important}.px-sm{padding-left:var(--spacing-sm)!important;padding-right:var(--spacing-sm)!important}.px-md{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.px-lg{padding-left:var(--spacing-lg)!important;padding-right:var(--spacing-lg)!important}.px-xl{padding-left:var(--spacing-xl)!important;padding-right:var(--spacing-xl)!important}.py-xs{padding-top:var(--spacing-xs)!important;padding-bottom:var(--spacing-xs)!important}.py-sm{padding-top:var(--spacing-sm)!important;padding-bottom:var(--spacing-sm)!important}.py-md{padding-top:var(--spacing-md)!important;padding-bottom:var(--spacing-md)!important}.py-lg{padding-top:var(--spacing-lg)!important;padding-bottom:var(--spacing-lg)!important}.py-xl{padding-top:var(--spacing-xl)!important;padding-bottom:var(--spacing-xl)!important}.space-x-xs>*+*{margin-left:var(--spacing-xs)!important}.space-x-sm>*+*{margin-left:var(--spacing-sm)!important}.space-x-md>*+*{margin-left:var(--spacing-md)!important}.space-x-lg>*+*{margin-left:var(--spacing-lg)!important}.space-x-xl>*+*{margin-left:var(--spacing-xl)!important}.space-y-xs>*+*{margin-top:var(--spacing-xs)!important}.space-y-sm>*+*{margin-top:var(--spacing-sm)!important}.space-y-md>*+*{margin-top:var(--spacing-md)!important}.space-y-lg>*+*{margin-top:var(--spacing-lg)!important}.space-y-xl>*+*{margin-top:var(--spacing-xl)!important}.bg-primary{background-color:var(--bg-primary)!important}.bg-secondary{background-color:var(--bg-secondary)!important}.bg-tertiary{background-color:var(--bg-tertiary)!important}.bg-muted{background-color:var(--bg-muted)!important}.bg-success{background-color:var(--success-color)!important}.bg-success-light{background-color:var(--success-light)!important}.bg-warning{background-color:var(--warning-color)!important}.bg-warning-light{background-color:var(--warning-light)!important}.bg-error{background-color:var(--error-color)!important}.bg-error-light{background-color:var(--error-light)!important}.bg-info{background-color:var(--info-color)!important}.bg-info-light{background-color:var(--info-light)!important}.bg-transparent{background-color:transparent!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-inverse{color:var(--text-inverse)!important}.text-success{color:var(--success-color)!important}.text-warning{color:var(--warning-color)!important}.text-error{color:var(--error-color)!important}.text-info{color:var(--info-color)!important}.text-primary-brand{color:var(--primary-color)!important}.text-secondary-brand{color:var(--secondary-color)!important}.border-primary{border-color:var(--border-color)!important}.border-light{border-color:var(--border-light)!important}.border-dark{border-color:var(--border-dark)!important}.border-focus{border-color:var(--border-focus)!important}.border-success{border-color:var(--success-color)!important}.border-warning{border-color:var(--warning-color)!important}.border-error{border-color:var(--error-color)!important}.border-info{border-color:var(--info-color)!important}.border-transparent{border-color:transparent!important}.border{border:var(--border-width) solid var(--border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--border-width) solid var(--border-color)!important}.border-bottom{border-bottom:var(--border-width) solid var(--border-color)!important}.border-left{border-left:var(--border-width) solid var(--border-color)!important}.border-right{border-right:var(--border-width) solid var(--border-color)!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:var(--border-radius-sm)!important}.rounded-md{border-radius:var(--border-radius-md)!important}.rounded-lg{border-radius:var(--border-radius-lg)!important}.rounded-xl{border-radius:var(--border-radius-xl)!important}.rounded-full{border-radius:50%!important}.rounded-pill{border-radius:var(--border-radius-pill)!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.shadow-xl{box-shadow:var(--shadow-xl)!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.icon-success{color:var(--success-color, #28a745)}.icon-danger{color:#dc2626}.icon-warning{color:#d97706}.icon-info{color:var(--info-color, #17a2b8)}.icon-muted{color:var(--text-muted, #6c757d)}.icon-stroke-medium{stroke-width:2.5px}.icon-stroke-bold{stroke-width:3px}.admin-tab-bar{display:flex;flex-direction:row;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color);background:var(--admin-tab-bg);padding:var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap}.admin-tab-bar button{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);box-shadow:var(--shadow-sm);white-space:nowrap}.admin-tab-bar button.active{background:var(--admin-tab-active);border-color:var(--admin-tab-active);color:var(--text-inverse);font-weight:var(--font-weight-semibold);box-shadow:0 2px 4px #2a79c94d}.admin-tab-bar button:hover:not(.active){background:var(--admin-tab-hover);border-color:var(--admin-tab-active);color:var(--admin-tab-active);box-shadow:var(--shadow-md)}.student-nav-menu .nav-panel{background:var(--bg-secondary);border-left:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-lg)}.student-nav-menu .nav-btn{transition:all var(--transition-base)}.student-nav-menu .nav-btn:hover{background:var(--bg-tertiary);border-color:var(--border-dark)}.student-nav-menu .nav-btn.primary{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.student-nav-menu .nav-btn.primary:hover{background:var(--primary-bg-subtle, rgba(27, 117, 210, .08));color:var(--primary-hover);border-color:var(--primary-hover)}.radio-btn{background:var(--bg-tertiary);border:var(--border-width) solid var(--border-color);color:var(--text-secondary);transition:all var(--transition-base)}.radio-btn:hover{background:var(--admin-tab-hover);color:var(--primary-color);border-color:var(--primary-color)}.radio-btn.active{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.admin-status-msg{color:#2d5c38;font-size:var(--font-size-base);min-height:1.2em;margin:var(--spacing-sm) 0}.admin-status-msg.error{color:var(--error-color)}.admin-pagination{display:flex;gap:var(--spacing-md);align-items:center;margin-top:var(--spacing-md)}.admin-pagination button{padding:var(--spacing-xs) var(--spacing-md);background:var(--admin-tab-hover);color:var(--primary-color);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-pagination button:not(:disabled):hover{background:#d6e3fa}.debug-menu{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg)}.form-grid label{color:var(--text-primary);font-weight:var(--font-weight-medium)}.card{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.card-header{border-bottom:var(--border-width) solid var(--border-color);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md)}.card-title{margin:0;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}@media (max-width: 768px){.admin-tab-bar{padding:var(--spacing-sm);gap:var(--spacing-xs)}.admin-tab-bar button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}body.privacy-blur-active.privacy-blur-names .student-name,body.privacy-blur-active.privacy-blur-names .student-name *,body.privacy-blur-active.privacy-blur-names .ta-name,body.privacy-blur-active.privacy-blur-names .col-student .student-info,body.privacy-blur-active.privacy-blur-names .student-badge strong,body.privacy-blur-active.privacy-blur-names .ssid-badge,body.privacy-blur-active.privacy-blur-names .ferpa-pii{filter:blur(6px);-webkit-user-select:none;user-select:none}body.privacy-blur-active.privacy-blur-table .students-table-panel{filter:blur(5px);-webkit-user-select:none;user-select:none;pointer-events:none}body.privacy-blur-active.privacy-blur-full #main-content{filter:blur(10px);-webkit-user-select:none;user-select:none;pointer-events:none}body.privacy-blur-active.privacy-blur-full .privacy-blur-overlay{pointer-events:auto}.admin-aide-schedule-detailed{padding:20px}.admin-aide-schedule-detailed .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.admin-aide-schedule-detailed .header h1{margin:0;color:#333}.admin-aide-schedule-detailed .header-actions{display:flex;gap:10px;align-items:center}.schedule-border{border:2px solid #007bff;border-radius:8px;padding:20px;background:#fff;box-shadow:0 4px 8px #0000001a}.master-schedule{padding:0}.schedule-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.master-schedule-table{width:100%;border-collapse:collapse;min-width:800px}.master-schedule-table th,.master-schedule-table td{border:1px solid #dee2e6;padding:12px;text-align:left;vertical-align:top}.master-schedule-table th{background:#f8f9fa;font-weight:600;color:#495057;position:sticky;top:0;z-index:10}.aide-name-header{min-width:200px}.time-block-header{position:absolute;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:.75em;font-weight:500;color:#333;border-right:1px solid #dee2e6;text-align:center;padding:4px;box-sizing:border-box}.header-content{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center}.time-range{font-weight:600;font-size:.9em;color:#333}.block-name{font-size:.8em;color:#666;text-transform:capitalize}.aide-name-cell{background:#f8f9fa;font-weight:500}.aide-info{display:flex;flex-direction:column;gap:8px}.aide-name{font-weight:600;color:#333}.edit-btn{align-self:flex-start;padding:4px 8px;font-size:.8em}.time-block-cell{background:#fff;min-height:80px}.time-block-cell.period{border-left:4px solid #007bff}.time-block-cell.break{border-left:4px solid #ffc107}.time-block-cell.lunch{border-left:4px solid #28a745}.cell-content{display:flex;flex-direction:column;gap:4px;height:100%}.assignment-display{display:flex;flex-direction:column;gap:2px}.assignment-text{font-weight:500;color:#333;font-size:.9em}.assignment-source{font-size:.7em;color:#666;font-style:italic}.custom-time-indicator{font-size:.8em;color:#888;margin-top:2px}.no-assignment{color:#bbb;font-style:italic;font-size:.9em}.time-tick-row{display:flex;align-items:center;height:24px;width:100%}.time-tick-row .tick-label{width:40px;text-align:right;font-size:.9em;color:#333;padding-right:6px}.time-tick-row .tick-line{flex:1;height:1px;background:#e0e0e0}.time-tick-row.active .tick-label{color:#333;font-weight:500}.time-tick-row.inactive{background:#f3f3f3}.time-tick-row.inactive .tick-label{color:#bbb;font-weight:400}.time-tick-row.inactive .tick-line{background:#ededed}.assignment-box{position:absolute;left:20px;width:160px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#333;border:2px solid #b3c6e0;box-shadow:0 2px 8px #2a79c914;cursor:grab;z-index:2;transition:top .2s;background:#e0e0e0}.assignment-content{display:flex;flex-direction:column;align-items:center}.assignment-time{font-size:.9em;font-weight:500}.assignment-label{font-size:.9em}.resize-handle{width:100%;height:8px;background:#b3c6e0;border-radius:0 0 6px 6px;cursor:ns-resize;margin-top:2px}.dialog-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0003;z-index:1000;display:flex;align-items:center;justify-content:center}.edit-dialog{background:#fff;border-radius:10px;box-shadow:0 4px 24px #0000002e;max-width:900px;width:900px;padding:0 0 20px;position:relative;max-height:90vh!important;overflow-y:auto!important}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 10px;border-bottom:1px solid #e0e0e0}.dialog-content{padding:20px 24px 0;overflow-x:auto;max-height:70vh!important;overflow-y:auto!important}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 0}.import-assignments-row{margin-bottom:12px}.add-assignment-row{margin-top:18px}.add-assignment-options{display:flex;gap:8px;margin-top:8px}.btn{display:flex;align-items:center;gap:5px;padding:10px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#6c757d;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-small{padding:5px 10px;font-size:.9em}.no-data-message,.loading,.error-message{text-align:center;padding:40px;color:#666}.time-table-tab-bar{display:flex;gap:8px;margin-bottom:16px}.tab-btn{padding:8px 18px;border-radius:6px 6px 0 0;background:#f8f9fa;color:#333;font-weight:500;cursor:pointer;border:1px solid #e0e0e0;border-bottom:none;transition:background .2s}.tab-btn.active{background:#fff;color:#007bff;border-bottom:2px solid #007bff}.dialog-header-actions{display:flex;gap:10px;align-items:center}.dialog-header-actions .btn{padding:6px 12px;font-size:.9em}
