@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.slideover-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.slideover-panel{background:#fff;flex-direction:column;max-width:100%;height:100vh;animation:.25s slideOverIn;display:flex;box-shadow:-20px 0 50px #0f172a2e}@keyframes slideOverIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.slideover-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;padding:24px 28px;display:flex}.slideover-header h2{color:#0f172a;margin:0;font-size:22px}.slideover-header p{color:#64748b;margin:6px 0 0;font-size:14px}.slideover-close{cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.slideover-content{flex:1;padding:24px 28px;overflow-y:auto}.slideover-footer{background:#fff;border-top:1px solid #edf2f7;justify-content:flex-end;gap:12px;padding:18px 28px;display:flex}.confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#0f172a7a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{text-align:center;background:#fff;border-radius:20px;width:420px;max-width:calc(100% - 32px);padding:26px;box-shadow:0 24px 60px #0f172a38}.confirm-icon{color:#dc2626;background:#fef2f2;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 16px;display:flex}.confirm-dialog h2{color:#0f172a;margin:0;font-size:20px}.confirm-dialog p{color:#64748b;margin:10px 0 22px;font-size:14px;line-height:1.6}.confirm-actions{justify-content:center;gap:12px;display:flex}.confirm-cancel-btn,.confirm-delete-btn{cursor:pointer;border-radius:12px;height:42px;padding:0 18px;font-size:14px;font-weight:600}.confirm-cancel-btn{color:#334155;background:#fff;border:1px solid #dbe4ef}.confirm-delete-btn{color:#fff;background:#dc2626;border:none}.confirm-delete-btn:hover{background:#b91c1c}.confirm-cancel-btn:disabled,.confirm-delete-btn:disabled{cursor:not-allowed;opacity:.65}.prompt-dialog{text-align:left}.prompt-dialog .confirm-icon,.prompt-dialog h2,.prompt-dialog>p{text-align:center}.prompt-field-label{color:#334155;margin-bottom:7px;font-size:13px;font-weight:700;display:block}.prompt-reason-input{resize:vertical;color:#0f172a;width:100%;min-height:96px;font:inherit;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:11px 12px;line-height:1.5}.prompt-reason-input.is-error{border-color:#dc2626}.prompt-field-error{color:#dc2626;margin-top:6px;font-size:12px;display:block}.prompt-dialog .confirm-actions{margin-top:20px}.action-menu-dropdown{z-index:999;background:#fff;border:1px solid #edf2f7;border-radius:14px;width:180px;padding:6px;position:absolute;top:42px;right:0;box-shadow:0 18px 38px #0f172a29}.action-menu-dropdown button{text-align:left!important;white-space:nowrap!important;background:0 0!important;border:none!important;border-radius:10px!important;grid-template-columns:18px 1fr!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;width:100%!important;height:38px!important;margin:0!important;padding:0 10px!important;display:grid!important}.action-menu-dropdown{width:190px!important}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);width:260px;min-height:100vh;padding:var(--s6);flex-direction:column;display:flex}.sidebar-brand{margin-bottom:var(--s8)}.sidebar-menu{flex-direction:column;flex:1;display:flex}.sidebar-footer{padding-top:var(--s5);color:var(--text-faint);font-size:12px}.sidebar-brand .logo{flex-shrink:0}.sidebar-brand-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.sidebar-brand-copy>b{overflow-wrap:anywhere}.sidebar-brand .sidebar-brand-credit{color:var(--text-muted,#667085);font-size:11px;font-weight:400;line-height:1.5;text-decoration:none}.sidebar-brand .sidebar-brand-credit:hover{text-decoration:underline}.sidebar-brand .sidebar-brand-credit:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.notification-root{position:relative}.notification-popover{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);z-index:100;border-radius:14px;width:min(390px,90vw);max-height:65vh;position:absolute;top:45px;right:0;overflow:auto;box-shadow:0 16px 40px #0f172a20}.notification-content{padding:16px}.notification-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.notification-content button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;font-size:12px}.notification-content button:disabled{opacity:.5;cursor:default}.notification-content ul{margin:12px 0 0;padding:0;list-style:none}.notification-content li{border-top:1px solid var(--border,#e2e8f0);padding:14px;font-size:13px}.notification-content li.is-unread{background:var(--accent-soft,#eaf1fe);border-radius:8px}.notification-content li p,.notification-empty{color:var(--text-muted,#64748b);font-size:13px;line-height:1.6}.notification-content li div{color:var(--text-muted,#64748b);justify-content:space-between;gap:12px;font-size:11px;display:flex}.t-small{font-size:12px}.btn-small{padding:6px 12px;font-size:12px}.dash-page{gap:var(--s5);flex-direction:column;display:flex}.dash-header{justify-content:space-between;align-items:flex-end;display:flex}.dash-title{letter-spacing:-.02em;color:var(--text);font-size:28px;font-weight:700}.dash-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.section-header{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.section-header-text{flex-direction:column;gap:2px;display:flex}.dash-empty-state{padding:var(--s6) 0;text-align:center}.dash-kpi-grid{gap:var(--s5);grid-template-columns:repeat(4,1fr);display:grid}.kpi-card{min-height:148px;padding:var(--s5);cursor:pointer;flex-direction:column;justify-content:space-between;transition:box-shadow .2s,transform .2s,border-color .2s;animation:.35s fadeUp;display:flex}.kpi-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-soft);transform:translateY(-4px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kpi-top{margin-bottom:var(--s4);justify-content:space-between;align-items:flex-start;display:flex}.kpi-icon-chip{border-radius:var(--r-md);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-icon-chip svg{width:20px;height:20px}.kpi-chip-purple{background:var(--chip-purple-bg);color:var(--chip-purple)}.kpi-chip-green{background:var(--chip-green-bg);color:var(--chip-green)}.kpi-chip-amber{background:var(--chip-amber-bg);color:var(--chip-amber)}.kpi-chip-red{background:var(--err-bg);color:var(--err-text)}.kpi-trend{border-radius:var(--r-pill);white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.4}.kpi-trend-up{background:var(--ok-bg);color:var(--ok-text)}.kpi-trend-down{background:var(--err-bg);color:var(--err-text)}.kpi-trend-info{background:var(--info-bg);color:var(--info-text)}.kpi-trend-warn{background:var(--warn-bg);color:var(--warn-text)}.kpi-trend-neutral{background:var(--mute-bg);color:var(--mute-text)}.kpi-body{flex-direction:column;gap:4px;display:flex}.kpi-value{letter-spacing:-.01em;color:var(--text);font-size:30px;font-weight:700;line-height:1.15}.kpi-label{color:var(--text-muted);font-size:12.5px;font-weight:600}.dash-main-grid{gap:var(--s6);grid-template-columns:2fr 1fr;align-items:start;display:grid}.dash-col-main,.dash-col-side{gap:var(--s6);flex-direction:column;display:flex}.dash-analytics-grid{gap:var(--s5);grid-template-columns:1fr 1fr;display:grid}.analytics-card{padding:var(--s5)}.bar-chart{justify-content:space-between;align-items:flex-end;gap:var(--s3);height:140px;display:flex}.bar-chart-col{align-items:center;gap:var(--s2);flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex}.bar-chart-track{background:var(--bg);border-radius:var(--r-sm);align-items:flex-end;width:100%;height:100%;display:flex;overflow:hidden}.bar-chart-fill{background:var(--accent);border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;transition:height .3s}.donut-wrap{padding:var(--s4) 0;justify-content:center;align-items:center;display:flex}.donut{border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex}.donut-hole{background:var(--surface);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.donut-value{color:var(--text);font-size:22px;font-weight:700}.hbar-list{gap:var(--s3);flex-direction:column;display:flex}.hbar-row{align-items:center;gap:var(--s3);grid-template-columns:110px 1fr 40px;display:grid}.hbar-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hbar-track{border-radius:var(--r-pill);background:var(--bg);height:8px;overflow:hidden}.hbar-fill{background:var(--accent);border-radius:var(--r-pill);height:100%}.hbar-fill-alt{background:var(--chip-green)}.hbar-value{text-align:right;color:var(--text-muted);font-weight:600}.activity-card{padding:var(--s5)}.activity-list{flex-direction:column;display:flex}.activity-row{gap:var(--s3);display:flex}.activity-line-wrap{flex-direction:column;align-items:center;display:flex}.activity-dot{border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.activity-dot svg{width:14px;height:14px}.activity-dot-ok{background:var(--ok-bg);color:var(--ok-text)}.activity-dot-err{background:var(--err-bg);color:var(--err-text)}.activity-dot-info{background:var(--info-bg);color:var(--info-text)}.activity-dot-purple{background:var(--chip-purple-bg);color:var(--chip-purple)}.activity-line{background:var(--border);flex:1;width:2px;margin:4px 0}.activity-content{padding-bottom:var(--s5)}.alerts-card{padding:var(--s5)}.alerts-list{gap:var(--s3);flex-direction:column;display:flex}.alert-item{gap:var(--s3);padding:var(--s3);border-radius:var(--r-md);border-left:3px solid #0000;display:flex}.alert-icon{border-radius:var(--r-md);flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.alert-icon svg{width:16px;height:16px}.alert-title{font-size:13px;font-weight:600}.alert-critical{background:var(--err-bg);border-left-color:var(--err-text)}.alert-critical .alert-icon{color:var(--err-text);background:0 0}.alert-warning{background:var(--warn-bg);border-left-color:var(--warn-text)}.alert-warning .alert-icon{color:var(--warn-text);background:0 0}.alert-info{background:var(--info-bg);border-left-color:var(--info-text)}.alert-info .alert-icon{color:var(--info-text);background:0 0}.alert-success{background:var(--ok-bg);border-left-color:var(--ok-text)}.alert-success .alert-icon{color:var(--ok-text);background:0 0}.quick-actions-card{padding:var(--s5)}.quick-actions-grid{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.qa-btn{justify-content:flex-start;align-items:center;gap:var(--s2);text-align:left;display:flex}.qa-icon{flex:none;justify-content:center;align-items:center;display:flex}.qa-icon svg{width:16px;height:16px}.ai-insights-card{padding:var(--s5)}.ai-insights-list{gap:var(--s3);flex-direction:column;display:flex}.ai-insight-item{gap:var(--s3);padding:var(--s3);border-radius:var(--r-md);background:var(--bg);display:flex}.ai-insight-icon{border-radius:var(--r-md);flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ai-insight-icon svg{width:16px;height:16px}.ai-insight-icon-purple{background:var(--chip-purple-bg);color:var(--chip-purple)}.ai-insight-icon-red{background:var(--err-bg);color:var(--err-text)}.ai-insight-icon-amber{background:var(--chip-amber-bg);color:var(--chip-amber)}.ai-insight-icon-green{background:var(--chip-green-bg);color:var(--chip-green)}.ai-insight-title{font-size:13px;font-weight:600}.recent-tt-card{padding:var(--s5) var(--s5) 0}.recent-tt-controls{gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.recent-tt-search{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-width:180px;color:var(--text);flex:1;padding:8px 12px;font-size:13px}.recent-tt-search::placeholder{color:var(--text-faint)}.recent-tt-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.recent-tt-filter{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:8px 12px;font-size:13px}.recent-tt-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tbl-scroll{margin:0 calc(var(--s5) * -1);overflow-x:auto}.tbl-scroll table{min-width:640px}.tbl-scroll thead th:first-child,.tbl-scroll tbody td:first-child{padding-left:var(--s5)}.tbl-scroll thead th:last-child,.tbl-scroll tbody td:last-child{padding-right:var(--s5)}.topbar{padding:var(--s4) var(--s6);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.topbar-title-wrap{flex-direction:column;gap:2px;display:flex}.topbar-title{letter-spacing:-.01em;color:var(--text);font-size:18px;font-weight:700}.topbar-subtitle{color:var(--text-muted);font-size:12px}.topbar-right{align-items:center;display:flex}.topbar-search{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:240px;color:var(--text);margin-right:24px;padding:9px 13px;font-size:13px}.topbar-search::placeholder{color:var(--text-faint)}.topbar-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.topbar-clock{flex-direction:column;align-items:flex-end;margin-right:20px;line-height:1.3;display:flex}.topbar-clock-time{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.topbar-clock-date{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:500}.topbar-icon-btn{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--text-muted);box-shadow:var(--shadow-sm);flex:none;justify-content:center;align-items:center;margin-right:16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex;position:relative}.topbar-icon-btn:hover{background:var(--bg);border-color:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-md)}.topbar-icon-btn svg{width:18px;height:18px}.topbar-icon-btn:after{content:"";background:#ef4444;border-radius:50%;width:8px;height:8px;display:none;position:absolute;top:8px;right:8px}@media (width<=1100px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-main-grid,.dash-analytics-grid{grid-template-columns:1fr}}@media (width<=640px){.dash-kpi-grid,.quick-actions-grid{grid-template-columns:1fr}.hbar-row{grid-template-columns:90px 1fr 34px}.dash-header{align-items:flex-start;gap:var(--s2);flex-direction:column}.recent-tt-controls{flex-direction:column}.topbar-search,.topbar-clock-date{display:none}}.topbar{background:#fff;border-bottom:1px solid #e9edf5;justify-content:space-between;align-items:center;height:84px;padding:0 28px;display:flex}.topbar-spacer{flex:1}.topbar-right{align-items:center;gap:18px;display:flex}.topbar-search{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:320px;height:46px;padding:0 18px;font-size:14px;transition:all .2s}.topbar-search:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 4px #2563eb14}.topbar-clock{flex-direction:column;align-items:center;min-width:100px;display:flex}.topbar-clock-time{color:#1e293b;font-size:22px;font-weight:700;line-height:1}.topbar-clock-date{color:#64748b;margin-top:5px;font-size:13px}.topbar-icon-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;transition:all .2s;display:flex;position:relative}.topbar-icon-btn:hover{background:#f8fafc;border-color:#2563eb}.topbar-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.topbar-profile{align-items:center;display:flex}.avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#4f46e5);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;transition:transform .2s;display:flex}.avatar:hover{transform:scale(1.06)}.topbar-profile .avatar{flex:0 0 44px;width:44px;min-width:44px;height:44px}.dashboard-export-menu{width:100%}.dashboard-export-menu .export-menu-trigger{border-color:var(--border);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;justify-content:flex-start;padding:0 14px;font-size:13px;font-weight:600}.dashboard-export-menu .export-menu-trigger:hover:not(:disabled){color:#1d4ed8;background:#f8fbff;border-color:#bfdbfe}.dashboard-export-menu .export-menu-chevron{margin-left:auto}.dashboard-export-menu .export-menu-dropdown{left:auto;right:0}.scoped-dashboard-card{padding:var(--s5);overflow:hidden}.scoped-dashboard-card .section-header{margin-bottom:var(--s4)}.scoped-dashboard-card .section-header h2,.scoped-dashboard-card .section-header h3{color:#1e293b;margin:0;font-size:18px;font-weight:700;line-height:1.3}.scoped-dashboard-list{flex-direction:column;gap:12px;display:flex}.scoped-dashboard-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 16px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.scoped-dashboard-item:hover{background:#fff;border-color:#bfdbfe;box-shadow:0 4px 14px #0f172a0f}.scoped-dashboard-item>div{flex-direction:column;gap:5px;min-width:0;display:flex}.scoped-dashboard-item strong{color:#1e293b;font-size:14px;font-weight:700;line-height:1.35}.scoped-dashboard-item>strong{color:#2563eb;flex-shrink:0;font-size:16px;font-weight:750}.scoped-dashboard-item span{color:#64748b;font-size:12px;line-height:1.45}.scoped-status{white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-height:26px;padding:4px 10px;font-weight:700;line-height:1;display:inline-flex;font-size:11px!important}.scoped-status.pending{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.scoped-status.confirmed,.scoped-status.available{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.scoped-status.warning{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}@media (width<=900px){.scoped-dashboard-card{padding:18px}}@media (width<=640px){.scoped-dashboard-card{padding:16px}.scoped-dashboard-item{flex-direction:column;align-items:flex-start;gap:10px;min-height:auto;padding:14px}.scoped-dashboard-item>strong,.scoped-status{align-self:flex-start}}.quick-actions-grid>:only-child{grid-column:1/-1;width:100%}.dashboard-layout{background:#f8fafc;min-height:100vh;display:flex}.dashboard-main{flex-direction:column;flex:1;min-width:0;display:flex}.dashboard-content{flex:1;padding:24px}.login-page{color:#172033;background:#f8fafc;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-showcase{background:radial-gradient(circle at 15% 12%,#3b82f61f,#0000 34%),radial-gradient(circle at 88% 88%,#0ea5e91a,#0000 32%),linear-gradient(145deg,#f8fbff 0%,#eef5ff 52%,#f8fafc 100%);border-right:1px solid #e2e8f0;min-height:100vh;padding:48px clamp(40px,5vw,76px);display:flex;position:relative;overflow:hidden}.login-showcase:before,.login-showcase:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.login-showcase:before{border:1px solid #3b82f61f;width:300px;height:300px;top:-120px;right:-110px}.login-showcase:after{border:1px solid #0ea5e91f;width:360px;height:360px;bottom:-150px;left:-110px}.login-showcase-content{z-index:1;width:min(100%,760px);margin:auto;position:relative}.login-brand,.login-mobile-brand{align-items:center;gap:12px;display:flex}.login-brand-mark{color:#fff;background:linear-gradient(145deg,#2563eb,#0ea5e9);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 10px 24px #2563eb33}.login-brand-name{color:#172033;letter-spacing:-.45px;font-size:22px;font-weight:800;line-height:1.05}.login-brand-tagline{color:#64748b;letter-spacing:.02em;margin-top:5px;font-size:12px;font-weight:600}.login-showcase-copy{max-width:680px;margin-top:clamp(48px,7vh,78px)}.login-eyebrow{color:#1d4ed8;background:#ffffffd1;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 5px 16px #1e40af0f}.login-showcase-copy h1{color:#172033;letter-spacing:-2.1px;max-width:650px;margin:20px 0 16px;font-size:clamp(36px,4.1vw,56px);font-weight:800;line-height:1.06}.login-showcase-copy p{color:#526179;max-width:620px;margin:0;font-size:17px;line-height:1.72}.campus-overview{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffde;border:1px solid #cbd5e1d1;border-radius:24px;margin-top:clamp(34px,5vh,52px);padding:22px;box-shadow:0 26px 65px #1f293717,0 6px 18px #2563eb0d}.campus-overview-header{border-bottom:1px solid #e8edf4;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.campus-overview-header>div:first-child{flex-direction:column;gap:4px;display:flex}.campus-overview-header span{color:#8491a5;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:700}.campus-overview-header strong{color:#1e293b;font-size:17px}.campus-live-status{color:#15803d;white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.campus-live-status>span{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite campusPulse;box-shadow:0 0 0 5px #22c55e1c}.campus-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:17px;display:grid}.campus-capability-card{opacity:0;min-height:72px;animation:.5s forwards capabilityEnter;animation-delay:calc(var(--capability-index) * 70ms + .12s);background:#fff;border:1px solid #e8edf4;border-radius:16px;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:13px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;transform:translateY(8px)}.campus-capability-card:hover{border-color:#d4deeb;transform:translateY(-2px);box-shadow:0 10px 25px #1e293b12}.campus-capability-icon{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.campus-capability-card>div{flex-direction:column;gap:4px;min-width:0;display:flex}.campus-capability-card strong{color:#263247;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;overflow:hidden}.campus-capability-card>div>span{color:#8491a5;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;overflow:hidden}.campus-capability-check{color:#16a34a;background:#ecfdf3;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;font-weight:900;display:grid}.campus-tone-blue .campus-capability-icon{color:#2563eb;background:#eff6ff}.campus-tone-green .campus-capability-icon{color:#16a34a;background:#f0fdf4}.campus-tone-orange .campus-capability-icon{color:#ea580c;background:#fff7ed}.campus-tone-violet .campus-capability-icon{color:#7c3aed;background:#f5f3ff}.campus-tone-cyan .campus-capability-icon{color:#0891b2;background:#ecfeff}.campus-tone-rose .campus-capability-icon{color:#e11d48;background:#fff1f2}.campus-insight-row{background:linear-gradient(90deg,#f8fbff,#eff6ff);border:1px solid #dbeafe;border-radius:15px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:13px;padding:13px 14px;display:grid}.campus-insight-icon{color:#2563eb;background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 5px 12px #2563eb17}.campus-insight-row>div:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.campus-insight-row strong{color:#263247;font-size:12px}.campus-insight-row>div:nth-child(2) span{color:#738198;font-size:10px;line-height:1.4}.campus-insight-badge{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.login-showcase-note{color:#7b8799;text-align:center;margin:20px 0 0;font-size:12px}.login-panel{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:44px clamp(30px,5vw,72px);display:flex}.login-form-wrapper{width:min(100%,440px)}.login-mobile-brand{display:none}.login-card,.auth-form-card{width:100%}.login-heading{margin-bottom:28px}.login-welcome-icon{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:17px;display:grid}.login-heading h2{color:#172033;letter-spacing:-.8px;margin:0;font-size:30px;font-weight:800;line-height:1.18}.login-heading p{color:#6b778c;margin:10px 0 0;font-size:14px;line-height:1.65}.login-form{flex-direction:column;gap:19px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field label,.login-label-row label{color:#344054;font-size:13px;font-weight:700}.login-label-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-text-button{color:#2563eb;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;text-decoration:none}.login-text-button:hover{color:#1d4ed8;text-decoration:underline}.login-input-wrap{background:#fff;border:1px solid #d8e0eb;border-radius:13px;align-items:center;gap:10px;min-height:50px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.login-input-wrap:focus-within{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61c}.login-input-wrap>svg{color:#94a3b8;flex:none;transition:color .16s}.login-input-wrap:focus-within>svg{color:#2563eb}.login-input-wrap input{color:#1e293b;width:100%;min-width:0;height:48px;font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:14px}.login-input-wrap input::placeholder{color:#a3afbf}.login-password-toggle{color:#7b8799;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.login-password-toggle:hover{color:#2563eb;background:#eff6ff}.login-password-toggle:focus-visible,.login-submit:focus-visible,.auth-account-link a:focus-visible,.login-signup-prompt a:focus-visible{outline-offset:2px;outline:3px solid #3b82f647}.login-remember{color:#5f6c80;cursor:pointer;align-items:center;gap:9px;font-size:12px;display:flex}.login-remember input{accent-color:#2563eb;width:16px;height:16px;margin:0}.login-error,.auth-success{border-radius:11px;align-items:flex-start;gap:9px;padding:12px 13px;font-size:12px;line-height:1.5;display:flex}.login-error{color:#b42318;background:#fff5f5;border:1px solid #fecaca}.auth-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.auth-success svg{flex:none;margin-top:1px}.login-submit{color:#fff;min-height:50px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1676dc);border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:800;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex;box-shadow:0 11px 24px #2563eb38}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #2563eb47}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.62;cursor:not-allowed}.login-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.75s linear infinite loginSpin}.login-account-divider{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;margin:26px 0 18px;font-size:11px;font-weight:700;display:flex}.login-account-divider:before,.login-account-divider:after{content:"";background:#e6ebf2;flex:1;height:1px}.login-signup-prompt{color:#6b778c;text-align:center;margin:0;font-size:13px;line-height:1.55}.login-signup-prompt a{color:#2563eb;background:#fff;border:1px solid #d8e0eb;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:45px;margin-top:12px;font-size:13px;font-weight:800;text-decoration:none;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.login-signup-prompt a:hover{background:#f8fbff;border-color:#93c5fd;transform:translateY(-1px)}.login-security-note{color:#7b8799;text-align:center;justify-content:center;align-items:center;gap:7px;margin-top:22px;font-size:11px;display:flex}.login-security-note svg{color:#22a06b;flex:none}.login-footer{color:#9aa5b5;text-align:center;margin:26px 0 0;font-size:11px}.auth-single-page{background:radial-gradient(circle at 12% 10%,#3b82f61f,#0000 30%),radial-gradient(circle at 90% 90%,#0ea5e91a,#0000 32%),#f4f8fd;justify-content:center;align-items:center;padding:32px;display:flex}.auth-single-panel{background:0 0;width:100%;min-height:auto;padding:0}.auth-form-card{background:#fffffff5;border:1px solid #dfe7f0;border-radius:24px;width:min(100%,500px);margin:auto;padding:clamp(28px,4vw,42px);box-shadow:0 24px 60px #1e293b1a,0 5px 16px #2563eb0d}.auth-form-card .login-heading{text-align:center}.auth-form-card .login-welcome-icon{margin-left:auto;margin-right:auto}.auth-account-link{color:#6b778c;text-align:center;margin:24px 0 0;font-size:13px;line-height:1.5}.auth-account-link a{color:#2563eb;align-items:center;gap:5px;font-weight:800;text-decoration:none;display:inline-flex}.auth-account-link a:hover{color:#1d4ed8;text-decoration:underline}@keyframes loginSpin{to{transform:rotate(360deg)}}@keyframes campusPulse{0%,to{box-shadow:0 0 0 4px #22c55e1a}50%{box-shadow:0 0 0 7px #22c55e0a}}@keyframes capabilityEnter{to{opacity:1;transform:translateY(0)}}@media (width<=1180px){.login-page{grid-template-columns:minmax(0,1fr) minmax(390px,.82fr)}.login-showcase{padding:40px}.login-showcase-copy h1{font-size:42px}.campus-capability-card{grid-template-columns:36px minmax(0,1fr)}.campus-capability-check{display:none}}@media (width<=940px){.login-page{display:block}.login-showcase{border-bottom:1px solid #e2e8f0;border-right:0;min-height:auto;padding:34px 28px 48px}.login-showcase-content{width:min(100%,720px)}.login-showcase-copy{margin-top:42px}.login-showcase-copy h1{max-width:650px;font-size:clamp(34px,7vw,48px)}.login-panel{min-height:auto;padding:54px 24px}.login-form-wrapper{width:min(100%,520px)}.login-mobile-brand{display:none}.auth-single-page{min-height:100vh;padding:24px}}@media (width<=620px){.login-showcase{display:none}.login-panel{min-height:100vh;padding:28px 20px}.login-mobile-brand{margin-bottom:44px;display:flex}.login-card{width:100%}.login-heading h2{font-size:27px}.login-footer{margin-top:34px}.auth-single-page{padding:16px;display:flex}.auth-single-panel{align-items:center;min-height:calc(100vh - 32px);padding:0;display:flex}.auth-form-card{border-radius:20px;padding:26px 20px}.auth-form-card .login-heading h2{font-size:25px}}@media (width<=420px){.login-panel{padding-left:17px;padding-right:17px}.login-mobile-brand{margin-bottom:36px}.login-heading{margin-bottom:24px}.login-form{gap:17px}.login-label-row,.login-remember{align-items:flex-start}.auth-single-page{background:#fff;padding:0}.auth-single-panel{min-height:100vh}.auth-form-card{box-shadow:none;border:0;border-radius:0;padding:30px 18px}}@media (prefers-reduced-motion:reduce){.campus-capability-card,.campus-live-status>span,.login-spinner{animation:none}.campus-capability-card{opacity:1;transform:none}.login-submit,.login-signup-prompt a,.campus-capability-card{transition:none}}.export-menu{flex-shrink:0;display:inline-flex;position:relative}.export-menu-trigger{color:#334155;min-height:42px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8e1ef;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;transition:border-color .16s,color .16s,background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.export-menu-trigger:hover:not(:disabled){color:#1d4ed8;background:#f8fbff;border-color:#93b4f8;box-shadow:0 3px 10px #2563eb14}.export-menu-trigger:focus-visible{outline-offset:2px;border-color:#2563eb;outline:3px solid #2563eb2e}.export-menu-trigger:disabled{cursor:not-allowed;opacity:.55}.export-menu-chevron{transition:transform .16s}.export-menu-chevron.is-open{transform:rotate(180deg)}.export-menu-dropdown{z-index:200;background:#fff;border:1px solid #dfe7f2;border-radius:12px;width:270px;padding:8px;animation:.14s ease-out export-menu-enter;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px #0f172a24,0 4px 12px #0f172a0f}.export-menu-heading{color:#64748b;letter-spacing:.05em;text-transform:uppercase;padding:7px 9px 9px;font-size:11px;font-weight:700}.export-menu-option{color:#1e293b;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:10px;transition:color .14s,background .14s;display:flex}.export-menu-option:hover,.export-menu-option:focus-visible{color:#1d4ed8;background:#eff6ff;outline:none}.export-menu-option-icon{color:#2563eb;background:#eef4ff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.export-menu-option-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.export-menu-option-copy strong{color:inherit;font-size:13px;font-weight:700}.export-menu-option-copy small{color:#7c8ba1;font-size:11px;font-weight:400;line-height:1.35}@keyframes export-menu-enter{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.export-menu,.export-menu-trigger{width:100%}.export-menu-dropdown{width:auto;left:0;right:0}}.file-dropzone-input{display:none}.file-dropzone{color:#2563eb;cursor:pointer;background:#f8fafc;border:1.5px dashed #a9b9d0;width:100%;font-family:inherit;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.file-dropzone.is-panel{text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:150px;padding:24px;display:flex}.file-dropzone.is-compact{text-align:left;border-style:solid;border-radius:10px;align-items:center;gap:8px;width:auto;min-height:40px;padding:0 14px;display:inline-flex}.file-dropzone:hover:not(:disabled),.file-dropzone.has-file{background:#eff6ff;border-color:#60a5fa}.file-dropzone.is-dragging{background:#dbeafe;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 0 0 4px #2563eb1f}.file-dropzone:disabled{cursor:not-allowed;opacity:.65}.file-dropzone-icon{flex-shrink:0;display:inline-flex}.file-dropzone-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.file-dropzone-copy strong{color:#1e293b;font-size:14px;line-height:1.3}.file-dropzone-copy small{color:#64748b;font-size:12px;line-height:1.35}.file-dropzone.is-compact .file-dropzone-copy strong{color:#334155;font-size:13px}.file-dropzone.is-compact .file-dropzone-copy small{font-size:10px}.department-import-security{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.department-import-security>span{color:#15803d;background:#dcfce7;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.department-import-security strong,.department-import-security p{margin:0;display:block}.department-import-security strong{color:#166534;font-size:14px}.department-import-security p{color:#3f7652;margin-top:4px;font-size:12px;line-height:1.5}.department-import-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;margin-bottom:18px;padding:20px}.department-import-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.department-import-section-heading.is-inline{align-items:flex-end}.department-import-section-heading span{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.department-import-section-heading h3{color:#0f172a;margin:4px 0 0;font-size:16px}.department-import-section-heading p{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.5}.department-import-template-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.department-import-template-actions button{color:#2563eb;text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #dbe4ef;border-radius:14px;align-items:center;gap:12px;min-height:68px;padding:12px 14px;display:flex}.department-import-template-actions button:hover{background:#eff6ff;border-color:#93b4f8}.department-import-template-actions button>span{flex-direction:column;flex:1;gap:3px;display:flex}.department-import-template-actions strong{color:#1e293b;font-size:13px}.department-import-template-actions small{color:#64748b;font-size:11px}.department-import-mode{color:#475569;flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.department-import-mode select{color:#1e293b;background:#fff;border:1px solid #dbe4ef;border-radius:10px;min-width:220px;height:40px;padding:0 12px}.department-import-reset{color:#64748b;cursor:pointer;background:0 0;border:0;margin:10px 0 0 auto;font-size:12px;display:block}.department-import-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:13px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:13px 15px;font-size:13px;display:flex}.department-import-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.department-import-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.department-import-summary span{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.department-import-summary strong{color:#0f172a;margin-top:6px;font-size:20px;display:block}.department-import-summary .is-valid strong{color:#15803d}.department-import-summary .is-create strong{color:#2563eb}.department-import-summary .is-update strong{color:#b45309}.department-import-summary .is-invalid{background:#fef2f2;border-color:#fecaca}.department-import-summary .is-invalid strong{color:#dc2626}.department-import-preview-table{border:1px solid #e2e8f0;border-radius:13px;max-height:320px;overflow:auto}.department-import-preview-table table{border-collapse:collapse;width:100%;font-size:12px}.department-import-preview-table th{z-index:1;color:#64748b;text-align:left;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;padding:11px 12px;font-size:10px;position:sticky;top:0}.department-import-preview-table td{color:#334155;vertical-align:top;border-top:1px solid #e2e8f0;padding:12px}.department-import-preview-table tr.has-error{background:#fff7f7}.department-import-operation{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.department-import-operation.is-create{color:#1d4ed8;background:#dbeafe}.department-import-operation.is-update{color:#a16207;background:#fef3c7}.department-import-valid{color:#15803d;align-items:center;gap:5px;font-weight:700;display:inline-flex}.department-import-warning{color:#a16207;line-height:1.45}.department-import-error{color:#b91c1c;line-height:1.45}.department-import-success{text-align:center;background:linear-gradient(145deg,#f0fdf4,#f8fbff);border:1px solid #bbf7d0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.department-import-success>span{color:#15803d;background:#dcfce7;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex}.department-import-success h3{color:#0f172a;margin:18px 0 0;font-size:22px}.department-import-success p{color:#64748b;max-width:470px;margin:8px 0 0;line-height:1.6}@media (width<=720px){.department-import-template-actions{grid-template-columns:1fr}.department-import-section-heading.is-inline{flex-direction:column;align-items:stretch}.department-import-mode select{width:100%;min-width:0}.department-import-summary{grid-template-columns:repeat(2,1fr)}}.teachers-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.teachers-scope-pill{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.teachers-refresh-btn,.teachers-import-btn{color:#334155;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.teachers-import-btn{color:#1d4ed8;border-color:#bfdbfe}.teachers-refresh-btn:disabled,.teachers-import-btn:disabled{cursor:not-allowed;opacity:.55}.teachers-state-banner{border:1px solid;border-radius:12px;align-items:center;gap:11px;margin:0 0 18px;padding:13px 15px;display:flex}.teachers-state-banner>div{flex-direction:column;flex:1;gap:2px;display:flex}.teachers-state-banner strong{font-size:13px}.teachers-state-banner span{font-size:12px}.teachers-state-banner button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:700;display:inline-flex}.teachers-state-banner.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.teachers-state-banner.is-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}@keyframes teachers-spin{to{transform:rotate(360deg)}}.course-multiselect{position:relative}.course-multiselect-trigger{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.course-multiselect-trigger:hover{background:#f8fbff;border-color:#bfdbfe}.course-multiselect-trigger.open{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.course-multiselect-trigger svg{color:#64748b;flex-shrink:0;transition:transform .2s}.course-multiselect-trigger svg.rotated{transform:rotate(180deg)}.course-multiselect-menu{z-index:500;background:#fff;border:1px solid #dbe4ef;border-radius:14px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 18px 45px #0f172a29,0 4px 12px #0f172a0f}.course-multiselect-search{background:#fff;border-bottom:1px solid #edf2f7;align-items:center;gap:10px;padding:12px;display:flex}.course-multiselect-search svg{color:#64748b;flex-shrink:0}.course-multiselect-search input{width:100%;height:38px;box-shadow:none;color:#0f172a;background:0 0;border:none;border-radius:0;outline:none;padding:0;font-family:inherit;font-size:14px}.course-multiselect-search input:focus{box-shadow:none;border:none}.course-multiselect-options{overscroll-behavior:contain;max-height:240px;padding:6px;overflow-y:auto}.course-multiselect-option{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:54px;padding:9px 10px;font-family:inherit;transition:background .18s,color .18s;display:flex}.course-multiselect-option:hover{background:#f8fafc}.course-multiselect-option.selected{color:#1d4ed8;background:#eff6ff}.course-option-checkbox{color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .18s,border-color .18s;display:flex}.course-multiselect-option.selected .course-option-checkbox{background:#2563eb;border-color:#2563eb}.course-option-content{flex-direction:column;gap:3px;min-width:0;display:flex}.course-option-content strong{color:#0f172a;font-size:13px;font-weight:700}.course-multiselect-option.selected .course-option-content strong{color:#1d4ed8}.course-option-content small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.course-options-empty{color:#64748b;text-align:center;padding:24px 16px;font-size:13px}.selected-course-chips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.selected-course-chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;align-items:center;gap:7px;max-width:100%;min-height:32px;padding:5px 7px 5px 10px;font-size:12px;line-height:1.3;display:inline-flex}.selected-course-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-course-chip strong{font-weight:800}.selected-course-chip button{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.selected-course-chip button:hover{color:#1d4ed8;background:#dbeafe}.form-field-error{color:#dc2626;font-size:12px;font-weight:600;line-height:1.4}.form-error-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:13px;font-weight:600}@media (width<=700px){.course-multiselect-menu{margin-top:8px;position:static}.course-multiselect-options{max-height:210px}.selected-course-chip{justify-content:space-between;width:100%}}.availability-legend{flex-wrap:wrap;align-items:center;gap:18px;margin:-2px 0 16px;display:flex}.availability-legend>span{color:#64748b;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.availability-legend-dot{border-radius:999px;flex-shrink:0;width:9px;height:9px}.availability-legend-dot.available{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.availability-legend-dot.unavailable{background:#94a3b8;box-shadow:0 0 0 3px #f1f5f9}.master-multiselect{position:relative}.master-multiselect-trigger{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.master-multiselect-trigger:hover{background:#f8fbff;border-color:#bfdbfe}.master-multiselect-trigger.open{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.master-multiselect-trigger svg{color:#64748b;flex-shrink:0;transition:transform .2s}.master-multiselect-trigger svg.rotated{transform:rotate(180deg)}.master-multiselect-menu{z-index:500;background:#fff;border:1px solid #dbe4ef;border-radius:14px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 18px 45px #0f172a29,0 4px 12px #0f172a0f}.master-multiselect-search{background:#fff;border-bottom:1px solid #edf2f7;align-items:center;gap:10px;padding:12px;display:flex}.master-multiselect-search svg{color:#64748b;flex-shrink:0}.master-multiselect-search input{width:100%;height:38px;box-shadow:none;color:#0f172a;background:0 0;border:none;border-radius:0;outline:none;padding:0;font-family:inherit;font-size:14px}.master-multiselect-search input:focus{box-shadow:none;border:none}.master-multiselect-options{overscroll-behavior:contain;max-height:240px;padding:6px;overflow-y:auto}.master-multiselect-option{color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:54px;padding:9px 10px;font-family:inherit;transition:background .18s,color .18s;display:flex}.master-multiselect-option:hover{background:#f8fafc}.master-multiselect-option.selected{color:#1d4ed8;background:#eff6ff}.master-option-checkbox{color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.master-multiselect-option.selected .master-option-checkbox{background:#2563eb;border-color:#2563eb}.master-option-content{flex-direction:column;gap:3px;min-width:0;display:flex}.master-option-content strong{color:#0f172a;font-size:13px;font-weight:700}.master-multiselect-option.selected .master-option-content strong{color:#1d4ed8}.master-option-content small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.master-multiselect-empty{color:#64748b;text-align:center;padding:24px 16px;font-size:13px}.master-selected-chips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.master-selected-chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;align-items:center;gap:7px;max-width:100%;min-height:32px;padding:5px 7px 5px 10px;font-size:12px;line-height:1.3;display:inline-flex}.master-selected-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.master-selected-chip strong{font-weight:800}.master-selected-chip button{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.master-selected-chip button:hover{color:#1d4ed8;background:#dbeafe}.master-form-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:9px;margin-bottom:16px;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.45}@media (width<=700px){.master-multiselect-menu{margin-top:8px;position:static}.master-multiselect-options{max-height:210px}.master-selected-chip{justify-content:space-between;width:100%}}@media (width<=1100px){.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}.teachers-toolbar{flex-direction:column}}@media (width<=768px){.teachers-header{flex-direction:column;align-items:flex-start}.teacher-stats-grid{grid-template-columns:1fr}.teachers-page{padding:20px}}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media (width<=700px){.teacher-modal{width:100%}.form-grid{grid-template-columns:1fr}}@media (width<=700px){.slideover-panel{width:100%!important}.form-grid{grid-template-columns:1fr}}.action-menu-dropdown button.danger,.action-menu-dropdown button.danger svg{color:#dc2626}@media (width<=700px){.profile-detail-grid{grid-template-columns:1fr}}@media (width<=700px){.workload-summary-grid{grid-template-columns:1fr}}@media (width<=700px){.teachers-pagination{flex-direction:column;align-items:flex-start}.pagination-actions{flex-wrap:wrap}}.teachers-page{padding:30px}@media (width<=1100px){.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}.teachers-toolbar{flex-direction:column}}@media (width<=768px){.teachers-header{flex-direction:column;align-items:flex-start}.teacher-stats-grid{grid-template-columns:1fr}.teachers-page{padding:20px}}@media (width<=700px){.teacher-modal{width:100%}.form-grid{grid-template-columns:1fr}}.programs-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.programs-scope-pill{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:700;display:inline-flex}.programs-refresh-btn,.programs-import-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.programs-import-btn{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.programs-refresh-btn:disabled,.programs-import-btn:disabled{opacity:.55;cursor:not-allowed}.programs-state-banner{border:1px solid;border-radius:14px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.programs-state-banner>div{flex-direction:column;flex:1;gap:2px;display:flex}.programs-state-banner strong,.programs-state-banner span{font-size:13px}.programs-state-banner button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.programs-state-banner.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.programs-state-banner.is-success{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}@media (width<=900px){.programs-header-actions{justify-content:flex-start}}@media (width<=700px){.slideover-panel{width:100%!important}.form-grid{grid-template-columns:1fr}}.action-menu-dropdown button.danger,.action-menu-dropdown button.danger svg{color:#dc2626}@media (width<=700px){.profile-detail-grid{grid-template-columns:1fr}}@media (width<=700px){.workload-summary-grid{grid-template-columns:1fr}}@media (width<=700px){.teachers-pagination{flex-direction:column;align-items:flex-start}.pagination-actions{flex-wrap:wrap}}.departments-page{padding:30px}.teachers-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-label{color:#2563eb;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.teachers-header h1{color:#0f172a;margin:0;font-size:30px;font-weight:700}.teachers-header p{color:#64748b;margin-top:8px;font-size:15px}.add-teacher-btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:14px;align-items:center;gap:8px;height:46px;padding:0 18px;font-size:14px;font-weight:600;transition:all .25s;display:flex}.add-teacher-btn:hover{background:#1d4ed8}.departments-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.departments-scope-pill,.departments-refresh-btn,.departments-import-btn{border-radius:12px;align-items:center;gap:8px;min-height:42px;font-size:13px;font-weight:700;display:inline-flex}.departments-scope-pill{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;padding:0 13px}.departments-refresh-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;padding:0 14px}.departments-import-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;padding:0 14px}.departments-import-btn:hover:not(:disabled){color:#fff;background:#2563eb;border-color:#2563eb}.departments-import-btn:disabled{opacity:.6;cursor:not-allowed}.departments-export-menu .export-menu-trigger{border-radius:12px;min-height:42px}.departments-refresh-btn:hover:not(:disabled){color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.departments-refresh-btn:disabled,.modal-primary-btn:disabled,.modal-secondary-btn:disabled{opacity:.6;cursor:not-allowed}.departments-state-banner{border:1px solid;border-radius:14px;align-items:center;gap:12px;margin:-6px 0 20px;padding:14px 16px;display:flex}.departments-state-banner>div{flex-direction:column;flex:1;gap:2px;display:flex}.departments-state-banner strong{color:#0f172a;font-size:14px}.departments-state-banner span{color:#64748b;font-size:13px}.departments-state-banner button{min-height:36px;color:inherit;cursor:pointer;background:#ffffffb8;border:1px solid;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}.departments-state-banner.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.departments-state-banner.is-success{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.departments-loading-state{min-height:180px}.departments-loading-dot{border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:999px;width:28px;height:28px;animation:.8s linear infinite departments-spin;display:inline-block}@keyframes departments-spin{to{transform:rotate(360deg)}}.teacher-stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.teacher-stat-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;align-items:center;gap:16px;padding:22px;transition:all .25s;display:flex;box-shadow:0 8px 24px #0f172a0d}.teacher-stat-card:hover{transform:translateY(-2px)}.stat-icon{color:#2563eb;background:#eff6ff;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.teacher-stat-card p{color:#64748b;margin:0;font-size:13px}.teacher-stat-card h2{color:#0f172a;margin:6px 0;font-size:28px}.teacher-stat-card span{color:#94a3b8;font-size:13px}.teachers-toolbar{background:#fff;border:1px solid #edf2f7;border-radius:18px;gap:12px;margin-bottom:24px;padding:16px;display:flex;box-shadow:0 8px 24px #0f172a0d}.search-box{border:1px solid #dbe4ef;border-radius:12px;flex:1;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.search-box svg{color:#64748b}.search-box input{background:0 0;border:none;outline:none;width:100%;font-size:14px}.teachers-toolbar select,.export-btn{color:#334155;background:#fff;border:1px solid #dbe4ef;border-radius:12px;height:46px;padding:0 16px;font-size:14px}.export-btn{cursor:pointer;align-items:center;gap:8px;display:flex}.export-btn:hover{background:#f8fafc}.teachers-table-card{background:#fff;border:1px solid #edf2f7;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px #0f172a0d}.teachers-table-header{border-bottom:1px solid #edf2f7;padding:22px}.teachers-table-header h2{color:#0f172a;margin:0;font-size:20px}.teachers-table-header p{color:#64748b;margin-top:6px;font-size:14px}.teachers-table-wrapper{overflow-x:auto}.teachers-table{border-collapse:collapse;width:100%}.teachers-table th{text-align:left;color:#64748b;background:#f8fafc;padding:16px 22px;font-size:13px;font-weight:700}.teachers-table td{border-top:1px solid #edf2f7;padding:18px 22px}.teachers-table tbody tr{transition:all .2s}.teacher-info{align-items:center;gap:14px;display:flex}.teacher-avatar{color:#2563eb;background:#dbeafe;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.teacher-info strong{color:#0f172a;display:block}.teacher-info span{color:#64748b;margin-top:3px;font-size:13px;display:block}.subject-tags{flex-wrap:wrap;gap:6px;display:flex}.subject-tags span{color:#2563eb;background:#eff6ff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.workload-pill{color:#334155;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.active{color:#15803d;background:#dcfce7}.status-badge.on-leave{color:#b45309;background:#fef3c7}.status-badge.inactive{color:#475569;background:#e2e8f0}.table-actions{justify-content:flex-end;gap:8px;display:flex}.table-actions button{cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.table-actions button:hover{color:#2563eb;background:#eff6ff}@media (width<=1100px){.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}.teachers-toolbar{flex-direction:column}}@media (width<=768px){.teachers-header{flex-direction:column;align-items:flex-start}.teacher-stats-grid{grid-template-columns:1fr}.teachers-page{padding:20px}}.teacher-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.teacher-modal{background:#fff;flex-direction:column;width:620px;max-width:100%;height:100vh;animation:.25s slideIn;display:flex;box-shadow:-20px 0 50px #0f172a2e}.teacher-modal-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;padding:24px 26px;display:flex}.teacher-modal-header h2{color:#0f172a;margin:0;font-size:22px}.teacher-modal-header p{color:#64748b;margin:6px 0 0;font-size:14px}.modal-close-btn{cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.teacher-modal-body{flex:1;padding:24px 26px;overflow-y:auto}.form-section{margin-bottom:26px}.form-section h3{color:#0f172a;margin:0 0 14px;font-size:15px}.teacher-modal-footer{border-top:1px solid #edf2f7;justify-content:flex-end;gap:12px;padding:18px 26px;display:flex}@media (width<=700px){.teacher-modal{width:100%}.form-grid{grid-template-columns:1fr}}.modal-form-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;margin-bottom:18px;padding:20px}.modal-section-title{color:#2563eb;align-items:center;gap:10px;margin-bottom:18px;display:flex}.modal-section-title h3{color:#0f172a;margin:0;font-size:15px}.form-field input,.form-field select{color:#0f172a;background:#fff;border:1px solid #dbe4ef;border-radius:12px;outline:none;height:44px;padding:0 14px;font-size:14px}@media (width<=700px){.slideover-panel{width:100%!important}.form-grid{grid-template-columns:1fr}}.teachers-empty-state{text-align:center;padding:56px 24px}.teachers-empty-state h3{color:#0f172a;margin:0;font-size:18px}.teachers-empty-state p{color:#64748b;margin:8px 0 0;font-size:14px}.teachers-toolbar select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,#0000 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;min-width:160px;padding-right:34px}.teachers-toolbar select:focus,.search-box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.teacher-stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0f172a14}.add-teacher-btn:hover,.modal-primary-btn:hover{transform:translateY(-1px)}.teachers-table tbody tr:hover{background:#f8fbff}.subject-tags span{padding:6px 11px}.teacher-avatar{font-size:12px}.status-badge{align-items:center;gap:7px}.status-dot{background:currentColor;border-radius:999px;width:7px;height:7px}.action-menu{justify-content:center;display:flex;position:relative}.action-menu-trigger{cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.action-menu-trigger:hover{color:#2563eb;background:#eff6ff}.action-menu-dropdown{z-index:100;background:#fff;border:1px solid #edf2f7;border-radius:14px;width:180px;padding:6px;position:absolute;top:42px;right:50%;transform:translate(50%);box-shadow:0 18px 38px #0f172a29}.action-menu-dropdown button{color:#334155;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;grid-template-columns:18px 1fr;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px;font-size:13px;font-weight:600;display:grid}.action-menu-dropdown button svg{color:#64748b}.action-menu-dropdown button:hover{background:#f8fafc}.action-menu-dropdown button.danger,.action-menu-dropdown button.danger svg{color:#dc2626}.action-menu-dropdown button.danger:hover{background:#fef2f2}.teacher-profile-card{text-align:center;background:linear-gradient(#f8fbff 0%,#fff 100%);border:1px solid #edf2f7;border-radius:20px;margin-bottom:18px;padding:26px}.teacher-profile-avatar{color:#2563eb;background:#dbeafe;border-radius:22px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 14px;font-size:20px;font-weight:800;display:flex}.teacher-profile-card h2{color:#0f172a;margin:0;font-size:22px}.teacher-profile-card p{color:#64748b;margin:6px 0 14px;font-size:14px}.profile-detail-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=700px){.profile-detail-grid{grid-template-columns:1fr}}.availability-grid{flex-direction:column;gap:16px;display:flex}.availability-day{background:#fff;border:1px solid #edf2f7;border-radius:16px;padding:16px}.availability-day h4{color:#0f172a;margin:0 0 12px;font-size:14px}.availability-slots{flex-wrap:wrap;gap:8px;display:flex}.availability-slot{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.availability-slot.available{color:#15803d;background:#dcfce7}.availability-slot.unavailable{color:#64748b;background:#f1f5f9}.workload-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.workload-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:18px}.workload-card svg{color:#2563eb;margin-bottom:10px}.workload-card span{color:#64748b;margin-bottom:6px;font-size:12px;display:block}.workload-card strong{color:#0f172a;font-size:24px}.weekly-load-list{flex-direction:column;gap:10px;display:flex}.weekly-load-list div{border:1px solid #edf2f7;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.weekly-load-list span{color:#64748b;font-size:13px}.weekly-load-list strong{color:#0f172a;font-size:13px}@media (width<=700px){.workload-summary-grid{grid-template-columns:1fr}}.teachers-pagination{background:#fff;border-top:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.teachers-pagination p{color:#64748b;margin:0;font-size:13px}.teachers-pagination strong{color:#0f172a}.pagination-actions button.active{color:#0f172a;box-shadow:none;background:#f1f5f9;border:1px solid #e2e8f0;font-weight:600}@media (width<=700px){.teachers-pagination{flex-direction:column;align-items:flex-start}.pagination-actions{flex-wrap:wrap}}.action-menu button{cursor:pointer;color:#64748b;background:#fff;border:1px solid #dbe4ef;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:6px;display:inline-flex}.action-menu button:hover{color:#2563eb;background:#eff6ff}.departments-page .teachers-table{table-layout:auto;min-width:1180px}.departments-page .teachers-table th,.departments-page .teachers-table td{vertical-align:middle}.departments-page .teachers-table th:first-child,.departments-page .teachers-table td:first-child{min-width:250px}.departments-page .teachers-table th:nth-child(2),.departments-page .teachers-table td:nth-child(2){min-width:170px}.departments-page .teachers-table th:nth-child(3),.departments-page .teachers-table td:nth-child(3){min-width:210px}.departments-page .teachers-table th:nth-child(4),.departments-page .teachers-table th:nth-child(5),.departments-page .teachers-table th:nth-child(6),.departments-page .teachers-table td:nth-child(4),.departments-page .teachers-table td:nth-child(5),.departments-page .teachers-table td:nth-child(6){text-align:center;width:96px}.departments-page .teachers-table th:nth-child(7),.departments-page .teachers-table td:nth-child(7){min-width:150px}.departments-page .teachers-table th:nth-child(8),.departments-page .teachers-table td:nth-child(8){width:110px}.departments-page .teachers-table th:last-child,.departments-page .teachers-table td:last-child{text-align:center;width:84px;min-width:84px}.departments-page .teacher-info,.departments-page .teacher-info>div:last-child{min-width:0}.departments-page .teacher-info strong,.departments-page .teacher-info span{line-height:1.4}.departments-page .teacher-avatar{white-space:nowrap;flex:0 0 44px;padding:0 6px;overflow:hidden}.departments-page .workload-pill{text-align:center;min-width:34px}.departments-page .teachers-empty-state{box-sizing:border-box;width:100%}.departments-page .master-form-alert,.slideover-panel .master-form-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:18px;padding:13px 15px;font-size:13px;font-weight:600;line-height:1.55}.departments-page .master-legacy-notice,.slideover-panel .master-legacy-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-bottom:16px;padding:13px 15px;font-size:13px;line-height:1.55}.departments-page .master-legacy-notice strong,.slideover-panel .master-legacy-notice strong{color:#78350f}.departments-page .form-field small,.slideover-panel .form-field small{color:#64748b;font-size:12px;line-height:1.45}.departments-page .form-field select,.slideover-panel .form-field select,.departments-page .master-multiselect,.slideover-panel .master-multiselect,.departments-page .master-multiselect-trigger,.slideover-panel .master-multiselect-trigger{width:100%}.departments-page .master-option-content,.slideover-panel .master-option-content{min-width:0}.departments-page .master-option-content strong,.departments-page .master-option-content small,.slideover-panel .master-option-content strong,.slideover-panel .master-option-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.departments-page .master-selected-chip,.slideover-panel .master-selected-chip{max-width:100%}.departments-page .master-selected-chip>span,.slideover-panel .master-selected-chip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=1100px){.departments-page{padding:24px}}@media (width<=768px){.departments-page{padding:20px}.departments-page .teachers-table{min-width:1120px}}@media (width<=520px){.departments-page{padding:16px}}.rooms-page{padding:30px}.rooms-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.rooms-header h1{color:#0f172a;margin:0;font-size:30px;font-weight:700}.rooms-header p{color:#64748b;margin:8px 0 0;font-size:15px}.add-room-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:14px;align-items:center;gap:8px;height:46px;padding:0 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.add-room-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.rooms-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.room-stat-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;align-items:center;gap:16px;min-height:118px;padding:22px;transition:all .2s;display:flex;box-shadow:0 8px 24px #0f172a0d}.room-stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a14}.stat-icon{color:#2563eb;background:#eff6ff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.room-stat-card p{color:#64748b;margin:0;font-size:13px}.room-stat-card h2{color:#0f172a;margin:6px 0;font-size:28px;line-height:1}.room-stat-card span{color:#94a3b8;font-size:13px}.rooms-toolbar{background:#fff;border:1px solid #edf2f7;border-radius:18px;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex;box-shadow:0 8px 24px #0f172a0d}.search-box{background:#fff;border:1px solid #dbe4ef;border-radius:12px;flex:1;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.search-box svg{color:#64748b;flex:none}.search-box input{color:#0f172a;background:0 0;border:none;outline:none;width:100%;font-size:14px}.rooms-toolbar select{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;min-width:150px;height:46px;padding:0 34px 0 14px;font-size:14px}.search-box:focus-within,.rooms-toolbar select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.clear-filters-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;align-items:center;gap:7px;height:46px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.clear-filters-btn:hover{background:#f8fafc}.rooms-table-card{background:#fff;border:1px solid #edf2f7;border-radius:20px;overflow:visible;box-shadow:0 8px 24px #0f172a0d}.rooms-table-heading{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px;display:flex}.rooms-table-heading h2{color:#0f172a;margin:0;font-size:20px}.rooms-table-heading p{color:#64748b;margin:6px 0 0;font-size:14px}.rooms-result-count{color:#2563eb;background:#eff6ff;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:700}.rooms-table-wrapper{overflow-x:auto}.rooms-table{border-collapse:collapse;width:100%}.rooms-table th{color:#64748b;letter-spacing:.03em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:15px 18px;font-size:12px;font-weight:700}.rooms-table td{color:#334155;vertical-align:middle;border-top:1px solid #edf2f7;padding:16px 18px;font-size:13px}.rooms-table td strong{color:#0f172a;font-size:14px;font-weight:600}.rooms-table tbody tr:hover{background:#f8fbff}.rooms-empty-state{text-align:center;padding:52px 24px}.rooms-empty-state h3{color:#0f172a;margin:0;font-size:18px}.rooms-empty-state p{color:#64748b;margin:8px 0 0;font-size:14px}.room-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.room-modal{background:#fff;flex-direction:column;width:620px;max-width:100%;height:100vh;animation:.25s room-slide-in;display:flex;box-shadow:-20px 0 50px #0f172a2e}@keyframes room-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.room-modal-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px;display:flex}.room-modal-header h2{color:#0f172a;margin:0;font-size:22px}.room-modal-header p{color:#64748b;margin:6px 0 0;font-size:14px}.room-form{flex-direction:column;flex:1;min-height:0;display:flex}.room-modal-body{flex:1;padding:24px 26px;overflow-y:auto}.form-field input,.form-field select{color:#0f172a;background:#fff;border:1px solid #dbe4ef;border-radius:12px;outline:none;width:100%;height:44px;padding:0 14px;font-size:14px}.form-field select:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.form-field-hint{color:#94a3b8;font-size:11px;line-height:1.45}.form-field.has-error input,.form-field.has-error select{border-color:#ef4444}.form-error-text{color:#dc2626;font-size:12px;line-height:1.4}.form-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:16px;padding:11px 13px;font-size:13px;line-height:1.45}.equipment-dropdown{position:relative}.form-field .equipment-dropdown-trigger{color:#64748b;width:100%;height:44px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;justify-content:space-between;align-items:center;padding:0 13px;display:flex}.equipment-dropdown-trigger svg{transition:transform .16s}.equipment-dropdown-trigger.is-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.equipment-dropdown-trigger.is-open svg{transform:rotate(180deg)}.equipment-dropdown-menu{z-index:30;background:#fff;border:1px solid #dbe3ee;border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 14px 32px #0f172a24}.equipment-dropdown-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;max-height:248px;padding:7px;display:grid;overflow-y:auto}.equipment-dropdown-option{border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:5px 7px;display:flex}.equipment-dropdown-option:hover,.equipment-dropdown-option:focus-within{background:#f8fafc}.equipment-checkbox{color:#334155;cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;font-size:12px;font-weight:600;line-height:1.35;display:flex}.form-field .equipment-checkbox input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.equipment-checkmark{color:#0000;background:#fff;border:1px solid #cbd5e1;border-radius:4px;flex:0 0 17px;justify-content:center;align-items:center;width:17px;height:17px;display:inline-flex}.equipment-checkbox input:checked+.equipment-checkmark{color:#fff;background:#2563eb;border-color:#2563eb}.equipment-checkbox span{text-overflow:ellipsis;overflow:hidden}.form-field .equipment-quantity-input{text-align:center;background:#fff;border-radius:9px;flex:0 0 66px;width:66px;height:32px;padding:0 8px;font-size:12px}.custom-equipment-row{background:#f8fafc;border-top:1px solid #edf2f7;align-items:center;gap:10px;padding:10px;display:flex}.custom-equipment-row>input{flex:1;min-width:0}.custom-equipment-row button{color:#2563eb;white-space:nowrap;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 12px;font-weight:600;display:inline-flex}.custom-equipment-list{flex-wrap:wrap;gap:8px;display:flex}.custom-equipment-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:6px;padding:6px 8px 6px 10px;font-size:12px;font-weight:600;display:inline-flex}.custom-equipment-chip button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.custom-equipment-chip button:hover{color:#dc2626;background:#dbeafe}.room-modal-footer{background:#fff;border-top:1px solid #edf2f7;justify-content:flex-end;gap:12px;padding:18px 26px;display:flex}.room-profile-card{text-align:center;background:linear-gradient(#f8fbff 0%,#fff 100%);border:1px solid #edf2f7;border-radius:20px;margin-bottom:18px;padding:26px}.room-profile-avatar{color:#2563eb;background:#dbeafe;border-radius:22px;justify-content:center;align-items:center;width:76px;height:76px;margin:0 auto 14px;font-size:15px;font-weight:800;display:flex}.room-profile-card h2{color:#0f172a;margin:0;font-size:22px}.room-profile-card p{color:#64748b;margin:6px 0 14px;font-size:14px}.room-equipment-section{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:18px}.room-equipment-section h3{color:#0f172a;margin:0 0 12px;font-size:15px}.rooms-pagination{background:#fff;border-top:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.rooms-pagination p{color:#64748b;margin:0;font-size:13px}.rooms-pagination strong{color:#0f172a}@media (width<=1180px){.rooms-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms-toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}}@media (width<=768px){.rooms-page{padding:20px}.rooms-header{flex-direction:column}.rooms-stats-grid{grid-template-columns:1fr}.rooms-toolbar{flex-direction:column;align-items:stretch}.rooms-toolbar select,.clear-filters-btn{width:100%}.rooms-table-heading{flex-direction:column}.form-grid,.profile-detail-grid,.equipment-options-grid{grid-template-columns:1fr}.rooms-pagination{flex-direction:column;align-items:flex-start}.pagination-actions{flex-wrap:wrap}.room-modal{width:100%}}@media (width<=480px){.room-modal-header,.room-modal-body,.room-modal-footer{padding-left:18px;padding-right:18px}.modal-form-card{padding:16px}.custom-equipment-row{flex-direction:column;align-items:stretch}.custom-equipment-row .modal-secondary-btn{width:100%}}.batches-page{padding:30px}.batches-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-label{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.batches-header h1{color:#0f172a;margin:0;font-size:30px;font-weight:700}.batches-header p{color:#64748b;margin:8px 0 0;font-size:15px}.add-batch-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:14px;align-items:center;gap:8px;height:46px;padding:0 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.add-batch-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.batches-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.batch-stat-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;align-items:center;gap:16px;min-height:118px;padding:22px;transition:all .2s;display:flex;box-shadow:0 8px 24px #0f172a0d}.batch-stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a14}.batch-stat-card .stat-icon{color:#2563eb;background:#eff6ff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.batch-stat-card p{color:#64748b;margin:0;font-size:13px}.batch-stat-card h2{color:#0f172a;margin:6px 0;font-size:28px;line-height:1}.batch-stat-card span{color:#94a3b8;font-size:13px}.batches-toolbar{background:#fff;border:1px solid #edf2f7;border-radius:18px;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex;box-shadow:0 8px 24px #0f172a0d}.batches-toolbar .search-box{background:#fff;border:1px solid #dbe4ef;border-radius:12px;flex:1;align-items:center;gap:10px;min-width:260px;height:46px;padding:0 14px;display:flex}.batches-toolbar .search-box svg{color:#64748b;flex:none}.batches-toolbar .search-box input{color:#0f172a;background:0 0;border:none;outline:none;width:100%;font-size:14px}.batches-toolbar select{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;outline:none;min-width:150px;height:46px;padding:0 34px 0 14px;font-size:14px}.batches-toolbar .search-box:focus-within,.batches-toolbar select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.toolbar-clear-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;padding:0;transition:all .2s;display:flex}.toolbar-clear-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.batches-table-card{background:#fff;border:1px solid #edf2f7;border-radius:20px;overflow:visible;box-shadow:0 8px 24px #0f172a0d}.batches-table-heading{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px;display:flex}.batches-table-heading h2{color:#0f172a;margin:0;font-size:20px}.batches-table-heading p{color:#64748b;margin:6px 0 0;font-size:14px}.batches-result-count{color:#2563eb;background:#eff6ff;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:700}.batches-table-wrapper{overflow-x:auto}.batches-table{border-collapse:collapse;width:100%}.batches-table th{color:#64748b;letter-spacing:.03em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:15px 18px;font-size:12px;font-weight:700}.batches-table td{color:#334155;vertical-align:middle;border-top:1px solid #edf2f7;padding:16px 18px;font-size:13px}.batches-table td strong{color:#0f172a;font-size:14px;font-weight:600}.batches-table tbody tr:hover{background:#f8fbff}.actions-col{text-align:center!important}.t-muted{color:#94a3b8;font-size:12px}.batch-primary-cell,.batch-students-cell{flex-direction:column;gap:4px;display:flex}.batch-primary-cell strong,.batch-students-cell strong{color:#0f172a;font-weight:600}.batch-primary-cell span,.batch-students-cell span{color:#64748b;font-size:12px}.equipment-tags{flex-wrap:wrap;gap:6px;max-width:100%;display:flex}.equipment-tags span{color:#2563eb;background:#eff6ff;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.batches-empty-state{text-align:center;padding:52px 24px}.batches-empty-state h3{color:#0f172a;margin:0;font-size:18px}.batches-empty-state p{color:#64748b;margin:8px 0 0;font-size:14px}.batch-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.batch-modal{background:#fff;flex-direction:column;width:620px;max-width:100%;height:100vh;animation:.25s batch-slide-in;display:flex;box-shadow:-20px 0 50px #0f172a2e}@keyframes batch-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.batch-modal-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px;display:flex}.batch-modal-header h2{color:#0f172a;margin:0;font-size:22px}.batch-modal-header p{color:#64748b;margin:6px 0 0;font-size:14px}.modal-close-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.batch-form{flex-direction:column;flex:1;min-height:0;display:flex}.batch-modal-body{flex:1;padding:24px 26px;overflow-y:auto}.modal-form-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-full{grid-column:1/-1}.form-field label{color:#334155;font-size:13px;font-weight:600}.form-field input,.form-field select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #dbe4ef;border-radius:12px;outline:none;width:100%;height:44px;padding:0 14px;font-size:14px}.form-field input:focus,.form-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.batch-form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:13px}.batch-modal-footer{background:#fff;border-top:1px solid #edf2f7;justify-content:flex-end;gap:12px;padding:18px 26px;display:flex}.modal-secondary-btn,.modal-primary-btn{cursor:pointer;border-radius:12px;height:44px;padding:0 18px;font-size:14px;font-weight:600}.modal-secondary-btn{color:#334155;background:#fff;border:1px solid #dbe4ef}.modal-secondary-btn:hover{background:#f8fafc}.modal-primary-btn{color:#fff;background:#2563eb;border:none}.modal-primary-btn:hover{background:#1d4ed8}.batch-profile-card{text-align:center;background:linear-gradient(#f8fbff 0%,#fff 100%);border:1px solid #edf2f7;border-radius:20px;margin-bottom:18px;padding:26px}.batch-profile-avatar{color:#2563eb;background:#dbeafe;border-radius:22px;justify-content:center;align-items:center;width:76px;height:76px;margin:0 auto 14px;font-size:20px;font-weight:800;display:flex}.batch-profile-card h2{color:#0f172a;margin:0;font-size:22px}.batch-profile-card p{color:#64748b;margin:6px 0 14px;font-size:14px}.profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.profile-detail-grid>div{background:#fff;border:1px solid #edf2f7;border-radius:14px;padding:14px}.profile-detail-grid svg{color:#2563eb;margin-bottom:8px}.profile-detail-grid span{color:#64748b;margin-bottom:5px;font-size:12px;display:block}.profile-detail-grid strong{color:#0f172a;font-size:14px;display:block}.batch-equipment-section{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:18px}.batch-equipment-section h3{color:#0f172a;margin:0 0 12px;font-size:15px}.batches-pagination{background:#fff;border-top:1px solid #edf2f7;border-radius:0 0 20px 20px;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.batches-pagination p{color:#64748b;margin:0;font-size:13px}.batches-pagination strong{color:#0f172a}.pagination-actions{align-items:center;gap:8px;display:flex}.pagination-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;min-width:36px;height:36px;padding:0 12px;font-size:13px;font-weight:600}.pagination-actions button:hover:not(:disabled){color:#2563eb;background:#eff6ff}.pagination-actions button.active{color:#0f172a;background:#f1f5f9;border-color:#dbe4ef}.pagination-actions button:disabled{opacity:.45;cursor:not-allowed}@media (width<=1180px){.batches-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batches-toolbar{flex-wrap:wrap}.batches-toolbar .search-box{flex-basis:100%}}@media (width<=768px){.batches-page{padding:20px}.batches-header{flex-direction:column}.batches-stats-grid{grid-template-columns:1fr}.batches-toolbar{flex-direction:column;align-items:stretch}.batches-toolbar select,.toolbar-secondary-btn{width:100%}.batches-table-heading{flex-direction:column}.form-grid,.profile-detail-grid{grid-template-columns:1fr}.batches-pagination{flex-direction:column;align-items:flex-start}.pagination-actions{flex-wrap:wrap}.batch-modal{width:100%}}.batch-form-error-top{border-color:#fca5a5;margin:0 0 14px;font-weight:700;line-height:1.45}.required-mark{color:#334155;font-weight:600}.timetable-page{flex-direction:column;gap:18px;min-width:0;display:flex}.timetable-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.timetable-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:inline-block}.timetable-header h1{color:#0f172a;margin:0;font-size:28px;line-height:1.2}.timetable-header p{color:#64748b;max-width:680px;margin:8px 0 0;font-size:14px;line-height:1.6}.timetable-primary-button,.timetable-secondary-button,.timetable-clear-button,.timetable-empty-clear{font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:7px;display:inline-flex}.timetable-primary-button{color:#fff;background:#2563eb;border-radius:9px;min-height:40px;padding:0 15px;font-size:13px;font-weight:700}.timetable-primary-button:hover{background:#1d4ed8}.timetable-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.timetable-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.timetable-stat-icon{color:#2563eb;background:#eff6ff;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.timetable-stat-card p{color:#64748b;margin:0;font-size:12px;font-weight:500}.timetable-stat-card h2{color:#0f172a;margin:3px 0 2px;font-size:21px}.timetable-stat-card span{color:#94a3b8;font-size:11px}.timetable-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.timetable-toolbar-main,.timetable-toolbar-actions{align-items:center;gap:8px;display:flex}.timetable-toolbar-main{flex-wrap:wrap;flex:1;min-width:0}.timetable-search,.timetable-filter{background:#fff;border:1px solid #dbe3ee;border-radius:8px;align-items:center;gap:7px;min-height:36px;display:flex}.timetable-search{color:#94a3b8;flex:280px;max-width:390px;padding:0 10px}.timetable-search input{color:#0f172a;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:13px}.timetable-search input::placeholder{color:#94a3b8}.timetable-filter{color:#64748b;padding:0 9px}.timetable-filter select,.timetable-select{color:#334155;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;font-size:12px}.timetable-select{background:#fff;border:1px solid #dbe3ee;border-radius:8px;min-height:36px;padding:0 10px}.timetable-secondary-button,.timetable-clear-button{color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:8px;min-height:36px;padding:0 11px;font-size:12px;font-weight:700}.timetable-secondary-button:hover,.timetable-clear-button:not(:disabled):hover{background:#f8fafc}.timetable-clear-button:disabled{cursor:not-allowed;color:#94a3b8;opacity:.72;background:#f8fafc}.timetable-results-count{color:#64748b;white-space:nowrap;font-size:11px}.timetable-results-count strong{color:#0f172a}.timetable-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:3px;padding:4px;display:flex;overflow-x:auto}.timetable-tab{color:#64748b;min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 13px;font-size:12px;font-weight:700}.timetable-tab:hover{color:#0f172a;background:#fff}.timetable-tab.active{color:#2563eb;background:#fff;box-shadow:0 1px 3px #0f172a14}.timetable-navigation{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:6px;display:flex}.timetable-navigation .timetable-tabs{background:#f8fafc;border:0;border-radius:9px;flex:0 auto;min-width:0;padding:3px}.timetable-navigation-actions,.timetable-week-navigation,.timetable-density-toggle{align-items:center;display:flex}.timetable-navigation-actions{gap:10px;min-width:0}.timetable-week-navigation{gap:5px}.timetable-icon-button,.timetable-today-button,.timetable-density-toggle button{color:#475569;min-height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe3ee;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.timetable-icon-button{border-radius:8px;width:32px;padding:0}.timetable-today-button{border-radius:8px;padding:0 10px}.timetable-icon-button:hover,.timetable-today-button:hover,.timetable-density-toggle button:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.timetable-week-label{color:#334155;white-space:nowrap;border-left:1px solid #e2e8f0;align-items:center;gap:6px;max-width:190px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.timetable-week-label svg{color:#2563eb;flex-shrink:0}.timetable-week-label span{text-overflow:ellipsis;overflow:hidden}.timetable-density-toggle{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;gap:3px;padding:3px}.timetable-density-toggle button{background:0 0;border-color:#0000;border-radius:6px;gap:5px;min-height:28px;padding:0 9px}.timetable-density-toggle button.active{color:#2563eb;background:#fff;border-color:#dbeafe;box-shadow:0 1px 3px #0f172a14}.timetable-grid-shell{overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;height:clamp(360px,100vh - 390px,680px);min-height:320px;overflow:auto}.week-grid{--visible-day-count:5;min-width:max(100%, calc(72px + (var(--visible-day-count) * 150px)));background:#fff}.week-grid-header,.week-grid-row{grid-template-columns:72px repeat(var(--visible-day-count), minmax(150px, 1fr));display:grid}.week-grid-header{z-index:20;background:#f8fafc;border-bottom:1px solid #dbe3ee;position:sticky;top:0;box-shadow:0 1px #0f172a0a}.time-column-header,.day-header{color:#475569;letter-spacing:.02em;align-items:center;min-height:42px;padding:0 10px;font-size:11px;font-weight:800;display:flex}.time-column-header{z-index:30;background:#f8fafc;border-right:1px solid #dbe3ee;justify-content:center;position:sticky;left:0}.day-header{border-right:1px solid #e2e8f0;justify-content:center}.day-header:last-child{border-right:0}.week-grid-row{border-bottom:1px solid #e2e8f0;min-height:84px}.week-grid-row:last-child{border-bottom:0}.time-cell{z-index:10;color:#64748b;text-align:center;background:#fcfdff;border-right:1px solid #eef3f8;padding:12px 8px;font-size:11px;font-weight:800;position:sticky;left:0}.schedule-cell{background:#fcfdff;border-bottom:1px solid #eef3f8;border-right:1px solid #eef3f8;flex-direction:column;gap:6px;min-width:0;min-height:84px;padding:8px;transition:background .15s;display:flex}.schedule-cell:last-child{border-right:0}.schedule-cell:hover{background:#f7fbff}.schedule-cell-multiple{background:#f8fafc}.week-grid-single-day{min-width:100%}.class-card{color:#0f172a;text-align:left;width:100%;min-height:70px;font:inherit;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-left:0;border-radius:7px;padding:7px 8px 7px 24px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.class-card:hover{z-index:2;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 5px 14px #0f172a1a}.class-card:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.class-card-draft{background:#fffbeb;border-color:#fde68a}.class-card-top{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.class-card-code{min-width:0;color:var(--class-accent);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.class-card-draft .class-card-code{color:#b45309}.class-card-status{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:2px 5px;font-size:7px;font-weight:900}.class-card-status.published{color:#1d4ed8;background:#dbeafe}.class-card-status.draft{color:#b45309;background:#fef3c7}.class-card h3{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 5px;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.class-card-batch{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:9px;font-weight:500;overflow:hidden}.class-card-meta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;display:grid}.class-card-meta svg{flex-shrink:0;width:10px;height:10px}.class-card-meta-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.class-card:before{content:"";background:var(--class-accent,#2563eb);opacity:.95;border-radius:999px;width:3px;position:absolute;top:8px;bottom:8px;left:8px}.timetable-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:48px 24px;display:flex}.timetable-empty-icon{color:#2563eb;background:#eff6ff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:14px;display:grid}.timetable-empty-state h3{color:#0f172a;margin:0;font-size:16px}.timetable-empty-state p{color:#64748b;max-width:420px;margin:7px 0 0;font-size:13px;line-height:1.5}.timetable-empty-clear{color:#fff;background:#2563eb;border-radius:8px;min-height:36px;margin-top:16px;padding:0 13px;font-size:12px;font-weight:700}.timetable-empty-clear:hover{background:#1d4ed8}.timetable-grid-shell::-webkit-scrollbar{width:10px;height:10px}.timetable-grid-shell::-webkit-scrollbar-track{background:#f8fafc}.timetable-grid-shell::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f8fafc;border-radius:999px}.timetable-grid-shell::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (width<=1200px){.timetable-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-toolbar{flex-direction:column;align-items:flex-start}.timetable-toolbar-actions{justify-content:flex-end;width:100%}.timetable-grid-shell{height:clamp(360px,100vh - 430px,620px)}}@media (width<=768px){.timetable-page{gap:14px}.timetable-header{flex-direction:column}.timetable-primary-button{width:100%}.timetable-stats-grid{grid-template-columns:1fr}.timetable-search{flex-basis:100%;width:100%;max-width:none}.timetable-toolbar-main,.timetable-toolbar-actions{width:100%}.timetable-filter,.timetable-select{flex:145px}.timetable-toolbar-actions{justify-content:stretch}.timetable-secondary-button{flex:1}.timetable-results-count{width:100%}.timetable-grid-shell{height:58vh;min-height:340px}}.class-panel-overlay{z-index:1000;background:#0f172a61;justify-content:flex-end;display:flex;position:fixed;inset:0}.class-details-panel{background:#fff;flex-direction:column;width:min(560px,100%);height:100%;animation:.22s ease-out class-panel-slide-in;display:flex;overflow-y:auto;box-shadow:-14px 0 36px #0f172a29}@keyframes class-panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.class-panel-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.class-panel-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:800;display:inline-block}.class-panel-header h2{color:#0f172a;margin:0;font-size:22px;line-height:1.3}.class-panel-header p{color:#64748b;margin:6px 0 0;font-size:13px;font-weight:600}.class-panel-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.class-panel-close:hover{color:#0f172a;background:#f8fafc}.class-panel-status-row{padding:18px 24px 0}.class-panel-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.class-panel-status.published{color:#1d4ed8;background:#dbeafe}.class-panel-status.draft{color:#b45309;background:#fef3c7}.class-details-list{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.class-detail-item{align-items:flex-start;gap:12px;display:flex}.class-detail-item>svg{color:#2563eb;flex-shrink:0;margin-top:2px}.class-detail-item div{flex-direction:column;gap:3px;min-width:0;display:flex}.class-detail-item span{color:#94a3b8;font-size:11px;font-weight:600}.class-detail-item strong{color:#0f172a;font-size:14px;line-height:1.4}.class-panel-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 24px 24px;padding:16px;display:grid}.class-panel-meta div{flex-direction:column;gap:4px;display:flex}.class-panel-meta span{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:700}.class-panel-meta strong{color:#334155;font-size:12px}.class-panel-footer{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;margin-top:auto;padding:18px 20px;display:flex}.class-panel-secondary-button,.class-panel-primary-button{min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.class-panel-secondary-button{color:#475569;background:#fff;border:1px solid #dbe3ee}.class-panel-secondary-button:hover{background:#f8fafc}.class-panel-primary-button{color:#fff;background:#2563eb;border:1px solid #2563eb}.class-panel-primary-button:hover{background:#1d4ed8}@media (width<=520px){.class-details-panel{width:100%}.class-details-panel .class-panel-footer{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.class-details-panel .class-panel-secondary-button,.class-details-panel .class-panel-primary-button{width:100%}.class-panel-meta{grid-template-columns:1fr}}.class-form-panel{background:#fff;flex-direction:column;width:min(560px,100%);height:100%;animation:.22s ease-out class-panel-slide-in;display:flex;overflow-y:auto;box-shadow:-14px 0 36px #0f172a29}.class-form{flex-direction:column;flex:1;display:flex}.class-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;padding:22px 24px 28px;display:grid}.class-form-field{flex-direction:column;gap:7px;min-width:0;display:flex}.class-form-field-full{grid-column:1/-1}.class-form-field>span{color:#334155;font-size:12px;font-weight:700}.class-form-field input,.class-form-field select,.class-form-field textarea{color:#0f172a;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:10px;outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}.class-form-field input,.class-form-field select{min-height:42px;padding:0 12px}.class-form-field textarea{resize:vertical;padding:12px;line-height:1.5}.class-form-field input::placeholder,.class-form-field textarea::placeholder{color:#94a3b8}.class-form-field input:hover,.class-form-field select:hover,.class-form-field textarea:hover{border-color:#cbd5e1}.class-form-field input:focus,.class-form-field select:focus,.class-form-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.class-form-field small{color:#dc2626;font-size:11px;font-weight:600;line-height:1.35}:is(.class-form-field:has(small) input,.class-form-field:has(small) select,.class-form-field:has(small) textarea){background:#fef2f2;border-color:#fca5a5}:is(.class-form-field:has(small) input:focus,.class-form-field:has(small) select:focus,.class-form-field:has(small) textarea:focus){border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.class-form-panel .class-panel-footer{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;margin-top:auto;position:sticky;bottom:0}@media (width<=640px){.class-form-panel{width:100%}.class-form-grid{grid-template-columns:1fr;padding:20px 18px 24px}.class-form-field-full{grid-column:auto}.class-form-panel .class-panel-header{padding:20px 18px}.class-form-panel .class-panel-footer{padding:16px 18px}.class-form-panel .class-panel-secondary-button,.class-form-panel .class-panel-primary-button{flex:1}}.date-picker-field{position:relative}.date-picker-trigger{color:#0f172a;width:100%;min-height:42px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.date-picker-trigger:hover{border-color:#cbd5e1}.date-picker-trigger.active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.date-picker-trigger-content{align-items:center;gap:8px;min-width:0;display:flex}.date-picker-trigger-content>svg{color:#64748b;flex-shrink:0}.date-picker-trigger-content>span{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.date-picker-trigger-content .placeholder{color:#94a3b8}.date-picker-trigger>svg{color:#94a3b8;flex-shrink:0;transition:transform .15s}.date-picker-trigger>svg.rotated{transform:rotate(180deg)}.date-picker-popover{z-index:1200;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:320px;max-width:calc(100vw - 32px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 45px #0f172a29}.date-picker-popover .rdp-root{--rdp-accent-color:#2563eb;--rdp-accent-background-color:#dbeafe;--rdp-day_button-border-radius:9px;margin:0}.date-picker-popover .rdp-months,.date-picker-popover .rdp-month{width:100%}.date-picker-popover .rdp-month_caption{color:#0f172a;min-height:42px;margin-bottom:8px;font-size:14px;font-weight:700}.date-picker-popover .rdp-dropdowns{gap:8px}.date-picker-popover .rdp-dropdown{color:#334155;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:8px;padding:0 8px;font-size:12px}.date-picker-popover .rdp-button_previous,.date-picker-popover .rdp-button_next{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:34px;height:34px}.date-picker-popover .rdp-button_previous:hover,.date-picker-popover .rdp-button_next:hover{color:#0f172a;background:#f8fafc}.date-picker-popover .rdp-weekday{color:#94a3b8;text-transform:uppercase;height:34px;font-size:10px;font-weight:800}.date-picker-popover .rdp-day{width:38px;height:38px}.date-picker-popover .rdp-day_button{color:#334155;border:0;width:36px;height:36px;font-size:12px;font-weight:600}.date-picker-popover .rdp-outside{opacity:.38}.date-picker-popover .rdp-disabled{opacity:.28}.date-picker-clear{color:#64748b;width:100%;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin-top:10px;font-size:12px;font-weight:700}.date-picker-clear:hover{color:#0f172a;background:#f8fafc}.class-form-date-error{color:#dc2626;grid-column:1/-1;margin-top:-8px;font-size:11px;font-weight:600}@media (width<=640px){.date-picker-popover{width:min(340px,100vw - 28px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.class-form-panel{overflow-x:hidden}.date-picker-field{min-width:0;position:relative}.date-picker-popover{z-index:5000;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:300px;max-width:calc(100vw - 32px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;right:auto;overflow:hidden;box-shadow:0 18px 45px #0f172a2e}.date-picker-popover .rdp-root,.date-picker-popover .rdp-months,.date-picker-popover .rdp-month{width:100%;max-width:100%;margin:0}.date-picker-popover .rdp-month_grid{border-collapse:collapse;table-layout:fixed!important;width:100%!important;min-width:0!important}.date-picker-popover .rdp-weekdays,.date-picker-popover .rdp-week{display:table-row}.date-picker-popover .rdp-weekday,.date-picker-popover .rdp-day{text-align:center;height:36px;padding:0;width:14.2857%!important;min-width:0!important}.date-picker-popover .rdp-weekday{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:800}.date-picker-popover .rdp-day_button{color:#334155;background:0 0;border:0;border-radius:8px;place-items:center;margin:auto;padding:0;font-size:12px;font-weight:600;display:grid;width:32px!important;height:32px!important}.date-picker-popover .rdp-day_button:hover{color:#1d4ed8;background:#eff6ff}.date-picker-popover .rdp-selected .rdp-day_button{color:#fff;background:#2563eb}.date-picker-popover .rdp-today:not(.rdp-selected) .rdp-day_button{color:#1d4ed8;border:1px solid #93c5fd}.date-picker-popover .rdp-month_caption{min-height:40px;margin-bottom:8px}.date-picker-popover .rdp-nav{gap:6px;display:flex;position:absolute;top:14px;right:14px}.date-picker-popover .rdp-button_previous,.date-picker-popover .rdp-button_next{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.date-picker-popover .rdp-dropdowns{align-items:center;gap:6px;padding-right:78px;display:flex}.date-picker-popover .rdp-dropdown{color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:8px;max-width:92px;min-height:32px;padding:0 6px;font-size:12px}.class-form-panel .class-panel-footer{z-index:10}@media (width<=640px){.date-picker-popover{width:min(300px,100vw - 28px);position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}}.date-picker-popover.align-left{left:0;right:auto}.date-picker-popover.align-right{left:auto;right:0}@media (width<=640px){.date-picker-popover.align-left,.date-picker-popover.align-right{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}}.day-header{flex-direction:column;justify-content:center;gap:1px;min-height:48px;padding:5px 8px;line-height:1.15}.day-header strong{color:#334155;font-size:10px;font-weight:800}.day-header span{color:#94a3b8;font-size:9px;font-weight:700}.timetable-density-compact .week-grid-row,.timetable-density-compact .schedule-cell{min-height:76px}.timetable-density-compact .class-card{min-height:62px;padding:6px 7px}.timetable-density-compact .class-card h3{margin-top:4px;font-size:10px}.timetable-density-comfortable .week-grid-row,.timetable-density-comfortable .schedule-cell{min-height:104px}.timetable-density-comfortable .class-card{min-height:90px;padding:10px}.timetable-density-comfortable .class-card-code{font-size:10px}.timetable-density-comfortable .class-card-status{padding:3px 6px;font-size:8px}.timetable-density-comfortable .class-card h3{margin:7px 0 3px;font-size:12px}@media (width<=1300px){.timetable-navigation{flex-direction:column;align-items:stretch}.timetable-navigation-actions{justify-content:space-between;width:100%}}@media (width<=820px){.timetable-navigation-actions{flex-direction:column;align-items:stretch}.timetable-week-navigation{width:100%}.timetable-week-label{flex:1;max-width:none}.timetable-density-toggle{width:100%}.timetable-density-toggle button{flex:1}}@media (width<=520px){.timetable-navigation .timetable-tabs{width:100%}.timetable-tab{padding:0 10px}.timetable-week-label{padding:0 7px;font-size:10px}.timetable-density-toggle button{font-size:10px}}.class-card{--class-accent:#2563eb;--class-border:#bfdbfe;--class-background:#eff6ff;--class-text:#1d4ed8;--class-badge-background:#dbeafe;border:1px solid var(--class-border,#bfdbfe);border-left:3px solid var(--class-accent,#2563eb);background:var(--class-background,#eff6ff)}.class-card:hover{border-color:var(--class-accent,#2563eb);border-left-color:var(--class-accent,#2563eb);background:var(--class-background,#eff6ff);box-shadow:0 5px 14px #0f172a1a}.class-card:focus-visible{outline-color:var(--class-accent,#2563eb)}.class-card-code,.class-card-draft .class-card-code{color:var(--class-text,#1d4ed8)}.class-card-draft{border:1px solid var(--class-border,#bfdbfe);border-left:3px solid var(--class-accent,#2563eb);background:var(--class-background,#eff6ff)}.class-card{border:1px solid var(--class-border,#93c5fd);border-left:4px solid var(--class-accent,#2563eb);background:var(--class-background,#dbeafe)}.class-card:hover{box-shadow:0 7px 18px #0f172a1f, inset 0 0 0 1px var(--class-accent,#2563eb)}.class-card.entity-theme-blue{background:#dbeafe;border:1px solid #93c5fd;border-left:4px solid #2563eb}.class-card.entity-theme-emerald{background:#d1fae5;border:1px solid #6ee7b7;border-left:4px solid #059669}.class-card.entity-theme-orange{background:#ffedd5;border:1px solid #fdba74;border-left:4px solid #ea580c}.class-card.entity-theme-rose{background:#ffe4e6;border:1px solid #fda4af;border-left:4px solid #e11d48}.class-card.entity-theme-cyan{background:#cffafe;border:1px solid #67e8f9;border-left:4px solid #0891b2}.class-card.entity-theme-indigo{background:#e0e7ff;border:1px solid #a5b4fc;border-left:4px solid #4f46e5}.class-card.entity-theme-teal{background:#ccfbf1;border:1px solid #5eead4;border-left:4px solid #0d9488}.class-card.entity-theme-amber{background:#fef3c7;border:1px solid #fcd34d;border-left:4px solid #d97706}.class-card.entity-theme-lime{background:#ecfccb;border:1px solid #bef264;border-left:4px solid #65a30d}.class-card.entity-theme-red{background:#fee2e2;border:1px solid #fca5a5;border-left:4px solid #dc2626}.class-card.entity-theme-violet{background:#ede9fe;border:1px solid #c4b5fd;border-left:4px solid #7c3aed}.class-card.entity-theme-slate{background:#e2e8f0;border:1px solid #94a3b8;border-left:4px solid #475569}.timetable-color-control{color:#64748b;background:#fff;border:1px solid #dbe3ee;border-radius:9px;align-items:center;gap:7px;min-height:36px;padding:0 10px;display:flex}.timetable-color-control label{color:#64748b;white-space:nowrap;font-size:11px;font-weight:700}.timetable-color-control select{color:#334155;min-width:108px;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;font-size:12px;font-weight:700}.class-card.entity-theme-blue,.class-card.entity-theme-emerald,.class-card.entity-theme-orange,.class-card.entity-theme-rose,.class-card.entity-theme-cyan,.class-card.entity-theme-indigo,.class-card.entity-theme-teal,.class-card.entity-theme-amber,.class-card.entity-theme-lime,.class-card.entity-theme-red,.class-card.entity-theme-violet,.class-card.entity-theme-slate{background:#fff}.class-card.entity-theme-blue{border:1px solid #bfdbfe;border-left:4px solid #2563eb}.entity-theme-blue .class-card-code{color:#1d4ed8}.entity-theme-blue .class-card-status.published{color:#1d4ed8;background:#dbeafe}.class-card.entity-theme-emerald{border:1px solid #a7f3d0;border-left:4px solid #059669}.entity-theme-emerald .class-card-code{color:#047857}.entity-theme-emerald .class-card-status.published{color:#047857;background:#d1fae5}.class-card.entity-theme-orange{border:1px solid #fed7aa;border-left:4px solid #ea580c}.entity-theme-orange .class-card-code{color:#c2410c}.entity-theme-orange .class-card-status.published{color:#c2410c;background:#ffedd5}.class-card.entity-theme-rose{border:1px solid #fecdd3;border-left:4px solid #e11d48}.entity-theme-rose .class-card-code{color:#be123c}.entity-theme-rose .class-card-status.published{color:#be123c;background:#ffe4e6}.class-card.entity-theme-cyan{border:1px solid #a5f3fc;border-left:4px solid #0891b2}.entity-theme-cyan .class-card-code{color:#0e7490}.entity-theme-cyan .class-card-status.published{color:#0e7490;background:#cffafe}.class-card.entity-theme-indigo{border:1px solid #c7d2fe;border-left:4px solid #4f46e5}.entity-theme-indigo .class-card-code{color:#4338ca}.entity-theme-indigo .class-card-status.published{color:#4338ca;background:#e0e7ff}.class-card.entity-theme-teal{border:1px solid #99f6e4;border-left:4px solid #0d9488}.entity-theme-teal .class-card-code{color:#0f766e}.entity-theme-teal .class-card-status.published{color:#0f766e;background:#ccfbf1}.class-card.entity-theme-amber{border:1px solid #fde68a;border-left:4px solid #d97706}.entity-theme-amber .class-card-code{color:#b45309}.entity-theme-amber .class-card-status.published{color:#b45309;background:#fef3c7}.class-card.entity-theme-lime{border:1px solid #d9f99d;border-left:4px solid #65a30d}.entity-theme-lime .class-card-code{color:#4d7c0f}.entity-theme-lime .class-card-status.published{color:#4d7c0f;background:#ecfccb}.class-card.entity-theme-red{border:1px solid #fecaca;border-left:4px solid #dc2626}.entity-theme-red .class-card-code{color:#b91c1c}.entity-theme-red .class-card-status.published{color:#b91c1c;background:#fee2e2}.class-card.entity-theme-violet{border:1px solid #ddd6fe;border-left:4px solid #7c3aed}.entity-theme-violet .class-card-code{color:#6d28d9}.entity-theme-violet .class-card-status.published{color:#6d28d9;background:#ede9fe}.class-card.entity-theme-slate{border:1px solid #cbd5e1;border-left:4px solid #475569}.entity-theme-slate .class-card-code{color:#334155}.entity-theme-slate .class-card-status.published{color:#334155;background:#e2e8f0}.class-card.entity-theme-blue:hover{background:#f8fbff}.class-card.entity-theme-emerald:hover{background:#f7fefb}.class-card.entity-theme-orange:hover{background:#fffaf5}.class-card.entity-theme-rose:hover{background:#fff8f9}.class-card.entity-theme-cyan:hover{background:#f7fdff}.class-card.entity-theme-indigo:hover{background:#f8f9ff}.class-card.entity-theme-teal:hover{background:#f7fefc}.class-card.entity-theme-amber:hover{background:#fffdf7}.class-card.entity-theme-lime:hover{background:#fbfff5}.class-card.entity-theme-red:hover{background:#fff8f8}.class-card.entity-theme-violet:hover{background:#fbf9ff}.class-card.entity-theme-slate:hover{background:#f8fafc}@media (width<=1100px){.timetable-navigation-actions{flex-wrap:wrap}}@media (width<=768px){.timetable-color-control{width:100%}.timetable-color-control select{flex:1}}.class-card{border:1px solid var(--class-border,#2563eb38);background:linear-gradient(135deg, var(--class-background,#dbeafe4d), #ffffffd1 72%);-webkit-backdrop-filter:blur(6px);border-left:0;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 4px 12px #0f172a09}.class-card:before{content:"";background:var(--class-accent,#2563eb);border-radius:10px 0 0 10px;width:5px;position:absolute;inset:0 auto 0 0}.class-card:hover{border-color:var(--class-accent,#2563eb);background:linear-gradient(135deg, var(--class-background,#dbeafe66), #fffffff0 76%);transform:translateY(-1px);box-shadow:0 2px 4px #0f172a0d,0 10px 24px #0f172a14}.class-card-code{color:var(--class-text,#1d4ed8)}.class-card h3,.class-card-batch,.class-card-meta,.class-card-top{z-index:1;position:relative}.class-card{isolation:isolate;border:1px solid var(--class-border,#2563eb2e);background:linear-gradient(135deg, var(--class-background,#dbeafe33) 0%, #ffffffeb 58%, #fffffffa 100%);border-radius:9px;padding:11px 12px 10px 20px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a06,0 3px 10px #0f172a09}.class-card:before{content:"";background:var(--class-accent,#2563eb);width:5px;box-shadow:0 0 0 1px #ffffff42, 2px 0 10px color-mix(in srgb, var(--class-accent,#2563eb) 18%, transparent);border-radius:0 999px 999px 0;position:absolute;top:7px;bottom:7px;left:0}.class-card:after{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--class-accent,#2563eb) 7%, transparent), transparent 46%);position:absolute;inset:0}.class-card:hover{z-index:3;border-color:color-mix(in srgb, var(--class-accent,#2563eb) 42%, #fff);background:linear-gradient(135deg, color-mix(in srgb, var(--class-background) 82%, #fff) 0%, #fffffffa 72%);transform:translateY(-2px);box-shadow:0 2px 5px #0f172a0d,0 12px 26px #0f172a17}.class-card:focus-visible{outline:3px solid color-mix(in srgb, var(--class-accent,#2563eb) 20%, transparent);outline-offset:2px}.class-card-top{justify-content:space-between;align-items:center;gap:8px;min-height:18px;margin-bottom:4px;display:flex}.class-card-code{color:var(--class-text,#1d4ed8);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:800;line-height:1.2;overflow:hidden}.class-card h3{z-index:1;color:#172033;letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 3px;font-size:11px;font-weight:750;line-height:1.25;position:relative;overflow:hidden}.class-card-batch{z-index:1;color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:9px;font-weight:650;line-height:1.25;position:relative;overflow:hidden}.class-card-meta{z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid;position:relative}.class-card-meta>span{color:#7c8ba1;align-items:center;gap:4px;min-width:0;font-size:8px;font-weight:540;display:flex}.class-card-meta>span:last-child{justify-content:flex-end}.class-card-meta svg{color:#94a3b8;flex-shrink:0;width:10px;height:10px}.class-card-meta-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-card-status{letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;border-radius:999px;min-height:15px;padding:0 5px;font-size:7px;font-weight:850;line-height:15px}.class-card-status.published{background:color-mix(in srgb, var(--class-badge-background) 72%, #ffffffc2);color:var(--class-text,#1d4ed8);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--class-accent,#2563eb) 18%, transparent)}.class-card-status.draft{color:#a16207;background:#fef3c7b3;box-shadow:inset 0 0 0 1px #d9770633}.schedule-cell:has(.class-card){background:linear-gradient(#f8fafc7a,#ffffffb8)}.timetable-density-comfortable .class-card{border-radius:11px;padding:13px 13px 12px 17px}.timetable-density-comfortable .class-card:before{top:9px;bottom:9px}.timetable-density-comfortable .class-card h3{margin-top:7px;font-size:12px}.timetable-density-comfortable .class-card-batch{margin-bottom:8px;font-size:10px}.timetable-density-comfortable .class-card-meta>span{font-size:9px}.timetable-density-compact .class-card{min-height:62px}.timetable-density-compact .class-card h3{max-width:100%}@media (width<=768px){.class-card{padding-right:9px}.class-card-meta{grid-template-columns:1fr;gap:3px}.class-card-meta>span:last-child{justify-content:flex-start}}.class-card,.timetable-density-compact .class-card,.timetable-density-comfortable .class-card{padding-left:26px}.class-card:before{width:5px;left:5px}.class-card-top,.class-card h3,.class-card-batch,.class-card-meta{padding-left:2px}.draggable-class-wrapper{cursor:grab;will-change:opacity;width:100%}.draggable-class-wrapper:active{cursor:grabbing}.draggable-class-wrapper.is-dragging{opacity:.22}.draggable-class-wrapper.is-dragging .class-card{box-shadow:none}.schedule-cell{transition:background-color .12s,box-shadow .12s;position:relative}.schedule-cell-drop-active{background:#eff6ffb8;box-shadow:inset 0 0 0 2px #2563eb57,inset 0 0 18px #2563eb09}.schedule-cell-drop-active:after{content:"Drop here";z-index:4;color:#2563eb;pointer-events:none;background:#eff6ff9e;border:1px dashed #2563eb7a;border-radius:8px;place-items:center;font-size:9px;font-weight:700;display:grid;position:absolute;inset:6px}.class-card{cursor:grab}.draggable-class-wrapper:active .class-card{cursor:grabbing}.class-form-alert{border:1px solid;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.class-form-alert-icon{border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.class-form-alert-content{flex:1;min-width:0}.class-form-alert-title{margin:1px 0 6px;font-size:14px;font-weight:800;display:block}.class-form-alert-list{margin:0;padding-left:18px}.class-form-alert-list li+li{margin-top:4px}.class-form-alert-note{opacity:.82;border-top:1px solid;margin:9px 0 0;padding-top:9px;font-size:12px}.class-form-alert-danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.class-form-alert-danger .class-form-alert-icon{color:#dc2626;background:#fee2e2}.class-form-alert-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.class-form-alert-warning .class-form-alert-icon{color:#d97706;background:#fef3c7}.class-card.class-card-cancelled{cursor:pointer;opacity:.82;box-shadow:none;--class-accent:#dc2626!important;--class-border:#dc262657!important;--class-background:#fef2f2d6!important;--class-text:#7f1d1d!important;--class-badge-background:#fee2e2!important}.class-card-cancelled>:not(.class-card-cancelled-icon){z-index:1;position:relative}.class-card-cancelled h3{color:#64748b;text-decoration:line-through;text-decoration-thickness:1.5px}.class-card-cancelled .class-card-code,.class-card-cancelled .class-card-time,.class-card-cancelled .class-card-batch,.class-card-cancelled .class-card-meta{color:#7f1d1d!important}.class-card-status.cancelled{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.class-card-cancelled-icon{z-index:0;color:#dc2626;opacity:.18;pointer-events:none;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.draggable-class-wrapper.is-cancelled,.timeline-draggable-class.is-cancelled{cursor:default}.timetable-date-picker{color:#334155;white-space:nowrap;cursor:pointer;border-left:1px solid #e2e8f0;align-items:center;gap:6px;max-width:245px;min-height:32px;padding:0 9px;display:inline-flex}.timetable-date-picker svg{color:#2563eb;flex-shrink:0}.timetable-date-picker span{color:#64748b;font-size:10px;font-weight:700}.timetable-date-picker input{color:#1e293b;width:118px;min-height:27px;font:inherit;cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border:1px solid #dbe4f0;border-radius:7px;outline:none;padding:0 5px;font-size:11px;font-weight:700}.timetable-date-picker input:hover{background:#f8fbff;border-color:#93b4f8}.timetable-date-picker input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}@media (width<=760px){.timetable-date-picker{flex:1;max-width:none}.timetable-date-picker input{flex:1;width:auto}}@media (width<=520px){.timetable-date-picker{padding:0 6px}.timetable-date-picker span{display:none}}.timeline-grid-shell{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f8fafc;background:#fff;border:1px solid #dbe3ee;border-radius:12px;max-height:560px;position:relative;overflow:auto;box-shadow:0 1px 2px #0f172a08,0 8px 24px #0f172a09}.timeline-grid-shell::-webkit-scrollbar{width:10px;height:10px}.timeline-grid-shell::-webkit-scrollbar-track{background:#f8fafc}.timeline-grid-shell::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f8fafc;border-radius:999px}.timeline-grid-shell::-webkit-scrollbar-thumb:hover{background:#94a3b8}.timeline-grid-shell::-webkit-scrollbar-corner{background:#f8fafc}.timeline-week-grid{min-width:calc(72px + (var(--visible-day-count) * 220px));background:#fff}.timeline-grid-header{z-index:50;grid-template-columns:72px repeat(var(--visible-day-count), minmax(220px, 1fr));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafcf7;border-bottom:1px solid #cfd9e6;min-height:48px;display:grid;position:sticky;top:0;box-shadow:0 3px 10px #0f172a0e}.timeline-time-header,.timeline-day-header{border-right:1px solid #e2e8f0;justify-content:center;align-items:center;display:flex}.timeline-time-header{z-index:52;color:#64748b;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;font-size:10px;font-weight:800;position:sticky;left:0}.timeline-day-header{color:#0f172a;flex-direction:column;gap:2px;padding:7px 6px}.timeline-day-header:last-child{border-right:0}.timeline-day-header strong{font-size:13px;font-weight:800;line-height:1.2}.timeline-day-header span{color:#64748b;font-size:10px;font-weight:700;line-height:1.2}.timeline-grid-content{grid-template-columns:72px repeat(var(--visible-day-count), minmax(220px, 1fr));display:grid;position:relative}.timeline-time-rail{z-index:30;height:var(--timeline-height);background:#fcfdff;border-right:1px solid #d5deea;position:sticky;left:0;box-shadow:3px 0 8px #0f172a06}.timeline-time-marker{pointer-events:none;height:1px;position:absolute;left:0;right:0}.timeline-time-marker span{color:#475569;text-align:right;letter-spacing:.01em;background:#fcfdff;border-radius:4px;min-width:46px;padding:3px 4px;font-size:10px;font-weight:800;line-height:1;position:absolute;top:0;right:8px;transform:translateY(-50%)}.timeline-time-marker:first-child span{top:5px;transform:none}.timeline-day-column{height:var(--timeline-height);background:linear-gradient(#f8fafc38,#ffffffb8);border-right:1px solid #e2e8f0;min-width:0;position:relative}.timeline-day-column:last-child{border-right:0}.timeline-hour-line{z-index:1;pointer-events:none;background:#94a3b86b;height:1px;position:absolute;left:0;right:0}.timeline-hour-line:after{content:"";top:calc(var(--timeline-hour-height) / 2);border-top:1px dashed #cbd5e194;position:absolute;left:0;right:0}.timeline-class-position{z-index:5;box-sizing:border-box;min-width:0;padding:3px 2px;position:absolute;container-type:size}.timeline-draggable-class{cursor:grab;width:100%;height:100%;min-height:0}.timeline-draggable-class:active{cursor:grabbing}.timeline-draggable-class.is-dragging{opacity:.18}.timeline-class-position .class-card{border-radius:7px;width:100%;height:100%;min-height:0;padding:6px 7px 6px 19px;overflow:hidden;box-shadow:0 1px 2px #0f172a0f,0 2px 7px #0f172a0b}.timeline-class-position .class-card:before{top:5px;bottom:5px}.timeline-class-position .class-card-top{gap:4px;min-width:0}.timeline-class-position .class-card-code{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.timeline-class-position .class-card-time{color:#64748b;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;opacity:.95;flex:0 auto;min-width:0;font-size:8.5px;font-weight:750;line-height:1;overflow:hidden}.timeline-class-position .class-card-time svg,.timeline-class-position .class-card-time-icon{flex:none;width:10px;height:10px}.timeline-class-position .class-card-status{white-space:nowrap;flex:none;min-width:max-content;padding:3px 6px;font-size:8px;font-weight:900;line-height:1}.timeline-class-position .class-card h3{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:8.5px;line-height:1.18;display:-webkit-box;overflow:hidden}.timeline-class-position .class-card-batch{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;margin-bottom:3px;font-size:6.75px;line-height:1.15;overflow:hidden}.timeline-class-position .class-card-meta{gap:3px;min-width:0}.timeline-class-position .class-card-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:6.75px;line-height:1.1;overflow:hidden}@container (width<=150px){.class-card{padding-left:16px;padding-right:5px}.class-card:before{left:7px}.class-card-top{flex-direction:column;align-items:flex-start;gap:2px}.class-card-code,.class-card-time{width:100%}.class-card-time{font-size:6px}.class-card h3{-webkit-line-clamp:2;font-size:8px}.class-card-meta{flex-wrap:wrap}}@container (width<=100px){.class-card{padding-left:14px;padding-right:4px}.class-card:before{width:3px;left:6px}.class-card-time svg{display:none}.class-card h3{overflow-wrap:anywhere;font-size:7.5px}.class-card-batch{font-size:6.25px}.class-card-meta,.class-card-status{display:none}}@container (height<=58px){.class-card{padding-top:4px;padding-bottom:4px}.class-card:before{top:4px;bottom:4px}.class-card h3{-webkit-line-clamp:1;margin-top:2px;font-size:8px;line-height:1.1}.class-card-batch,.class-card-meta,.class-card-status{display:none}}@container (height<=42px){.class-card{align-items:center;padding-top:3px;padding-bottom:3px;display:flex}.class-card-top{width:100%;min-width:0}.class-card h3,.class-card-batch,.class-card-meta,.class-card-status{display:none}}@container (height<=30px){.class-card-time{display:none}.class-card-code{font-size:7px;line-height:1}}@container (width<=100px) and (height<=58px){.class-card-top{flex-direction:row;align-items:center}.class-card-time{display:none}}.timeline-grid-shell.density-compact .timeline-class-position,.density-compact .timeline-class-position{padding-top:2px;padding-bottom:2px}.timeline-grid-shell.density-compact .class-card,.density-compact .timeline-class-position .class-card{border-radius:6px}.timeline-grid-shell.density-comfortable .timeline-class-position,.density-comfortable .timeline-class-position{padding:4px 3px}.timeline-grid-shell.density-comfortable .timeline-class-position .class-card,.density-comfortable .timeline-class-position .class-card{border-radius:8px;padding:7px 8px 7px 21px}.timeline-density-comfortable .timeline-day-header strong{font-size:14px}.timeline-density-comfortable .timeline-day-header span{font-size:10.5px}.timeline-single-day .timeline-day-header strong{font-size:15px}.timeline-single-day .timeline-day-header span,.timeline-single-day .timeline-time-marker span{font-size:11px}.timeline-single-day .timeline-class-position{padding:4px}.timeline-single-day .timeline-class-position .class-card{border-radius:10px;padding:11px 15px 11px 24px}.timeline-single-day .timeline-class-position .class-card:before{width:5px;top:8px;bottom:8px}.timeline-single-day .timeline-class-position .class-card-top{gap:10px;margin-bottom:5px}.timeline-single-day .timeline-class-position .class-card-code{font-size:12px}.timeline-single-day .timeline-class-position .class-card-time{font-size:11px;gap:5px!important}.timeline-single-day .timeline-class-position .class-card-time svg,.timeline-single-day .timeline-class-position .class-card-time-icon{width:13px;height:13px}.timeline-single-day .timeline-class-position .class-card-status{min-height:19px;padding:0 7px;font-size:9px;line-height:19px}.timeline-single-day .timeline-class-position .class-card h3{margin:5px 0 4px;font-size:13px;line-height:1.25}.timeline-single-day .timeline-class-position .class-card-batch{margin:0 0 6px;font-size:10.5px;line-height:1.25}.timeline-single-day .timeline-class-position .class-card-meta{gap:10px}.timeline-single-day .timeline-class-position .class-card-meta>span{gap:5px;font-size:10px}.timeline-single-day .timeline-class-position .class-card-meta svg{width:13px;height:13px}.timeline-day-column-active{background:#eff6ff6b}.timeline-day-column-valid{cursor:grabbing}.timeline-day-column-conflict{cursor:not-allowed}.timeline-drop-line{z-index:70;pointer-events:none;border-radius:999px;height:2px;position:absolute;left:4px;right:4px;transform:translateY(-1px)}.timeline-drop-line:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.timeline-drop-line-valid{color:#10b981;background:#10b981;box-shadow:0 0 0 2px #d1fae5f0,0 2px 8px #05966940}.timeline-drop-line-conflict{color:#ef4444;background:#ef4444;box-shadow:0 0 0 2px #fee2e2f5,0 2px 8px #dc262640}.timeline-drop-feedback{z-index:80;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffffa;border:1px solid #0000;border-radius:8px;max-height:112px;padding:8px 9px;font-size:9px;line-height:1.4;animation:.12s ease-out timeline-feedback-in;position:absolute;left:8px;right:8px;overflow-y:auto;transform:translateY(calc(-100% - 7px));box-shadow:0 8px 22px #0f172a29}.timeline-drop-feedback-valid{color:#047857;border-color:#34d399}.timeline-drop-feedback-conflict{color:#991b1b;border-color:#f87171}.timeline-drop-feedback-title{align-items:center;gap:5px;font-weight:800;display:flex}.timeline-drop-feedback-title svg{flex:none}.timeline-drop-feedback ul{border-top:1px solid #ef44442e;margin:5px 0 0;padding:5px 0 0 15px}.timeline-drop-feedback li{overflow-wrap:anywhere}.timeline-drop-feedback li+li{margin-top:3px}.timeline-drop-feedback.feedback-below,.timeline-drop-feedback:first-child{transform:translateY(7px)}.timeline-grid-shell .timetable-empty-state{min-height:320px}@media (width<=768px){.timeline-grid-shell{max-height:520px}.timeline-week-grid{min-width:calc(62px + (var(--visible-day-count) * 190px))}.timeline-grid-header,.timeline-grid-content{grid-template-columns:62px repeat(var(--visible-day-count), minmax(190px, 1fr))}.timeline-time-marker span{min-width:38px;font-size:7.5px;right:6px}}@keyframes timeline-feedback-in{0%{opacity:0;transform:translateY(calc(-100% - 3px))scale(.98)}to{opacity:1;transform:translateY(calc(-100% - 7px))scale(1)}}@media (prefers-reduced-motion:reduce){.timeline-drop-feedback{animation:none}}.holiday-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;margin:20px 0;display:flex}.holiday-toolbar .settings-form-field{max-width:180px}.holidays-panel .settings-rule-row strong{align-items:center;gap:8px;display:flex}.holidays-panel .settings-field-hint{color:#64748b}.timetable-holiday{white-space:normal;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin:4px 0;padding:4px 7px;font-size:11px;font-weight:600;display:block}.timetable-holiday.observance{color:#075985;background:#f0f9ff;border-color:#bae6fd}.timetable-holiday-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:12px}@media (width<=600px){.holiday-toolbar{flex-direction:column;align-items:stretch}}.holiday-toolbar>.settings-form-field{flex:0 0 180px;width:180px}.holiday-toolbar #holiday-year{box-sizing:border-box;width:100%}.holidays-panel .date-picker-field{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.holidays-panel .date-picker-field>span{color:#344054;font-size:12px;font-weight:650}.holidays-panel .date-picker-trigger{color:#344054;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.holidays-panel .date-picker-trigger-content{align-items:center;gap:9px;display:flex}.holidays-panel .date-picker-trigger .placeholder{color:#98a2b3}.holidays-panel .date-picker-trigger:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.holidays-panel .date-picker-popover{z-index:5000;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:300px;max-width:calc(100vw - 32px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;right:auto;box-shadow:0 18px 45px #0f172a2e}.holidays-panel .date-picker-popover.align-right{left:auto;right:0}.holidays-panel .rdp-root{--rdp-accent-color:var(--accent,#2563eb);--rdp-day-height:36px;--rdp-day-width:36px;font-size:13px}.holidays-panel .rdp-month_grid{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.holidays-panel .rdp-weekday,.holidays-panel .rdp-day{text-align:center;width:14.285%;height:36px;padding:0}.holidays-panel .rdp-day_button{width:32px;height:32px;font:inherit;border-radius:8px;margin:auto}.holidays-panel .rdp-selected .rdp-day_button{background:var(--accent,#2563eb);color:#fff}.holidays-panel .date-picker-clear{width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;padding:8px}@media (width<=600px){.holiday-toolbar>.settings-form-field{flex-basis:auto}.holidays-panel .date-picker-popover,.holidays-panel .date-picker-popover.align-right{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.reports-page{--reports-blue:#2563eb;--reports-blue-dark:#1d4ed8;--reports-blue-soft:#eff6ff;--reports-navy:#0f172a;--reports-slate:#475569;--reports-muted:#64748b;--reports-line:#e2e8f0;width:100%;padding-bottom:44px}.reports-hero{background:radial-gradient(circle at 88% 8%,#2563eb2e,#0000 31%),radial-gradient(circle at 72% 108%,#0ea5e91f,#0000 31%),linear-gradient(138deg,#fff 0%,#f7faff 58%,#eef5ff 100%);border:1px solid #dbe7fb;border-radius:28px;justify-content:space-between;align-items:flex-start;gap:28px;min-height:216px;padding:34px 36px;display:flex;position:relative;overflow:visible;box-shadow:0 18px 45px #2563eb14}.reports-hero:after{content:"";opacity:.36;pointer-events:none;background-color:#0000;background-image:linear-gradient(120deg,#0000 48%,#2563eb2e 49% 51%,#0000 52%),linear-gradient(60deg,#0000 48%,#2563eb1f 49% 51%,#0000 52%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:164px;height:78px;position:absolute;bottom:26px;right:34px}.reports-hero-copy{z-index:1;max-width:720px;position:relative}.reports-eyebrow,.reports-scope-badge{align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.reports-eyebrow{color:var(--reports-blue);letter-spacing:.08em;text-transform:uppercase}.reports-hero h1{color:var(--reports-navy);letter-spacing:-.045em;margin:15px 0 10px;font-size:clamp(30px,3vw,42px);line-height:1.08}.reports-hero p{max-width:660px;color:var(--reports-muted);margin:0;font-size:15px;line-height:1.65}.reports-scope-badge{color:#166534;background:#f0fdf4e6;border:1px solid #bbf7d0;border-radius:999px;margin-top:20px;padding:7px 11px}.reports-hero-actions{z-index:4;align-items:center;gap:10px;display:flex;position:relative}.reports-icon-button{color:#334155;cursor:pointer;background:#ffffffeb;border:1px solid #d7e1ee;border-radius:12px;align-items:center;gap:8px;height:43px;padding:0 14px;font-size:13px;font-weight:700;transition:all .16s;display:inline-flex}.reports-icon-button:hover:not(:disabled){color:var(--reports-blue);border-color:#bfdbfe;transform:translateY(-1px)}.reports-icon-button:disabled{opacity:.55;cursor:not-allowed}.report-saved-views{position:relative}.report-saved-popover{background:#fff;border:1px solid #dbe3ed;border-radius:16px;width:min(390px,100vw - 44px);padding:15px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 22px 56px #0f172a29}.report-saved-heading,.report-saved-heading>div,.report-saved-row>button:first-child{flex-direction:column;display:flex}.report-saved-heading{padding-right:32px;position:relative}.report-saved-heading strong{color:var(--reports-navy);font-size:14px}.report-saved-heading span{color:var(--reports-muted);margin-top:3px;font-size:11px}.report-saved-heading>button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:29px;height:29px;display:grid;position:absolute;top:-4px;right:-3px}.report-save-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px;padding:10px;display:grid}.report-save-form input{color:#334155;min-width:0;height:37px;font:inherit;background:#fff;border:1px solid #dbe3ed;border-radius:9px;outline:0;padding:0 10px;font-size:12px}.report-save-form input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}.report-save-form button{color:#fff;background:var(--reports-blue);cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:750;display:inline-flex}.report-saved-error{color:#b91c1c;background:#fef2f2;border-radius:9px;margin-top:9px;padding:8px 10px;font-size:11px}.report-saved-list{gap:6px;max-height:250px;margin-top:11px;display:grid;overflow-y:auto}.report-saved-list>p{color:#94a3b8;text-align:center;margin:0;padding:16px 8px;font-size:11px;line-height:1.5}.report-saved-row{border:1px solid #edf2f7;border-radius:10px;grid-template-columns:minmax(0,1fr) 32px;gap:6px;min-width:0;padding:6px;display:grid}.report-saved-row>button{cursor:pointer;background:0 0;border:0;border-radius:7px}.report-saved-row>button:first-child{color:#334155;text-align:left;min-width:0;padding:4px 6px}.report-saved-row>button:first-child:hover{background:#eff6ff}.report-saved-row strong,.report-saved-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-saved-row strong{font-size:12px}.report-saved-row span{color:#94a3b8;text-transform:capitalize;margin-top:3px;font-size:9px}.report-saved-row>button.is-danger{color:#94a3b8;place-items:center;display:grid}.report-saved-row>button.is-danger:hover{color:#dc2626;background:#fef2f2}.is-spinning{animation:.9s linear infinite reportsSpin}@keyframes reportsSpin{to{transform:rotate(360deg)}}.report-tabs{border:1px solid var(--reports-line);background:#fff;border-radius:16px;align-items:center;gap:4px;margin:22px 0 0;padding:6px;display:flex;overflow-x:auto;box-shadow:0 5px 20px #0f172a0a}.report-tab{min-width:max-content;height:39px;color:var(--reports-muted);cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:650;transition:all .15s;display:inline-flex}.report-tab:hover{color:var(--reports-navy);background:#f8fafc}.report-tab.is-active{color:var(--reports-blue);background:var(--reports-blue-soft);box-shadow:inset 0 0 0 1px #dbeafe}.report-filter-bar{border:1px solid var(--reports-line);background:#fff;border-radius:18px;justify-content:space-between;align-items:flex-end;gap:18px;margin:16px 0 18px;padding:16px 18px;display:flex}.report-filter-intro{min-width:198px;color:var(--reports-blue);align-items:flex-start;gap:9px;padding-bottom:3px;display:flex}.report-filter-intro strong,.report-filter-intro span{display:block}.report-filter-intro strong{color:var(--reports-navy);font-size:13px}.report-filter-intro span{max-width:190px;color:var(--reports-muted);margin-top:3px;font-size:11px;line-height:1.45}.report-filter-fields{flex:1;grid-template-columns:repeat(5,minmax(125px,1fr));gap:10px;display:grid}.report-filter-field{min-width:0}.report-filter-field>span{color:var(--reports-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px 2px;font-size:10px;font-weight:700;display:block}.report-filter-field input,.report-filter-field select,.report-search-field>div{color:#334155;background:#fbfdff;border:1px solid #dbe3ed;border-radius:10px;width:100%;height:39px;font-size:12px;font-weight:550}.report-filter-field input,.report-filter-field select{padding:0 10px}.report-filter-field input:focus,.report-filter-field select:focus,.report-search-field>div:focus-within{border-color:#93c5fd;outline:0;box-shadow:0 0 0 3px #eff6ff}.report-search-field>div{align-items:center;gap:7px;padding:0 10px;display:flex}.report-search-field input{height:100%;box-shadow:none;background:0 0;border:0;padding:0}.report-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.report-kpi-card{border:1px solid var(--reports-line);background:#fff;border-radius:18px;min-height:136px;padding:18px;position:relative;overflow:hidden;box-shadow:0 6px 22px #0f172a0b}.report-kpi-card:after{content:"";background:#eff6ff;border-radius:50%;width:88px;height:88px;position:absolute;bottom:-34px;right:-30px}.report-kpi-card.is-alert:after{background:#fef2f2}.report-kpi-topline{justify-content:space-between;align-items:center;display:flex}.report-kpi-icon{width:35px;height:35px;color:var(--reports-blue);background:var(--reports-blue-soft);border-radius:11px;place-items:center;display:grid}.is-alert .report-kpi-icon{color:#dc2626;background:#fef2f2}.report-kpi-context{color:#16a34a;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:750}.report-kpi-card>strong,.report-kpi-card>span{z-index:1;display:block;position:relative}.report-kpi-card>strong{color:var(--reports-navy);letter-spacing:-.04em;margin-top:14px;font-size:27px;line-height:1}.report-kpi-card>span{color:var(--reports-muted);margin-top:7px;font-size:12px;font-weight:600}.report-kpi-card.is-loading{background:linear-gradient(100deg,#f8fafc 20%,#eef2f7 40%,#f8fafc 60%) 0 0/200% 100%;min-height:136px;animation:1.2s infinite reportsShimmer}@keyframes reportsShimmer{to{background-position-x:-200%}}.reports-intelligence-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:16px;display:grid}.report-panel{border:1px solid var(--reports-line);background:#fff;border-radius:20px;min-width:0;padding:20px;box-shadow:0 7px 24px #0f172a0b}.report-trend-panel{min-height:372px}.report-insights-panel{grid-column:1/-1}.report-panel-heading,.report-panel-heading>div{align-items:center;display:flex}.report-panel-heading{justify-content:space-between;gap:14px;margin-bottom:18px}.report-panel-heading>div{gap:10px;min-width:0}.report-panel-icon{width:34px;height:34px;color:var(--reports-blue);background:var(--reports-blue-soft);border-radius:10px;flex:none;place-items:center;display:grid}.report-panel-heading h2,.report-panel-heading p{margin:0}.report-panel-heading h2{color:var(--reports-navy);letter-spacing:-.01em;font-size:15px}.report-panel-heading p{color:var(--reports-muted);margin-top:3px;font-size:11px}.report-panel-chip{color:var(--reports-blue);background:#f8fbff;border:1px solid #dbeafe;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:700}.report-chart-wrap{width:100%;overflow:hidden}.report-chart-wrap svg{width:100%;min-height:265px;overflow:visible}.report-chart-gridline{stroke:#e8eef6;stroke-width:1px}.report-chart-line{fill:none;stroke:var(--reports-blue);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.report-chart-point{fill:#fff;stroke:var(--reports-blue);stroke-width:3px}.report-chart-label{fill:#94a3b8;font-size:10px;font-weight:600}.report-chart-empty{color:#94a3b8;text-align:center;background:#fbfdff;border:1px dashed #dbe3ed;border-radius:14px;place-items:center;min-height:160px;font-size:12px;display:grid}.report-comparison-list{gap:17px;display:grid}.report-comparison-row{grid-template-columns:minmax(120px,1fr) minmax(90px,1.25fr) 40px;align-items:center;gap:10px;display:grid}.report-comparison-copy strong,.report-comparison-copy span{display:block}.report-comparison-copy strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-comparison-copy span{color:#94a3b8;margin-top:3px;font-size:10px}.report-comparison-track{background:#edf2f7;border-radius:999px;height:8px;overflow:hidden}.report-comparison-track span{border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%;display:block}.report-comparison-row>strong{color:var(--reports-muted);text-align:right;font-size:11px}.report-insight-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.report-insight{color:#334155;text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:13px;transition:all .15s;display:grid}.report-insight:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0f172a12}.report-insight-icon{border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.report-insight strong,.report-insight small{display:block}.report-insight strong{color:var(--reports-navy);font-size:12px}.report-insight small{color:var(--reports-muted);margin-top:3px;font-size:10px;line-height:1.45}.report-insight.is-critical{background:#fff7f7;border-color:#fecaca}.report-insight.is-critical .report-insight-icon{color:#dc2626;background:#fee2e2}.report-insight.is-warning{background:#fffbeb;border-color:#fde68a}.report-insight.is-warning .report-insight-icon{color:#b45309;background:#fef3c7}.report-insight.is-info .report-insight-icon{color:#2563eb;background:#dbeafe}.report-insight.is-success{background:#f5fff8;border-color:#bbf7d0}.report-insight.is-success .report-insight-icon{color:#15803d;background:#dcfce7}.report-table-panel{padding:0;overflow:hidden}.report-table-panel .report-panel-heading{border-bottom:1px solid #edf2f7;margin:0;padding:20px}.report-table-scroll{width:100%;overflow-x:auto}.report-data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:920px}.report-data-table thead th{color:#8492a6;letter-spacing:.055em;text-align:left;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #e7edf5;padding:11px 15px;font-size:10px;font-weight:750}.report-data-table tbody td{color:#475569;white-space:nowrap;border-top:0;border-bottom:1px solid #edf2f7;padding:13px 15px;font-size:12px}.report-data-table tbody tr:last-child td{border-bottom:0}.report-data-table tbody tr:hover td{background:#fbfdff}.report-status{color:#475569;text-transform:capitalize;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.report-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.report-status.is-published,.report-status.is-active,.report-status.is-balanced,.report-status.is-completed,.report-status.is-export,.report-status.is-insert{color:#15803d;background:#ecfdf3}.report-status.is-pending-approval,.report-status.is-pending,.report-status.is-high,.report-status.is-late,.report-status.is-update{color:#b45309;background:#fff7e6}.report-status.is-conflict,.report-status.is-overloaded,.report-status.is-absent,.report-status.is-delete{color:#dc2626;background:#fef2f2}.report-status.is-approved,.report-status.is-present{color:#1d4ed8;background:#eff6ff}.report-table-meter{align-items:center;gap:8px;min-width:118px;display:flex}.report-table-meter>span{background:#e9eef5;border-radius:999px;width:68px;height:6px;overflow:hidden}.report-table-meter i{border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%;display:block}.report-table-meter strong{color:#475569;font-size:10px}.report-row-action{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe3ed;border-radius:9px;justify-content:center;align-items:center;width:34px;height:31px;margin-left:auto;display:flex}.report-row-action svg:last-child{display:none}.report-row-action:hover{color:var(--reports-blue);background:#eff6ff;border-color:#bfdbfe}.report-row-action:hover svg:first-child{display:none}.report-row-action:hover svg:last-child{display:block}.report-table-empty{text-align:center;height:160px;color:#94a3b8!important}.report-table-skeleton span{background:linear-gradient(100deg,#f1f5f9 20%,#e8eef5 40%,#f1f5f9 60%) 0 0/200% 100%;border-radius:6px;height:15px;animation:1.2s infinite reportsShimmer;display:block}.reports-inline-error{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:12px;margin-bottom:16px;padding:11px 14px;font-size:12px}.report-empty-state{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:42px;display:flex}.report-empty-state>span{width:54px;height:54px;color:var(--reports-blue);background:#eff6ff;border-radius:16px;place-items:center;display:grid}.report-empty-state h2{color:var(--reports-navy);margin:16px 0 7px;font-size:18px}.report-empty-state p{max-width:560px;color:var(--reports-muted);margin:0;font-size:13px;line-height:1.6}.report-empty-state button{color:#fff;background:var(--reports-blue);cursor:pointer;border:0;border-radius:10px;margin-top:17px;padding:9px 14px;font-weight:700}.report-empty-state.is-error>span{color:#dc2626;background:#fef2f2}.report-drilldown{gap:18px;display:grid}.report-drilldown-banner,.report-drilldown-summary{border-radius:14px;align-items:flex-start;gap:11px;padding:15px;display:flex}.report-drilldown-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.report-drilldown-banner>span,.report-drilldown-summary>span{border-radius:10px;flex:none;place-items:center;width:35px;height:35px;display:grid}.report-drilldown-banner>span{background:#dcfce7}.report-drilldown-banner p,.report-drilldown-summary p{margin:4px 0 0;font-size:11px;line-height:1.5}.report-drilldown-summary{color:#334155;background:#f8fafc}.report-drilldown-summary>span{color:var(--reports-blue);background:#dbeafe}.report-drilldown-summary p{color:var(--reports-muted);align-items:center;gap:5px;display:flex}.report-drilldown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-drilldown-grid>div{background:#fff;border:1px solid #e5ebf2;border-radius:11px;min-width:0;padding:12px}.report-drilldown-grid dt{color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:750}.report-drilldown-grid dd{overflow-wrap:anywhere;color:#334155;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.5}@media (width<=1240px){.report-filter-bar{flex-direction:column;align-items:stretch}.report-filter-intro{min-width:0}.report-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.reports-hero{flex-direction:column;padding:28px}.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-intelligence-grid{grid-template-columns:1fr}.report-insights-panel{grid-column:auto}.report-insight-list{grid-template-columns:1fr}}@media (width<=680px){.reports-hero{border-radius:22px;padding:24px 20px}.reports-hero-actions{flex-direction:column;align-items:stretch;width:100%}.reports-icon-button,.report-saved-views,.reports-hero-actions .export-menu,.reports-hero-actions .export-menu-trigger{width:100%}.report-saved-popover{left:0;right:auto}.report-filter-fields,.report-kpi-grid{grid-template-columns:1fr}.report-panel{border-radius:16px;padding:16px}.report-panel-heading{align-items:flex-start}.report-panel-chip{display:none}.report-comparison-row{grid-template-columns:minmax(110px,1fr) 1fr}.report-comparison-row>strong{display:none}.report-drilldown-grid{grid-template-columns:1fr}}.report-library{--rl-ink:#172b4d;--rl-muted:#63758d;--rl-line:#e3eaf2;--rl-blue:#2463eb;max-width:1600px;color:var(--rl-ink);margin:auto}.report-library button,.report-library input,.report-library select{font:inherit}.report-library button{cursor:pointer}.report-library button:disabled{cursor:default;opacity:.5}.report-library button:focus-visible,.report-library input:focus-visible,.report-library select:focus-visible{outline-offset:3px;outline:3px solid #93b8ff}.rl-library-header,.rl-report-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.rl-eyebrow{letter-spacing:1.3px;text-transform:uppercase;color:#5c789c;font-size:11px;font-weight:700}.rl-library-header h1,.rl-report-header h1{letter-spacing:-1px;color:#152741;margin:12px 0 10px;font-size:32px;line-height:1.2}.rl-library-header p,.rl-report-header p{color:var(--rl-muted);margin:0;font-size:14px;line-height:1.6}.rl-scope{white-space:nowrap;color:#476489;background:#edf3fb;border-radius:8px;align-items:center;gap:8px;padding:9px 13px;font-size:12px;display:flex}.rl-library-tools{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.rl-library-tools>span{color:var(--rl-muted);font-size:12px}.rl-search{border:1px solid var(--rl-line);color:#8192a8;background:#fff;border-radius:9px;align-items:center;gap:12px;width:min(600px,75%);padding:0 15px;display:flex}.rl-search input{min-width:0;color:var(--rl-ink);background:0 0;border:0;outline:0;flex:1;padding:14px 0;font-size:13px}.rl-executive{text-align:left;color:#1c3f75;background:linear-gradient(115deg,#eef5ff,#f9fbff 60%,#edf5ff);border:1px solid #d6e3fa;border-radius:12px;align-items:center;gap:20px;width:100%;margin-bottom:32px;padding:26px;display:flex}.rl-executive-icon{width:56px;height:56px;color:var(--rl-blue);background:#fff;border:1px solid #dce7f7;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.rl-executive>span:nth-child(2){flex-direction:column;flex:1;gap:7px;display:flex}.rl-executive small{letter-spacing:1.6px;color:#6682a6;font-size:10px}.rl-executive strong{letter-spacing:-.4px;font-size:20px}.rl-executive span span{color:#5c7494;font-size:13px}.rl-executive:hover{border-color:#8ab2f3}.rl-library-layout{grid-template-columns:225px minmax(0,1fr);gap:30px;display:grid}.rl-groups{flex-direction:column;align-self:start;gap:5px;display:flex;position:sticky;top:20px}.rl-groups button{text-align:left;color:#62728a;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:13px 10px;font-size:12px;display:flex}.rl-groups button span{color:#8393a7;margin-left:auto;font-size:11px}.rl-groups button.active{color:#2459b7;background:#eaf1fc;font-weight:650}.rl-groups button:hover{background:#eef3fa}.rl-group-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.rl-group-heading h2{letter-spacing:-.25px;margin:0;font-size:16px}.rl-group-heading span{color:#8290a3;font-size:11px}.rl-catalog>section{margin-bottom:30px}.rl-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.rl-report-card{border:1px solid var(--rl-line);text-align:left;color:var(--rl-ink);background:#fff;border-radius:10px;flex-direction:column;min-height:213px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex}.rl-report-card:hover{border-color:#95b7ed;box-shadow:0 5px 18px #21457f0b}.rl-card-top{color:#6a87b1;justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.rl-card-top>svg:first-child{color:#3570cd}.rl-report-card>strong{font-size:14px;line-height:1.5}.rl-report-card>p{color:var(--rl-muted);flex:1;margin:8px 0 20px;font-size:12px;line-height:1.7}.rl-card-footer{color:#8695aa;border-top:1px solid #f0f3f7;width:100%;padding-top:12px;font-size:10px}.rl-back{color:#567296;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:24px;padding:0;font-size:12px;display:flex}.rl-report-header h1{font-size:28px}.rl-header-actions{align-items:center;gap:8px;display:flex}.rl-filter-bar{border:1px solid var(--rl-line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:flex}.rl-filter-bar label{color:#687e99;flex-direction:column;flex:1;gap:7px;min-width:125px;max-width:240px;font-size:11px;font-weight:600;display:flex}.rl-filter-bar input,.rl-filter-bar select{box-sizing:border-box;color:#314965;background:#fff;border:1px solid #dfe6ef;border-radius:6px;width:100%;min-width:0;height:36px;padding:0 9px;font-size:12px}.rl-reset{color:#4775bc;background:0 0;border:0;padding:11px 4px;font-size:11px}.rl-snapshot{color:#7386a0;align-items:center;gap:7px;margin:18px 0;font-size:11px;display:flex}.rl-snapshot>span{margin-left:auto}.rl-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px;display:grid}.rl-metrics article{border:1px solid var(--rl-line);background:#fff;border-radius:9px;flex-direction:column;gap:16px;padding:20px;display:flex}.rl-metrics article>span{color:#6d7f96;font-size:12px}.rl-metrics strong{letter-spacing:-.8px;font-size:28px;font-weight:650}.rl-analysis{grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:20px;margin-bottom:24px;display:grid}.rl-comparison,.rl-method{border:1px solid var(--rl-line);background:#fff;border-radius:10px;padding:22px}.rl-section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.rl-section-title h2{margin:0;font-size:14px;line-height:1.5}.rl-section-title>span{color:#8492a4;white-space:nowrap;font-size:11px}.rl-bar-row{text-align:left;color:#62778e;background:0 0;border:0;grid-template-columns:minmax(80px,1fr) minmax(40px,1.2fr) 44px;align-items:center;gap:12px;width:100%;padding:9px 0;font-size:11px;display:grid}.report-library .rl-bar-row:disabled{opacity:1}.rl-bar-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rl-bar-row>i{background:#f0f4fa;border-radius:3px;height:8px;overflow:hidden}.rl-bar-row b{background:#6b99e9;border-radius:3px;height:100%;display:block}.rl-bar-row strong{text-align:right;color:#375b8c;font-size:11px}.rl-method{background:#f8fafd}.rl-method h2{margin:14px 0;font-size:15px}.rl-method p{color:#647993;margin:0 0 20px;font-size:12px;line-height:1.9}.rl-method>span:last-child{color:#8493a8;font-size:11px;line-height:1.7}.rl-table-panel{border:1px solid var(--rl-line);background:#fff;border-radius:10px;margin:22px 0;overflow:hidden}.rl-table-panel>.rl-section-title{padding:20px 20px 0}.rl-table-scroll{max-height:660px;overflow:auto}.rl-table-panel table{border-collapse:collapse;white-space:nowrap;min-width:100%;font-size:12px}.rl-table-panel th{text-align:left;border-bottom:1px solid var(--rl-line);z-index:1;background:#f7f9fc;position:sticky;top:0}.rl-table-panel th>button{color:#7b8da4;background:0 0;border:0;align-items:center;gap:8px;padding:13px 16px;font-size:10px;font-weight:600;display:flex}.rl-table-panel td{color:#566c86;border-bottom:1px solid #edf1f6;padding:14px 16px}.rl-table-panel tr:hover td{background:#fafcff}.rl-record-link{color:#2e66bb;text-align:left;background:0 0;border:0;padding:0}.rl-status{color:#577ba8;background:#edf3fc;border-radius:5px;padding:4px 8px;font-size:10px;display:inline-block}.rl-status-alert{color:#aa6739;background:#fff2e9}.rl-pagination{color:#8393a6;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;font-size:10px;display:flex}.rl-pagination>div{white-space:nowrap;align-items:center;gap:12px;display:flex}.rl-pagination button{border:1px solid var(--rl-line);color:#547393;background:#fff;border-radius:5px;place-items:center;padding:5px;display:grid}.rl-empty{text-align:center;color:#7f90a6;padding:32px;font-size:12px;line-height:1.8}.rl-empty p{max-width:460px;margin:8px auto}.rl-loading{color:#6b84a5;justify-content:center;align-items:center;gap:12px;min-height:280px;font-size:13px;display:flex}.rl-error{background:#fff6f1;border:1px solid #f2ddcc;border-radius:10px;padding:30px}.rl-error h2{font-size:18px}.rl-error p{font-size:13px}.rl-notice{background:#edf4ff;border:1px solid #ccdef8;border-radius:8px;justify-content:space-between;padding:12px 16px;font-size:12px;display:flex}.rl-notice button{color:#587295;background:0 0;border:0}.rl-dialog{color:#233b59;border:1px solid #dbe5f2;border-radius:14px;width:min(1100px,100vw - 50px);max-height:85vh;padding:26px;box-shadow:0 20px 80px #11274a33}.rl-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#142b4f66}.rl-dialog-heading{justify-content:space-between;align-items:center;display:flex}.rl-dialog-heading span{color:#8194ac;font-size:11px}.rl-dialog-heading h2{margin:8px 0;font-size:23px}.rl-dialog-heading button{color:#6c86a8;background:#f0f5fc;border:0;border-radius:6px;padding:7px}.rl-dialog-note{color:#6a809b;font-size:12px}.rl-dialog .rl-table-scroll{max-height:360px}@media (width>=1500px){.rl-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1150px){.rl-library-layout{grid-template-columns:195px minmax(0,1fr);gap:20px}.rl-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.rl-report-header{flex-direction:column;align-items:start}.rl-analysis{grid-template-columns:1fr}.rl-groups button{font-size:11px}}@media (width<=700px){.rl-library-header{flex-direction:column;align-items:start;gap:14px}.rl-library-layout{grid-template-columns:1fr}.rl-groups{flex-direction:row;position:static;overflow:auto}.rl-groups button{white-space:nowrap}.rl-cards{grid-template-columns:1fr}.rl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rl-executive{gap:14px;padding:19px}.rl-executive span span{font-size:11px}.rl-executive-icon{display:none}.rl-header-actions,.rl-snapshot{flex-wrap:wrap}.rl-snapshot>span{margin-left:0}.rl-search{width:100%}.rl-library-tools>span{display:none}.rl-pagination{flex-direction:column;align-items:start}.rl-library-header h1{font-size:28px}.rl-dialog{padding:16px}.rl-method{padding:18px}}.reports-page.report-library{--rl-ink:#0f172a;--rl-muted:#64748b;--rl-line:#edf2f7;--rl-blue:#2563eb;box-sizing:border-box;max-width:none;margin:0;padding:30px}.report-library .rl-library-header,.report-library .rl-report-header{align-items:flex-start;gap:20px;margin-bottom:28px}.report-library .rl-eyebrow{color:#2563eb;letter-spacing:.06em;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.report-library .rl-library-header h1,.report-library .rl-report-header h1{color:#0f172a;letter-spacing:normal;margin:0;font-size:30px;font-weight:700}.report-library .rl-library-header p,.report-library .rl-report-header p{color:#64748b;margin:8px 0 0;font-size:15px}.report-library .rl-scope{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;min-height:40px;padding:0 12px;font-size:12px;font-weight:700}.report-library .rl-library-tools,.report-library .rl-filter-bar,.report-library .rl-groups,.report-library .rl-executive,.report-library .rl-report-card,.report-library .rl-metrics article,.report-library .rl-comparison,.report-library .rl-method,.report-library .rl-table-panel{background:#fff;border:1px solid #edf2f7;border-radius:18px;box-shadow:0 8px 24px #0f172a0d}.report-library .rl-library-tools{gap:12px;margin-bottom:24px;padding:16px}.report-library .rl-search{border:1px solid #dbe4ef;border-radius:12px;flex:1;width:auto;min-width:0;height:46px;padding:0 14px}.report-library .rl-search input{font-size:14px}.report-library .rl-library-tools>span{padding:0 8px;font-size:13px}.report-library .rl-executive{gap:16px;margin-bottom:24px;padding:20px 22px}.report-library .rl-executive-icon{background:#eff6ff;border:0;border-radius:14px;width:52px;height:52px}.report-library .rl-executive strong{color:#0f172a;letter-spacing:normal;font-size:18px}.report-library .rl-executive small{display:none}.report-library .rl-executive span span{color:#64748b;font-size:14px}.report-library .rl-library-layout{display:block}.report-library .rl-groups{flex-flow:wrap;gap:8px;margin-bottom:24px;padding:12px;display:flex;position:static}.report-library .rl-groups button{white-space:nowrap;color:#64748b;border-radius:10px;padding:11px 14px;font-size:13px}.report-library .rl-groups button.active{color:#2563eb;background:#eff6ff;font-weight:700}.report-library .rl-groups button span{margin-left:4px;font-size:12px}.report-library .rl-group-heading{margin-bottom:16px}.report-library .rl-group-heading h2{letter-spacing:normal;font-size:18px}.report-library .rl-group-heading span{font-size:13px}.report-library .rl-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-library .rl-report-card{min-height:186px;padding:22px}.report-library .rl-report-card:hover{border-color:#bfdbfe;box-shadow:0 12px 28px #0f172a14}.report-library .rl-card-top{margin-bottom:16px}.report-library .rl-report-card>strong{font-size:16px}.report-library .rl-report-card>p{margin-bottom:16px;font-size:14px;line-height:1.6}.report-library .rl-card-footer{font-size:12px}.report-library .rl-filter-bar{margin-bottom:24px;padding:16px}.report-library .rl-filter-bar label{color:#64748b;font-size:13px}.report-library .rl-filter-bar input,.report-library .rl-filter-bar select{color:#334155;border:1px solid #dbe4ef;border-radius:12px;height:46px;padding:0 14px;font-size:14px}.report-library .rl-reset,.report-library .rl-back{font-size:13px}.report-library .rl-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.report-library .reports-icon-button{border-color:#dbe4ef;border-radius:10px;min-height:40px;font-size:13px}.report-library .rl-metrics{gap:18px;margin-bottom:24px}.report-library .rl-metrics article{gap:12px;min-height:118px;padding:22px}.report-library .rl-metrics article>span{font-size:13px}.report-library .rl-metrics strong{color:#0f172a;letter-spacing:normal;font-size:28px}.report-library .rl-section-title h2,.report-library .rl-method h2{font-size:16px}.report-library .rl-section-title>span,.report-library .rl-method>span:last-child,.report-library .rl-snapshot{font-size:12px}.report-library .rl-method p,.report-library .rl-bar-row,.report-library .rl-bar-row strong{font-size:13px}.report-library .rl-table-panel table{font-size:14px}.report-library .rl-table-panel th>button,.report-library .rl-status,.report-library .rl-pagination{font-size:12px}@media (width<=1200px){.report-library .rl-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.reports-page.report-library{padding:20px}.report-library .rl-library-header,.report-library .rl-report-header{flex-direction:column}.report-library .rl-cards{grid-template-columns:1fr}.report-library .rl-groups{flex-wrap:nowrap;overflow-x:auto}.report-library .rl-groups button{flex-shrink:0}.report-library .rl-executive-icon{display:grid}.report-library .rl-executive span span{font-size:13px}.report-library .rl-header-actions{justify-content:flex-start}}.report-library,.report-library :is(button,input,select,textarea,table,h1,h2,h3,p,summary){font-family:inherit}.report-library .rl-metrics article{flex-direction:row;align-items:center;gap:16px;min-height:118px;padding:22px;display:flex}.report-library .rl-metric-icon{color:#2563eb;background:#eff6ff;border-radius:14px;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.report-library .rl-metric-copy{min-width:0}.report-library .rl-metric-copy p{color:#64748b;margin:0;font-size:13px;font-weight:400}.report-library .rl-metric-copy h2{color:#0f172a;margin:6px 0;font-size:28px;font-weight:700;line-height:1}.report-library .rl-metric-copy span{color:#94a3b8;font-size:13px}.report-library .rl-filter-bar{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:16px;display:grid}.report-library .rl-filter-bar label{min-width:0;max-width:none;font-weight:500}.report-library .rl-filter-bar :is(input,select){font-weight:400}.report-library .rl-reset{color:#64748b;background:#fff;border:1px solid #dbe4ef;border-radius:12px;min-height:46px;font-size:14px}.report-library .rl-reset:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.report-library .rl-analysis{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.report-library .rl-comparison{padding:0 22px 18px}.report-library .rl-comparison>.rl-section-title{border-bottom:1px solid #edf2f7;margin:0 -22px 12px;padding:22px}.report-library .rl-section-title h2{color:#0f172a;font-size:20px;font-weight:700}.report-library .rl-section-title>span{color:#2563eb;background:#eff6ff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.report-library .rl-bar-row{color:#334155;grid-template-columns:minmax(220px,1fr) minmax(100px,1.6fr) 64px;gap:20px;padding:12px 0;font-size:13px}.report-library .rl-bar-row>span{white-space:normal;line-height:1.5}.report-library .rl-bar-row strong{color:#0f172a;font-size:14px;font-weight:600}.report-library .rl-bar-row b{background:#2563eb}.report-library .rl-bar-row>i{background:#eff6ff}.report-library .rl-method{box-shadow:none;background:#f8fafc;border-radius:12px;padding:16px 22px}.report-library .rl-method summary{cursor:pointer;color:#334155;font-size:14px;font-weight:600}.report-library .rl-method[open] summary{margin-bottom:12px}.report-library .rl-method p{color:#64748b;margin:0 0 8px;font-size:14px;line-height:1.6}.report-library .rl-method>span:last-child{color:#64748b;font-size:13px}.report-library .rl-table-panel{border-radius:20px;margin:0 0 24px}.report-library .rl-table-panel>.rl-section-title{border-bottom:1px solid #edf2f7;margin:0;padding:22px}.report-library .rl-table-panel table{white-space:normal;width:100%}.report-library .rl-table-panel th{color:#64748b;background:#f8fafc;border-bottom:0;padding:0}.report-library .rl-table-panel th>button{color:#64748b;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;padding:15px 18px;font-size:12px;font-weight:700}.report-library .rl-table-panel th:last-child{text-transform:uppercase;padding:15px 18px;font-size:12px}.report-library .rl-table-panel th:last-child:has(button){padding:0}.report-library .rl-table-panel td{color:#334155;vertical-align:middle;white-space:nowrap;border-top:1px solid #edf2f7;border-bottom:0;padding:16px 18px;font-size:13px}.report-library .rl-table-panel td.rl-cell-entity{white-space:normal;overflow-wrap:anywhere;min-width:140px;max-width:300px}.report-library .rl-record-link{color:#0f172a;font-size:14px;font-weight:600;line-height:1.5}.report-library .rl-record-link:hover{color:#2563eb}.report-library .rl-table-panel td:last-child>button{color:#64748b;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.report-library .rl-table-panel td:last-child>button:hover{color:#2563eb;background:#eff6ff}.report-library .rl-table-panel tr:hover td{background:#f8fbff}.report-library .rl-status{text-transform:capitalize;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.report-library .rl-status-neutral{color:#64748b;background:#f1f5f9}.report-library .rl-status-success{color:#15803d;background:#dcfce7}.report-library .rl-status-alert{color:#b45309;background:#fef3c7}.report-library .rl-status-danger{color:#b91c1c;background:#fee2e2}.report-library .rl-pagination{color:#64748b;border-top:1px solid #edf2f7;padding:16px 22px;font-size:13px}.report-library .rl-pagination button{border-radius:8px;width:34px;height:34px}.report-library .rl-dialog{color:#334155;border-color:#edf2f7;border-radius:20px;padding:24px;font-family:inherit}.report-library .rl-dialog-heading{border-bottom:1px solid #edf2f7;padding-bottom:16px}.report-library .rl-dialog-heading h2{color:#0f172a;font-size:24px;font-weight:700}.report-library .rl-dialog-heading span{color:#64748b;font-size:13px}.report-library .rl-dialog-note{color:#64748b;margin:16px 0 24px;font-size:14px}@media (width<=1200px){.report-library .rl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.report-library .rl-metrics,.report-library .rl-filter-bar{grid-template-columns:1fr}.report-library .rl-bar-row{grid-template-columns:minmax(100px,1fr) minmax(50px,1fr) 40px;gap:12px}.report-library .rl-section-title{flex-wrap:wrap}}.report-library [data-tone=blue]{--report-tint:#eff6ff;--report-accent:#2563eb;--report-edge:#bfdbfe}.report-library [data-tone=green]{--report-tint:#f0fdf4;--report-accent:#15803d;--report-edge:#bbf7d0}.report-library [data-tone=teal]{--report-tint:#f0fdfa;--report-accent:#0f766e;--report-edge:#99f6e4}.report-library [data-tone=amber]{--report-tint:#fffbeb;--report-accent:#b45309;--report-edge:#fde68a}.report-library [data-tone=neutral]{--report-tint:#f1f5f9;--report-accent:#64748b;--report-edge:#e2e8f0}.report-library .rl-report-card[data-tone]{border-top:3px solid var(--report-edge)}.report-library .rl-report-card[data-tone]:hover{border-color:var(--report-edge)}.report-library .rl-report-icon{background:var(--report-tint,#eff6ff);width:46px;height:46px;color:var(--report-accent,#2563eb);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.report-library .rl-report-icon>svg{color:inherit}.report-library .rl-report-card[data-tone] .rl-card-footer{color:var(--report-accent);border-top-color:var(--report-edge);font-weight:500}.report-library .rl-metrics article[data-tone] .rl-metric-icon{background:var(--report-tint);color:var(--report-accent)}.report-library .rl-metrics article[data-tone] .rl-metric-copy span{color:#64748b;font-size:12px;line-height:1.4}.report-library .rl-dialog{box-sizing:border-box;width:min(1400px,100vw - 48px);max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);margin:auto;position:fixed;inset:0;overflow:auto}.report-library .rl-dialog .rl-table-scroll{overflow-x:auto}.report-library .rl-report-card:disabled{cursor:default;box-shadow:none;transform:none}.report-library .rl-report-card:disabled .rl-card-top>span:last-child{color:#64748b;font-size:12px}.report-library .report-trend-panel .report-chart-wrap svg{width:100%;height:260px;max-height:260px;display:block}.report-library .report-trend-panel{margin-bottom:24px}.users-roles-page{color:#0f172a;padding:8px 0 28px}.users-roles-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.users-roles-header h1{margin:5px 0 7px;font-size:30px}.users-roles-header p{color:#64748b;margin:0;font-size:14px}.users-primary-button,.users-secondary-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-weight:700;display:inline-flex}.users-primary-button{color:#fff;background:#2563eb;border:0}.users-primary-button:hover:not(:disabled){background:#1d4ed8}.users-primary-button:disabled{opacity:.55;cursor:not-allowed}.users-secondary-button{color:#334155;background:#fff;border:1px solid #dbe4ef}.users-notice,.users-error,.users-warning{border-radius:12px;margin-bottom:18px;padding:12px 14px;font-size:13px;line-height:1.5}.users-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;align-items:center;gap:9px;display:flex}.users-notice button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto}.users-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.users-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.users-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.users-stat-card{background:#fff;border:1px solid #e7edf5;border-radius:18px;align-items:center;gap:14px;min-height:108px;padding:18px;display:flex}.users-stat-icon{color:#2563eb;background:#eff6ff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.users-stat-card p{color:#64748b;margin:0 0 7px;font-size:12px}.users-stat-card h2{margin:0;font-size:26px}.users-toolbar{grid-template-columns:minmax(280px,1fr) 180px 190px;gap:12px;margin-bottom:18px;display:grid}.users-search{color:#94a3b8;background:#fff;border:1px solid #dbe4ef;border-radius:12px;align-items:center;gap:10px;height:44px;padding:0 14px;display:flex}.users-search input{width:100%;font:inherit;color:#334155;border:0;outline:0}.users-toolbar select,.users-form input,.users-form select{color:#334155;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #dbe4ef;border-radius:12px;outline:none;padding:0 13px}.users-toolbar select:focus,.users-form input:focus,.users-form select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #dbeafe}.users-table-card{background:#fff;border:1px solid #e7edf5;border-radius:18px;overflow:visible}.users-table-heading{border-bottom:1px solid #edf2f7;padding:20px 22px}.users-table-heading h2{margin:0 0 5px;font-size:18px}.users-table-heading p{color:#64748b;margin:0;font-size:13px}.users-table-wrapper{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:1080px}.users-table th{color:#64748b;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#f8fafc;padding:13px 18px;font-size:11px}.users-table td{color:#475569;vertical-align:middle;border-top:1px solid #edf2f7;padding:15px 18px;font-size:13px}.users-person{align-items:center;gap:11px;display:flex}.users-person>div:last-child{min-width:0}.users-avatar,.users-profile-avatar{color:#1d4ed8;background:#dbeafe;flex:none;place-items:center;font-weight:800;display:grid}.users-avatar{border-radius:12px;width:40px;height:40px;font-size:12px}.users-person strong,.users-person span{display:block}.users-person strong{color:#0f172a;margin-bottom:4px}.users-person span{color:#64748b;font-size:12px}.users-role{color:#334155;align-items:center;gap:6px;font-weight:700;display:inline-flex}.users-scope{color:#1d4ed8;background:#eff6ff;border-radius:999px;max-width:190px;padding:6px 9px;font-size:11px;font-weight:750;line-height:1.25;display:inline-flex}.users-scope.needs-setup{color:#c2410c;background:#fff7ed}.users-status{border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.users-status.active{color:#15803d;background:#dcfce7}.users-status.invited{color:#a16207;background:#fef3c7}.users-status.inactive{color:#64748b;background:#f1f5f9}.users-status.suspended{color:#b91c1c;background:#fee2e2}.users-row-actions{gap:7px;display:flex}.users-row-actions button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.users-row-actions button:hover{color:#2563eb;background:#eff6ff}.users-row-actions button.is-danger:hover{color:#dc2626;background:#fef2f2}.users-empty{text-align:center;color:#64748b;padding:42px 20px}.users-empty h3{color:#334155;margin:0 0 7px}.users-empty p{margin:0}.users-details{text-align:center}.users-profile-avatar{border-radius:22px;width:76px;height:76px;margin:4px auto 14px;font-size:20px}.users-details h3{margin:0;font-size:22px}.users-details>p{color:#64748b;margin:6px 0 22px}.users-details dl{text-align:left;grid-template-columns:1fr 1fr;gap:12px;display:grid}.users-details dl div{border:1px solid #e7edf5;border-radius:13px;padding:14px}.users-details dt{color:#64748b;margin-bottom:6px;font-size:11px}.users-details dd{color:#0f172a;margin:0;font-size:13px;font-weight:700}.users-form{flex-direction:column;gap:17px;display:flex}.users-form label{color:#334155;flex-direction:column;gap:8px;font-size:13px;font-weight:700;display:flex}.users-form label>span{color:#dc2626}.users-form-help{color:#64748b;margin:0;font-size:12px;line-height:1.55}.route-loading{color:#64748b;padding:28px}@media (width<=1050px){.users-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.users-roles-header{flex-direction:column}.users-toolbar,.users-stats-grid,.users-details dl{grid-template-columns:1fr}}.settings-page{color:#172033;box-sizing:border-box;background:#f6f8fc;width:100%;min-height:100%;padding:30px}.settings-page *,.settings-page :before,.settings-page :after{box-sizing:border-box}.settings-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.settings-page-label,.settings-section-label{color:#2563eb;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:800;line-height:1.3;display:inline-block}.settings-page-header h1{color:#111827;letter-spacing:-.025em;margin:0;font-size:30px;font-weight:750;line-height:1.2}.settings-page-header p{color:#667085;max-width:670px;margin:8px 0 0;font-size:14px;line-height:1.65}.settings-security-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;margin-top:8px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.settings-layout{grid-template-columns:minmax(245px,280px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-sidebar,.settings-content-card{background:#fff;border:1px solid #e6eaf0;border-radius:16px;box-shadow:0 5px 20px #0f172a0a}.settings-sidebar{position:sticky;top:24px;overflow:hidden}.settings-sidebar-heading{border-bottom:1px solid #edf0f5;flex-direction:column;gap:4px;padding:20px 20px 17px;display:flex}.settings-sidebar-heading span{color:#172033;font-size:14px;font-weight:750}.settings-sidebar-heading small{color:#8a94a6;font-size:12px;line-height:1.4}.settings-navigation{flex-direction:column;gap:5px;padding:10px;display:flex}.settings-navigation-item{color:#4b5565;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;width:100%;min-width:0;padding:11px 12px;transition:color .16s,background-color .16s,border-color .16s,transform .16s;display:grid;position:relative}.settings-navigation-item:hover{color:#1d4ed8;background:#f7f9ff;border-color:#e8edfb}.settings-navigation-item:focus-visible{outline-offset:1px;outline:3px solid #2563eb2e}.settings-navigation-item.is-active{color:#1d4ed8;background:#eff5ff;border-color:#dbe7ff}.settings-navigation-item.is-active:before{content:"";background:#2563eb;border-radius:0 4px 4px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-10px}.settings-navigation-icon{color:#667085;background:#f4f6f9;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,background-color .16s;display:inline-flex}.settings-navigation-item:hover .settings-navigation-icon,.settings-navigation-item.is-active .settings-navigation-icon{color:#2563eb;background:#fff}.settings-navigation-item>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-navigation-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.35;overflow:hidden}.settings-navigation-item small{color:#8a94a6;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.settings-main{min-width:0}.settings-main form{margin:0}.settings-content-card{padding:26px;overflow:hidden}.settings-card-header{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:21px;display:flex}.settings-card-header h2{color:#111827;letter-spacing:-.018em;margin:0;font-size:21px;font-weight:750;line-height:1.3}.settings-card-header p{color:#7a8496;max-width:640px;margin:6px 0 0;font-size:13px;line-height:1.55}.settings-card-header>svg{color:#2563eb;background:#eff5ff;border-radius:11px;flex-shrink:0;width:42px;height:42px;margin-top:5px;padding:10px}.settings-message{border:1px solid;border-radius:10px;margin-top:20px;padding:12px 14px;font-size:13px;font-weight:650;line-height:1.5}.settings-message-error{color:#b42318;background:#fff5f4;border-color:#fecdca}.settings-message-success{color:#067647;background:#f0fdf6;border-color:#abefc6}.settings-profile-summary{align-items:center;gap:28px;padding:26px 2px 24px;display:flex}.settings-avatar-column{grid-template-columns:94px minmax(130px,auto);grid-template-areas:"avatar actions""hint hint";align-items:center;gap:13px 17px;min-width:310px;display:grid}.settings-avatar{color:#fff;background:linear-gradient(145deg,#2563eb 0%,#0ea5e9 100%);border:4px solid #fff;border-radius:50%;grid-area:avatar;justify-content:center;align-items:center;width:94px;height:94px;display:flex;overflow:hidden;box-shadow:0 0 0 1px #dce3ec,0 8px 22px #2563eb33}.settings-avatar img{object-fit:cover;width:100%;height:100%;display:block}.settings-avatar span{letter-spacing:.02em;font-size:27px;font-weight:800;line-height:1}.settings-avatar-actions{flex-direction:column;grid-area:actions;align-items:flex-start;gap:8px;display:flex}.settings-avatar-hint{color:#8a94a6;grid-area:hint;max-width:330px;font-size:12px;line-height:1.5}.settings-profile-identity{border-left:1px solid #e7ebf0;min-width:0;padding-left:27px}.settings-profile-identity h3{overflow-wrap:anywhere;color:#172033;margin:0;font-size:20px;font-weight:750;line-height:1.35}.settings-profile-identity>p{overflow-wrap:anywhere;color:#7a8496;margin:5px 0 13px;font-size:13px;line-height:1.5}.settings-identity-tags{flex-wrap:wrap;gap:7px;display:flex}.settings-identity-tags span{color:#344054;background:#f5f7fa;border:1px solid #e4e8ee;border-radius:999px;align-items:center;min-height:27px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.settings-identity-tags span:first-child{color:#1d4ed8;background:#eff5ff;border-color:#dbe7ff}.settings-divider{background:#edf0f5;height:1px;margin:0 0 24px}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 20px;display:grid}.settings-form-field{flex-direction:column;min-width:0;display:flex}.settings-form-field label{color:#344054;margin-bottom:7px;font-size:12px;font-weight:700;line-height:1.4}.settings-form-field label span{color:#dc2626}.settings-form-field input{color:#172033;width:100%;height:42px;font:inherit;background:#fff;border:1px solid #d8dee8;border-radius:9px;outline:none;padding:0 13px;font-size:13px;line-height:1;transition:border-color .16s,box-shadow .16s,background-color .16s}.settings-form-field input::placeholder{color:#a3abba}.settings-form-field input:hover:not(:disabled){border-color:#b9c5d4}.settings-form-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f621}.settings-form-field input:disabled{color:#667085;cursor:not-allowed;opacity:1;background:#f6f7f9;border-color:#e2e6ec}.settings-form-field.has-error input{border-color:#f04438}.settings-form-field.has-error input:focus{border-color:#f04438;box-shadow:0 0 0 3px #f044381f}.settings-field-hint,.settings-field-error{margin-top:6px;font-size:12px;line-height:1.45}.settings-field-hint{color:#8a94a6}.settings-field-error{color:#d92d20;font-weight:650}.settings-primary-button,.settings-secondary-button,.settings-danger-button,.settings-text-button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-weight:700;line-height:1;transition:transform .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.settings-primary-button:focus-visible,.settings-secondary-button:focus-visible,.settings-danger-button:focus-visible,.settings-text-button:focus-visible{outline-offset:2px;outline:3px solid #2563eb2e}.settings-primary-button:active:not(:disabled),.settings-secondary-button:active:not(:disabled),.settings-danger-button:active:not(:disabled){transform:translateY(1px)}.settings-primary-button{color:#fff;background:#2563eb;border-radius:9px;min-height:41px;padding:0 16px;font-size:12px;box-shadow:0 5px 13px #2563eb33}.settings-primary-button:hover:not(:disabled){background:#1d4ed8;box-shadow:0 7px 17px #2563eb40}.settings-secondary-button{color:#344054;background:#fff;border:1px solid #d8dee8;border-radius:8px;min-height:36px;padding:0 12px;font-size:12px}.settings-secondary-button:hover:not(:disabled){color:#1d4ed8;background:#f8faff;border-color:#b8cdfb}.settings-danger-button{color:#b42318;background:#fff5f4;border:1px solid #fecdca;border-radius:8px;min-height:32px;padding:0 10px;font-size:12px}.settings-danger-button:hover:not(:disabled){color:#912018;background:#feeceb;border-color:#fda29b}.settings-text-button{color:#475467;background:0 0;min-height:25px;padding:2px 1px;font-size:12px}.settings-text-button:hover:not(:disabled){color:#1d4ed8}.settings-primary-button:disabled,.settings-secondary-button:disabled,.settings-danger-button:disabled,.settings-text-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.settings-error-message,.settings-success-message{border:1px solid;border-radius:9px;align-items:center;gap:9px;margin-top:20px;padding:12px 14px;font-size:12px;font-weight:600;line-height:1.45;display:flex}.settings-error-message{color:#b42318;background:#fef3f2;border-color:#fecdca}.settings-error-message:before{content:"!";color:#fff;background:#d92d20;border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:inline-flex}.settings-success-message{color:#067647;background:#ecfdf3;border-color:#abefc6}.settings-success-message:before{content:"✓";color:#fff;background:#079455;border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:inline-flex}.settings-card-footer .settings-primary-button{white-space:nowrap;flex-shrink:0;width:180px}.settings-main>form+form{margin-top:18px}.settings-card-footer{background:#fbfcfe;border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:20px;margin:27px -26px -26px;padding:17px 26px;display:flex}.settings-save-note{color:#7a8496;align-items:center;gap:8px;font-size:12px;line-height:1.4;display:inline-flex}.settings-save-note svg{color:#2563eb;flex-shrink:0}.settings-coming-soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:460px;padding:48px 30px;display:flex}.settings-coming-icon{color:#2563eb;background:#eff5ff;border:1px solid #dbe7ff;border-radius:17px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;display:flex}.settings-status-pill{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;background:#eff5ff;border:1px solid #dbe7ff;border-radius:999px;align-items:center;min-height:25px;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.settings-coming-soon h2{color:#172033;margin:0;font-size:22px;font-weight:750;line-height:1.35}.settings-coming-soon>p{color:#7a8496;margin:7px 0 0;font-size:13px;line-height:1.5}.settings-coming-note{color:#667085;background:#f8fafc;border:1px solid #e5eaf0;border-radius:10px;max-width:520px;margin-top:21px;padding:15px 17px;font-size:12px;line-height:1.65}@media (width<=1100px){.settings-page{padding:25px}.settings-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}.settings-profile-summary{flex-direction:column;align-items:flex-start}.settings-profile-identity{border-top:1px solid #e7ebf0;border-left:0;width:100%;padding-top:19px;padding-left:0}}@media (width<=850px){.settings-page{padding:21px}.settings-page-header{flex-direction:column;align-items:stretch}.settings-security-badge{align-self:flex-start;margin-top:0}.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-navigation{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-navigation-item.is-active:before{top:8px;bottom:8px;left:-10px}}@media (width<=620px){.settings-page{padding:16px}.settings-page-header{margin-bottom:20px}.settings-page-header h1{font-size:26px}.settings-security-badge{justify-content:center;width:100%}.settings-navigation{grid-template-columns:1fr}.settings-content-card{border-radius:13px;padding:20px}.settings-card-header>svg{display:none}.settings-profile-summary{gap:20px;padding:22px 0}.settings-avatar-column{grid-template-columns:82px minmax(0,1fr);width:100%;min-width:0}.settings-avatar{width:82px;height:82px}.settings-avatar span{font-size:23px}.settings-form-grid{grid-template-columns:1fr}.settings-card-footer{flex-direction:column;align-items:stretch;margin:25px -20px -20px;padding:16px 20px}.settings-primary-button{width:100%}.settings-coming-soon{min-height:390px;padding:38px 20px}}@media (width<=390px){.settings-avatar-column{text-align:center;grid-template-columns:1fr;grid-template-areas:"avatar""actions""hint";justify-items:center}.settings-avatar-actions{align-items:center}.settings-profile-identity{text-align:center}.settings-identity-tags{justify-content:center}}.settings-fieldset{border:0;min-width:0;margin:0;padding:0}.settings-days{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.settings-days label{border:1px solid var(--border,#e2e8f0);border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:13px;display:flex}.settings-days input,.settings-toggle-row input{accent-color:var(--accent)}.settings-toggle-row{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.settings-toggle-row span{gap:7px;display:grid}.settings-toggle-row strong{font-size:14px}.settings-toggle-row small{color:#64748b;font-size:12px;line-height:1.6}.settings-toggle-row input{flex-shrink:0;width:20px;height:20px}.settings-policy-note{background:var(--accent-soft);border-radius:12px;align-items:flex-start;gap:12px;margin-top:20px;padding:18px;font-size:13px;line-height:1.6;display:flex}.settings-policy-note svg{color:var(--accent);flex-shrink:0}.settings-policy-note p{margin:8px 0}.settings-table-wrap{overflow:auto}.settings-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.settings-table td,.settings-table th{border-bottom:1px solid var(--border,#e2e8f0);padding:14px 10px}.settings-table th{text-transform:uppercase;color:#64748b;letter-spacing:.04em;font-size:11px}.settings-year-editor{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:18px;padding:18px}.settings-form-field select{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #dbe2ea;border-radius:10px;padding:10px 12px}.settings-brand-preview{overflow-wrap:anywhere;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;margin:20px 0;padding:20px;display:flex}.settings-brand-preview span{color:#64748b;margin-left:auto;font-size:12px}.settings-preview-logo{background:var(--preview-accent);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.settings-preview-logo img{object-fit:contain;width:100%;height:100%}.settings-colors{gap:12px;margin:24px 0;display:flex}.settings-colors button{color:#fff;cursor:pointer;border:3px solid #0000;border-radius:50%;outline:1px solid #e2e8f0;place-items:center;width:40px;height:40px;display:grid}.settings-colors button[aria-pressed=true]{outline:3px solid #cbd5e1}.settings-fieldset:disabled{opacity:.65}.settings-text-button{align-items:center;gap:6px;display:inline-flex}.settings-primary-button{background:var(--accent)}.settings-main>section+section{margin-top:20px}.settings-page-label,.settings-section-label{color:var(--accent)}@media (width<=800px){.dashboard-layout:has(.settings-page){flex-direction:column}.dashboard-layout:has(.settings-page) .app-sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;min-height:auto;padding:16px}.dashboard-layout:has(.settings-page) .sidebar-brand{margin-bottom:12px}.dashboard-layout:has(.settings-page) .sidebar-menu{flex-direction:row;gap:4px;overflow-x:auto}.dashboard-layout:has(.settings-page) .sidebar-menu>a{white-space:nowrap;flex-shrink:0}.dashboard-layout:has(.settings-page) .sidebar-footer{display:none}.dashboard-layout:has(.settings-page) .dashboard-content{padding:0}.dashboard-layout:has(.settings-page) .topbar{padding:12px 16px}.settings-page{padding:16px}.settings-card-header,.settings-brand-preview{flex-wrap:wrap}.settings-brand-preview span{width:100%;margin:0}.settings-table td{white-space:nowrap}}.settings-custom-color{margin:18px 0}.settings-custom-color input[type=color]{cursor:pointer;width:100%;min-height:44px;padding:4px}.settings-rule-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.settings-rule-type{color:#334155;text-align:left;cursor:pointer;font:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:16px;display:flex}.settings-rule-type span{flex:1}.settings-rule-type:disabled{opacity:.55;cursor:default}.settings-rule-editor{border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:20px}.settings-rule-editor h3{margin:0 0 20px;font-size:16px}.settings-room-options{border:1px solid #e2e8f0;border-radius:10px;gap:12px;max-height:280px;margin:16px 0;padding:14px;display:grid;overflow:auto}.settings-room-options label{align-items:center;gap:10px;display:flex}.settings-rule-row{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.settings-rule-row p{color:#64748b;margin:6px 0;font-size:13px}.settings-rule-row small{color:#64748b;overflow-wrap:anywhere}.settings-rule-actions{flex-wrap:wrap;flex-shrink:0;gap:12px;display:flex}@media (width<=720px){.settings-rule-types{grid-template-columns:1fr}.settings-rule-row{flex-direction:column;align-items:flex-start}.settings-rule-editor{padding:14px}}.settings-rule-editor .settings-card-footer,.settings-year-editor .settings-card-footer{background:0 0;margin:20px 0 0;padding:16px 0 0}.settings-resource-rules .settings-toggle-row{border-bottom:0}.settings-resource-rules .settings-field-hint{color:#64748b}.settings-form-field label .settings-time-format{color:#64748b;font-weight:400}.settings-time-control{align-items:center;gap:10px;display:flex}.settings-time-control select{flex:1;min-width:0}.settings-time-control>span{color:#64748b;font-weight:600}.settings-form-field select{color:#344054;font-family:inherit;font-size:14px}.settings-rule-type{font-size:14px}.settings-rule-type:not(:disabled):hover{border-color:var(--accent,#2563eb);background:var(--accent-soft,#eff6ff)}.settings-rule-type:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:3px}@media (width<=720px){.settings-rule-editor .settings-card-footer,.settings-year-editor .settings-card-footer{gap:12px}.settings-rule-editor .settings-card-footer .settings-primary-button,.settings-year-editor .settings-card-footer .settings-primary-button{width:auto;min-width:120px}}.settings-rule-editor .settings-card-footer,.settings-year-editor .settings-card-footer{flex-direction:row;justify-content:flex-end;align-items:center;gap:12px}.settings-rule-editor .settings-card-footer .settings-text-button,.settings-year-editor .settings-card-footer .settings-text-button{color:#344054;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:auto;min-width:88px;min-height:42px;padding:0 16px}.settings-page input[type=checkbox]{appearance:none;vertical-align:middle;cursor:pointer;background:#fff;border:1.5px solid #98a2b3;border-radius:5px;flex-shrink:0;place-content:center;width:18px;min-width:18px;height:18px;margin:0;padding:0;display:inline-grid}.settings-page input[type=checkbox]:checked{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb)}.settings-page input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}.settings-page input[type=checkbox]:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:3px}.settings-page input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}@media (forced-colors:active){.settings-page input[type=checkbox]{appearance:auto}.settings-page input[type=checkbox]:after{content:none}}:root{--accent:#2563eb;--accent-hover:#1e50c8;--accent-soft:#eaf1fe;--bg:#f7f8fa;--surface:#fff;--text:#1a2433;--text-muted:#667085;--text-faint:#98a2b3;--border:#eceff3;--ok-bg:#e6f7ec;--ok-text:#15803d;--err-bg:#fde8e8;--err-text:#d92d20;--warn-bg:#fef3e2;--warn-text:#b45309;--info-bg:#eaf1fe;--info-text:#2563eb;--mute-bg:#f1f3f5;--mute-text:#6b7280;--chip-blue-bg:#eaf1fe;--chip-blue:#2563eb;--chip-green-bg:#e6f7ec;--chip-green:#15803d;--chip-purple-bg:#f0ebfe;--chip-purple:#7c3aed;--chip-amber-bg:#fef3e2;--chip-amber:#c77700;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--shadow-sm:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-md:0 2px 8px #1018280d, 0 6px 18px #1018280a;--shadow-lg:0 12px 32px #1018281a;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:var(--accent);text-decoration:none}.t-display{letter-spacing:-.01em;font-size:32px;font-weight:700}.t-h1{letter-spacing:-.01em;font-size:24px;font-weight:700}.t-h2{font-size:18px;font-weight:600}.t-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.t-muted{color:var(--text-muted)}.t-faint{color:var(--text-faint)}.brand{align-items:center;gap:10px;display:flex}.brand b{letter-spacing:-.01em;font-size:18px}.logo{border-radius:var(--r-md);background:var(--accent);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.btn{border-radius:var(--r-md);border:none;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-soft{background:var(--accent-soft);color:var(--accent)}.btn-soft:hover{background:#dce8fd}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--bg)}.btn-block{width:100%;padding:12px}.pill{border-radius:var(--r-pill);align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pill.ok{background:var(--ok-bg);color:var(--ok-text)}.pill.err{background:var(--err-bg);color:var(--err-text)}.pill.warn{background:var(--warn-bg);color:var(--warn-text)}.pill.info{background:var(--info-bg);color:var(--info-text)}.pill.mute{background:var(--mute-bg);color:var(--mute-text)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--s5)}.stat .top{margin-bottom:var(--s4);justify-content:space-between;align-items:flex-start;display:flex}.stat .label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.stat .num{letter-spacing:-.01em;margin-top:var(--s1);color:#2a3342;font-size:30px;font-weight:700}.ic-chip{border-radius:var(--r-md);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ic-chip svg{width:20px;height:20px}.ic-chip.blue{background:var(--chip-blue-bg);color:var(--chip-blue)}.ic-chip.green{background:var(--chip-green-bg);color:var(--chip-green)}.ic-chip.purple{background:var(--chip-purple-bg);color:var(--chip-purple)}.ic-chip.amber{background:var(--chip-amber-bg);color:var(--chip-amber)}.delta{border-radius:var(--r-pill);padding:3px 8px;font-size:12px;font-weight:600}.delta.up{background:var(--ok-bg);color:var(--ok-text)}.delta.down{background:var(--err-bg);color:var(--err-text)}.nav-item{border-radius:var(--r-pill);color:var(--text-muted);cursor:pointer;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;font-weight:500;display:flex}.nav-item .gi{justify-content:center;align-items:center;width:18px;display:flex}.nav-item .gi svg{width:18px;height:18px;display:block}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item:not(.active):hover{background:var(--bg);color:var(--text)}.tbl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}table{border-collapse:collapse;width:100%}thead th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);padding:10px var(--s5);font-size:11px;font-weight:600}tbody td{padding:12px var(--s5);border-top:1px solid var(--border);font-size:13px}tbody tr:hover{background:var(--bg)}.avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.field{margin-bottom:var(--s4)}.field label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);background:#fff;padding:11px 13px;font-size:14px;transition:all .15s}.field input::placeholder{color:var(--text-faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-error{background:var(--err-bg);color:var(--err-text);border-radius:var(--r-sm);margin-bottom:var(--s4);padding:10px 13px;font-size:13px}.demo-note{background:var(--bg);border:1px dashed var(--border);border-radius:var(--r-md);color:var(--text-muted);margin-bottom:var(--s5);padding:11px 14px;font-size:12px;line-height:1.7}.demo-note b{color:var(--text)}.slot{border-radius:var(--r-md);min-height:62px;padding:10px;font-size:12px}.slot .s-title{font-size:13px;font-weight:600}.slot .s-meta{opacity:.85;margin-top:3px}.slot .s-tag{border-radius:var(--r-pill);background:#fff9;margin-top:6px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.slot.blue{background:var(--chip-blue-bg);color:#1e3a8a}.slot.green{background:var(--ok-bg);color:#14532d}.slot.purple{background:var(--chip-purple-bg);color:#4c1d95}.slot.conflict{background:var(--err-bg);color:var(--err-text);border:1px solid #f7b9b3}.slot.empty{border:1.5px dashed var(--border);color:var(--text-faint);background:0 0;justify-content:center;align-items:center;font-weight:500;display:flex}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:100vh;display:grid}.panel{padding:var(--s10);text-align:center;justify-content:center;align-items:center;gap:var(--s6);background:linear-gradient(165deg,#eaf1fe 0%,#f4f7fd 55%,#fbfcfe 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.panel .head{align-items:center;gap:var(--s3);flex-direction:column;display:flex}.panel .brand{justify-content:center}.panel .head h2{letter-spacing:-.02em;max-width:360px;font-size:30px;font-weight:700;line-height:1.2}.panel .head p{color:var(--text-muted);max-width:330px;font-size:15px}.feats{align-items:center;gap:var(--s2);flex-direction:column;display:flex}.feat{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:inline-flex}.feat .dot{background:var(--ok-bg);width:22px;height:22px;color:var(--ok-text);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.feat .dot svg{width:13px;height:13px}.formside{padding:var(--s10) var(--s8);background:var(--surface);justify-content:center;align-items:center;display:flex}.formbox{width:100%;max-width:380px}.formbox .welcome{letter-spacing:-.01em;margin-top:var(--s6);font-size:26px;font-weight:700}.formbox .sub{color:var(--text-muted);margin-top:6px;margin-bottom:var(--s6)}.motif{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s4);max-width:360px}.motif .m-top{margin-bottom:var(--s3);justify-content:space-between;align-items:center;display:flex}.motif .m-top span{color:var(--text-muted);font-size:12px;font-weight:600}.m-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.cell{border-radius:var(--r-sm);min-height:46px;padding:8px;font-size:10px;font-weight:600}.cell .who{opacity:.8;margin-top:2px;font-weight:500}.cell.blue{background:var(--accent-soft);color:#1e3a8a}.cell.green{background:var(--ok-bg);color:#14532d}.cell.purple{background:var(--chip-purple-bg);color:#4c1d95}.cell.empty{border:1.5px dashed var(--border);background:0 0}.cell.drop-target{border:1.5px dashed var(--border);z-index:1;background:0 0;position:relative;overflow:visible}.drag-block{border-radius:var(--r-sm);background:var(--accent-soft);color:#1e3a8a;box-shadow:var(--shadow-sm);z-index:3;padding:8px;font-size:10px;font-weight:600;position:absolute;inset:0}.drag-block .who{opacity:.8;margin-top:2px;font-weight:500}@media (prefers-reduced-motion:no-preference){.rise{animation:.5s both rise}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.drag-block{animation:4.6s ease-in-out infinite dropIn}.cell.drop-target{animation:4.6s ease-in-out infinite dropZone}@keyframes dropIn{0%{opacity:0;box-shadow:var(--shadow-lg);transform:translate(30px,-50px)scale(1.06)rotate(-3deg)}16%{opacity:1;box-shadow:var(--shadow-lg);transform:translate(30px,-50px)scale(1.06)rotate(-3deg)}52%{opacity:1;box-shadow:var(--shadow-lg);transform:translate(0)scale(1.05)rotate(0)}66%{opacity:1;box-shadow:var(--shadow-sm);transform:translate(0)scale(1)rotate(0)}88%{opacity:1;box-shadow:var(--shadow-sm);transform:translate(0)scale(1)rotate(0)}to{opacity:0;box-shadow:var(--shadow-sm);transform:translate(0)scale(1)rotate(0)}}@keyframes dropZone{0%,38%{border-color:var(--border)}42%,60%{border-color:var(--accent)}64%,to{border-color:#0000}}}@media (width<=880px){.auth{grid-template-columns:1fr}.panel{display:none}.formside{padding:var(--s8) var(--s5)}}:is(.dashboard-layout,.slideover-overlay,.confirm-overlay) :is(.add-teacher-btn,.add-room-btn,.add-batch-btn,.modal-primary-btn,.settings-primary-button,.timetable-primary-button,.btn-primary){background:var(--accent);color:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-sm)}:is(.dashboard-layout,.slideover-overlay) :is(.add-teacher-btn,.add-room-btn,.add-batch-btn,.modal-primary-btn,.settings-primary-button,.timetable-primary-button,.btn-primary):hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-sm)}:is(.dashboard-layout,.slideover-overlay,.confirm-overlay) button:disabled{cursor:not-allowed;opacity:.6}:is(.dashboard-layout,.slideover-overlay,.confirm-overlay) button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:is(.teacher-stat-card,.room-stat-card,.batch-stat-card,.timetable-stat-card,.teachers-table-card,.rooms-table-card,.batches-table-card,.settings-content-card,.modal-form-card,.rl-report-card){border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.confirm-dialog{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-height:calc(100dvh - 32px);overflow-y:auto}.confirm-icon{border-radius:var(--r-md)}.confirm-primary .confirm-icon{background:var(--accent-soft);color:var(--accent)}.confirm-primary .confirm-delete-btn{background:var(--accent)}.confirm-primary .confirm-delete-btn:hover{background:var(--accent-hover)}.confirm-actions{flex-wrap:wrap}.slideover-panel{height:100dvh}.slideover-close,.modal-close-btn,.modal-secondary-btn{border-radius:var(--r-md)}.prompt-reason-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
