@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Sora:wght@600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.page{display:flex;flex-direction:column;gap:14px;min-width:0}.stat{border:1px solid var(--border);background:#ffffff0d;border-radius:var(--radius);padding:14px}.stat-value{font-size:1.6rem;font-weight:850;margin-top:6px}.kv{display:grid;grid-template-columns:140px 1fr;gap:10px 12px;margin-top:8px}.k{color:var(--muted)}.v{font-weight:650;overflow-wrap:anywhere}.note{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);line-height:1.65}.profile-photo{margin-top:10px;margin-bottom:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#ffffff09;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-photo-preview{width:72px;height:72px;border-radius:18px;background:#ffffff14;display:grid;place-items:center;font-weight:900;font-size:18px;overflow:hidden}.profile-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.profile-photo-actions{display:flex;flex-direction:column;gap:6px}.profile-photo-title{font-weight:800}.profile-photo-btn input{display:none}.table-wrap{overflow:auto;margin-top:10px;max-width:100%;min-width:0}.table th,.table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:start;white-space:nowrap}.table th{color:var(--muted);font-weight:700}.super-overrides .scope-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:6px}.super-overrides .tags{display:flex;flex-wrap:wrap;gap:8px}.super-overrides .tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0f;font-size:.82rem;color:var(--muted)}.super-overrides .tag strong{color:var(--text)}.super-overrides .note.error{border-color:#ef444466;background:#ef444414;color:#fca5a5}.super-overrides .table tr.row-active td{background:#7c3aed1f}.super-academic .year-grid{display:grid;gap:12px}.super-academic .year-card{border:1px solid var(--border);border-radius:16px;padding:14px;background:#ffffff0a}.super-academic .year-title{font-weight:800}.super-academic .semester-list{display:grid;gap:10px;margin-top:10px}.super-academic .semester-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff0f}.super-academic .semester-card.active{border-color:#22c55e80;background:#22c55e1f}.super-academic .semester-title{font-weight:700}@media (max-width: 980px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.form-grid{grid-template-columns:1fr}}.disabled-card{position:relative;overflow:hidden;max-width:560px;text-align:left}.disabled-glow{position:absolute;inset:-30% 0 auto;height:220px;background:radial-gradient(circle at center,rgba(239,68,68,.35),transparent 70%);opacity:.6;pointer-events:none}.disabled-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(239,68,68,.4);background:#ef444424;color:#fecaca;font-size:.7rem;font-weight:700;letter-spacing:.18em;margin-bottom:12px;position:relative;z-index:1}.disabled-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;position:relative;z-index:1}:root{--bg: #0b1020;--panel: rgba(255,255,255,.06);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.65);--border: rgba(255,255,255,.12);--primary: #7c3aed;--a1: rgba(124,58,237,.85);--a2: rgba(59,130,246,.6);--a3: rgba(34,211,238,.35);--danger: #ef4444;--shadow: 0 18px 60px rgba(0,0,0,.35);--radius: 18px;--radius2: 14px;--input-radius: 14px;--input-bg: linear-gradient(180deg, rgba(15, 23, 42, .72), rgba(8, 10, 18, .92));--input-border: rgba(255,255,255,.16);--input-text: var(--text);--input-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 26px rgba(0,0,0,.28);--input-hover-bg: linear-gradient(180deg, rgba(18, 28, 48, .75), rgba(10, 12, 20, .95));--input-hover-border: rgba(255,255,255,.24);--input-focus-border: rgba(124,58,237,.7);--input-focus-shadow: 0 0 0 3px rgba(124,58,237,.24), 0 18px 40px rgba(2,6,23,.45), inset 0 1px 0 rgba(255,255,255,.12);--input-placeholder: rgba(255,255,255,.45);--input-arrow: rgba(255,255,255,.7);--input-selection-bg: rgba(124,58,237,.35);--input-selection-text: #ffffff;--input-caret: var(--input-focus-border);--input-hover-lift: -1px;--input-focus-lift: -1px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans Arabic", "Noto Kufi Arabic"}body{margin:0;font-family:var(--font);background:radial-gradient(1200px 900px at 80% 10%,rgba(124,58,237,.3),transparent 60%),radial-gradient(900px 700px at 20% 30%,rgba(59,130,246,.22),transparent 60%),radial-gradient(900px 700px at 60% 100%,rgba(16,185,129,.18),transparent 60%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}h1,h2,h3,p{margin:0 0 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.btn-primary{background:linear-gradient(135deg,#7c3aedf2,#3b82f6e6);border-color:#7c3aed59}.btn-danger{background:#ef44442e;border-color:#ef444459}.btn-sm{padding:7px 10px;border-radius:10px}.btn-ghost{background:transparent}.lang-switch{display:inline-flex;align-items:center;gap:6px}.lang-switch .btn{padding:6px 10px;font-size:12px}.lang-switch .btn.active{border-color:#7c3aed8c;background:#7c3aed38}.card{background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;min-width:0}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.field>span{color:var(--muted);font-size:.9rem}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea,.input){padding:12px 14px;min-height:44px;border-radius:var(--input-radius);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);outline:none;box-shadow:var(--input-shadow);caret-color:var(--input-caret);line-height:1.35;transform:translateY(0);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease,transform .15s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),textarea,.input)::placeholder{color:var(--input-placeholder);transition:color .15s ease}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea,.input):hover{border-color:var(--input-hover-border);background:var(--input-hover-bg);transform:translateY(var(--input-hover-lift))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea,.input):focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);transform:translateY(var(--input-focus-lift))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea,.input):focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);transform:translateY(var(--input-focus-lift))}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea,.input):disabled{opacity:.6;cursor:not-allowed;background:#0000004d;box-shadow:none;transform:none}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea,.input)[aria-invalid=true]{border-color:#ef4444b8;box-shadow:0 0 0 3px #ef444438,0 18px 40px #00000059}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),textarea,.input):read-only{border-style:dashed;cursor:default}:where(select){-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:40px}.field:focus-within>span{color:#e2e8f0e6}input::selection,textarea::selection{background:var(--input-selection-bg);color:var(--input-selection-text)}.small{font-size:.85rem}.row{display:flex;gap:10px;align-items:center}.route-loading{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.route-loading-card{width:min(360px,92vw);padding:22px 20px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#0f172abf,#0a0c14eb);box-shadow:0 22px 60px #00000073;position:relative;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.route-loading-card:after{content:"";position:absolute;inset:-40% -30% auto auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.26),transparent 70%);opacity:.8;pointer-events:none}.route-loading-orb{width:64px;height:64px;margin:0 auto 12px;position:relative}.route-loading-orb span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(124,58,237,.45);animation:route-orbit 2.1s linear infinite}.route-loading-orb span:nth-child(2){top:6px;right:6px;bottom:6px;left:6px;border-color:#3b82f673;animation-duration:2.7s}.route-loading-orb span:nth-child(3){top:12px;right:12px;bottom:12px;left:12px;border-color:#22d3ee73;animation-duration:3.2s}.route-loading-title{font-weight:800;letter-spacing:.02em}.route-loading-sub{margin-top:2px}.route-loading-bar{margin-top:14px;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.route-loading-bar span{display:block;height:100%;width:42%;border-radius:999px;background:linear-gradient(90deg,#7c3aede6,#3b82f6d9,#22d3eed9);animation:route-bar 1.4s ease-in-out infinite}@keyframes route-orbit{to{transform:rotate(360deg)}}@keyframes route-bar{0%{transform:translate(-20%)}50%{transform:translate(60%)}to{transform:translate(140%)}}.toast{position:fixed;top:18px;left:18px;z-index:9999;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,#ffffff1f,#00000059),var(--bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);max-width:min(520px,calc(100vw - 36px));min-width:240px;overflow:hidden;color:var(--text);animation:toast-in .2s ease both}.toast:before{content:"";position:absolute;inset:10px auto 10px 10px;width:4px;border-radius:999px;background:var(--toast-accent, var(--primary))}.toast-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--toast-accent, var(--primary));color:var(--toast-accent, var(--primary));background:#ffffff14;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.toast-content{min-width:0;display:grid;gap:2px}.toast-title{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--toast-accent, var(--primary));font-weight:700}.toast-body{color:var(--text);font-size:.95rem;word-break:break-word}.toast-close{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);cursor:pointer}.toast-progress{position:absolute;inset:auto 0 0 0;height:2px;background:var(--toast-accent, var(--primary));opacity:.7;transform-origin:left;animation:toast-progress 3.2s linear both}.toast-info{--toast-accent: var(--primary)}.toast-success{--toast-accent: var(--success)}.toast-warn{--toast-accent: var(--warning)}.toast-error,.toast-danger{--toast-accent: var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;background:var(--login-bg-overlay, none),var(--login-bg-image, none),var(--login-bg-color, var(--bg));background-size:var(--login-bg-size, cover),var(--login-bg-size, cover),auto;background-position:var(--login-bg-position, center),var(--login-bg-position, center),center;background-repeat:var(--login-bg-repeat, no-repeat),var(--login-bg-repeat, no-repeat),repeat}.login-card{width:min(520px,100%);background:var(--login-card-bg, rgba(255,255,255,.06));border:1px solid var(--login-card-border, var(--border));border-radius:var(--radius);box-shadow:var(--login-card-shadow, var(--shadow));backdrop-filter:var(--login-card-blur, none);-webkit-backdrop-filter:var(--login-card-blur, none);padding:18px}.login-header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.maintenance-banner{margin-bottom:12px;padding:12px;border-radius:14px;border:1px solid rgba(239,68,68,.35);background:#ef44441f;display:flex;flex-direction:column;gap:6px}.maintenance-badge{font-size:.7rem;font-weight:800;letter-spacing:.14em;color:#fecaca}.maintenance-text{color:var(--text);font-size:.9rem;line-height:1.5}.login-header-main{display:flex;gap:12px;align-items:center}.logo{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;background:linear-gradient(135deg,var(--a1),var(--a2));position:relative;overflow:hidden}.logo img{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;z-index:1}.logo .brand-fallback{position:relative;z-index:0}.login-title{font-weight:800;font-size:1.15rem}.login-sub{color:var(--muted);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:6px}.hint{margin-top:8px;color:var(--muted);font-size:.85rem;line-height:1.55}:root{--sidebar-w: 310px;--radius: 18px;--radius-lg: 22px;--stroke: rgba(255, 255, 255, .1);--stroke2: rgba(255, 255, 255, .16);--glass: rgba(255, 255, 255, .055);--glass2: rgba(255, 255, 255, .085);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .62);--shadow: 0 18px 60px rgba(0, 0, 0, .35);--shadow-soft: 0 12px 36px rgba(0, 0, 0, .22);--a1: rgba(124, 58, 237, .85);--a2: rgba(59, 130, 246, .6);--a3: rgba(34, 211, 238, .35);--ring: 0 0 0 3px rgba(124, 58, 237, .3);--sb-track: rgba(0, 0, 0, .22);--sb-thumb: rgba(255, 255, 255, .14);--sb-thumb-hover: rgba(255, 255, 255, .22)}body{margin:0;color:var(--text);font-family:var(--font);background:radial-gradient(1200px 700px at 65% 25%,rgba(124,58,237,.35),transparent 60%),radial-gradient(900px 600px at 25% 65%,rgba(34,211,238,.18),transparent 55%),radial-gradient(700px 500px at 80% 75%,rgba(59,130,246,.14),transparent 60%),linear-gradient(135deg,#071029,#120a2b 45%,#061c21);overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.035),transparent 30%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.02),transparent 35%),radial-gradient(circle at 40% 80%,rgba(255,255,255,.025),transparent 35%);opacity:.7;mix-blend-mode:overlay}.shell[data-rtl=true]{direction:rtl}.shell{width:100vw;height:100vh;display:flex;gap:18px;padding:18px;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);height:calc(100vh - 36px);position:sticky;top:18px;background:linear-gradient(180deg,#14102d9e,#07102957);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:16px 14px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:12px;isolation:isolate}.sidebar:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;pointer-events:none;background:radial-gradient(700px 260px at 20% 0%,rgba(124,58,237,.22),transparent 60%),radial-gradient(700px 260px at 80% 0%,rgba(59,130,246,.16),transparent 60%);opacity:.9;z-index:-1}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px #ffffff14;opacity:.9;z-index:0}.sidebar .scroll-fade-top,.sidebar .scroll-fade-bottom{position:sticky;left:0;right:0;height:16px;pointer-events:none;z-index:2}.sidebar .scroll-fade-top{top:0;background:linear-gradient(180deg,rgba(7,16,41,.65),transparent)}.sidebar .scroll-fade-bottom{bottom:0;background:linear-gradient(0deg,rgba(7,16,41,.65),transparent)}.sidebar::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7c3aed4d,#3b82f638);border:2px solid rgba(0,0,0,.35);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7c3aed73,#3b82f652)}.sidebar::-webkit-scrollbar-track{background:var(--sb-track);border-radius:999px}.sidebar{scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.35) var(--sb-track)}.brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:8px 10px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-badge{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:900;letter-spacing:.6px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--a1),var(--a2));border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 22px #7c3aed3d,0 8px 16px #3b82f624}.brand-badge img{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;z-index:1}.brand-badge .brand-fallback{position:relative;z-index:0}.brand-title{font-size:18px;font-weight:900;line-height:1.1;letter-spacing:.2px}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.profile{position:relative;z-index:1;padding:12px;border-radius:18px;background:linear-gradient(180deg,#ffffff12,#ffffff08);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-soft)}.profile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff1a;opacity:.9}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-identity{display:flex;align-items:center;gap:10px;min-width:0}.profile-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--a1),var(--a2));border:1px solid rgba(255,255,255,.16);font-weight:900;font-size:13px;overflow:hidden;flex:0 0 44px}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-text{min-width:0}.profile-name{font-weight:900;font-size:14px}.profile-email{margin-top:6px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-notif{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;box-shadow:inset 0 1px #ffffff14}.nav-section{position:relative;z-index:1}.nav-section-title{font-size:12px;color:#ffffff8c;padding:6px 10px 8px;letter-spacing:.4px;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:10px}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:16px;color:#ffffffe0;text-decoration:none;background:#ffffff09;border:1px solid rgba(255,255,255,.085);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.nav-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff14;opacity:.85}.nav-item:hover{transform:translateY(-1px);background:#fff1;border-color:#ffffff26;box-shadow:0 10px 22px #00000038}.nav-item.active{background:linear-gradient(135deg,#7c3aed99,#3b82f647);border-color:#7c3aeda6;box-shadow:0 16px 34px #7c3aed29,0 10px 24px #3b82f61a}.nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:11px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff14}.nav-item.active .nav-icon{background:#00000024;border-color:#ffffff2e}.nav-label{font-weight:800;font-size:14px;letter-spacing:.1px}.sidebar-footer{position:relative;z-index:1;padding-top:12px;margin-top:6px;border-top:1px solid rgba(255,255,255,.08)}.main{flex:1;min-width:0;height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,#ffffff0b,#ffffff05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);position:relative;isolation:isolate}.main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffff14;opacity:.9}.topbar{height:62px;flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,#7c3aed1f,#ffffff05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.semester-filter{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap}.semester-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--text);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.semester-filter select:focus{outline:none;box-shadow:var(--ring)}.semester-filter .btn{padding:6px 10px;font-size:12px}.filter-label{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.crumb{color:#ffffffbd;font-weight:800;font-size:13px;letter-spacing:.2px}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffe0;font-weight:900;font-size:12px;box-shadow:inset 0 1px #ffffff14}.mode-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:inherit;border-radius:999px;padding:6px 11px;min-height:32px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.14px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;box-shadow:inset 0 1px #ffffff14}.mode-toggle svg{flex:0 0 auto}.mode-toggle:hover{transform:translateY(-1px);border-color:#ffffff42;background:#ffffff24}.mode-toggle:focus-visible{outline:none;box-shadow:var(--ring)}.mode-toggle.is-dark{background:#ffffff14;color:#f6fafff2}.mode-toggle.is-calm{background:linear-gradient(135deg,#fafffff2,#e1f6ffeb);border-color:#1c7abb61;color:#0f2d4d;box-shadow:0 8px 18px #3877a32e,inset 0 1px #ffffffe6}.mode-toggle-light{background:#ffffffd1;border-color:#162b5824;color:#1e2d47;box-shadow:0 8px 16px #0f172a1f}.mode-toggle-light:hover{border-color:#2c6de052;background:#fffffff2}.mode-toggle-light.is-dark{background:#0a162eb8;border-color:#95b8ff57;color:#ecf4fff5;box-shadow:0 10px 22px #030a1873}.content{flex:1;min-height:0;overflow:auto;padding:18px;scrollbar-gutter:stable}.content::-webkit-scrollbar{width:10px;height:10px}.content::-webkit-scrollbar-thumb{background:var(--sb-thumb);border:2px solid rgba(0,0,0,.25);border-radius:999px}.content::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover)}.content::-webkit-scrollbar-track{background:var(--sb-track);border-radius:999px}.content{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) var(--sb-track)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.13);background:#ffffff12;color:#ffffffeb;padding:10px 12px;border-radius:14px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;font-weight:900;box-shadow:inset 0 1px #ffffff14}.btn:hover{transform:translateY(-1px);border-color:#fff3;background:#ffffff1a;box-shadow:0 10px 22px #0003,inset 0 1px #ffffff1a}.btn:focus-visible{outline:none;box-shadow:var(--ring),0 10px 22px #0003,inset 0 1px #ffffff1a}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg,#7c3aedb3,#3b82f666);border-color:#7c3aeda6}.btn.primary:hover{background:linear-gradient(135deg,#7c3aedd1,#3b82f67a);border-color:#7c3aedd9}.btn.secondary{background:#00000024;border-color:#ffffff1f}.btn-ghost{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent}.w-100{width:100%}.badge{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 6px;border-radius:999px;font-size:12px;font-weight:900;background:#7c3aed94;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff1a}@media (prefers-reduced-motion: reduce){.btn,.nav-item{transition:none}}@media (max-width: 980px){:root{--sidebar-w: 280px}.shell{padding:12px;gap:12px}.sidebar{height:calc(100vh - 24px);top:12px}.main{height:calc(100vh - 24px)}}@media (max-width: 820px){:root{--sidebar-w: 250px}.nav-label{font-size:13px}}.shell.shell-campus[data-view=menu]{background:#f2f4f7;padding:0;gap:0;font-family:Sora,Noto Sans Arabic,sans-serif;color:#1f2933}.shell.shell-campus[data-view=menu] .main{height:100vh;border-radius:0;border:0;box-shadow:none;background:#f2f4f7!important;-webkit-backdrop-filter:none;backdrop-filter:none}.shell.shell-campus[data-view=menu] .main:after{display:none}.shell.shell-campus[data-view=menu] .content{padding:0;overflow:auto}.menu-home{min-height:100vh;background:#f2f4f7;color:#1f2933;display:flex;flex-direction:column}.menu-hero{position:relative;min-height:220px;padding:22px 18px 44px;background:linear-gradient(120deg,#e9f2ff,#d7e6ff 45%,#f6d8a6 95%);color:#0b1b39;overflow:hidden}.menu-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(255,255,255,.55),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 12px,transparent 12px 24px),linear-gradient(0deg,#1428501f,#1428500d);opacity:.65;pointer-events:none}.menu-hero:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-52px;height:110px;background:#f2f4f7;border-radius:50%;box-shadow:0 -10px #f5b14947}.menu-hero>*{position:relative;z-index:1}.menu-hero-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.menu-brand{display:flex;align-items:center;gap:12px}.menu-brand-badge{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:700;color:#2b4b8c;background:#fff;border:1px solid #dbe4f3;box-shadow:0 10px 20px #0f172a1f;position:relative;overflow:hidden}.menu-brand-badge img{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;z-index:1}.menu-brand-fallback{position:relative;z-index:0}.menu-brand-title{font-size:16px;font-weight:700;letter-spacing:.2px}.menu-brand-sub{font-size:12px;color:#0c1a38b3;margin-top:2px}.menu-hero-tools{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.menu-hero-tools .lang-switch .btn{background:#fffc!important;border:1px solid rgba(22,43,88,.12)!important;color:#1f2b3d!important;border-radius:999px;font-weight:600;box-shadow:none!important}.menu-hero-tools .lang-switch .btn.active{border-color:#2c6de073!important;background:#2c6de02e!important}.semester-filter--light{background:#ffffffd9;border-color:#162b581f}.semester-filter--light select{background:#ffffffe6;border-color:#162b582e;color:#1f2b3d}.semester-filter--light .filter-label{color:#0c1a3899}.semester-filter--light .btn{background:#ffffffe6;border-color:#162b582e;color:#1f2b3d}.semester-filter--light .btn:hover{background:#2c6de01f;border-color:#2c6de059}.semester-filter--light .btn-ghost{background:transparent;color:#1f2b3d}.menu-bell.admin-bell-btn{padding:6px 10px;border-radius:999px;border:1px solid rgba(22,43,88,.12);background:#fffc;box-shadow:0 8px 16px #0f172a1f}.menu-pill{padding:6px 10px;border-radius:999px;background:#2c6de0;color:#fff;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.menu-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;border:1px solid rgba(22,43,88,.12);color:#1f2b3d;font-weight:800;font-size:12px;overflow:hidden;box-shadow:0 10px 18px #0f172a1f}.menu-avatar img{width:100%;height:100%;object-fit:cover;display:block}.menu-hero-bottom{margin-top:18px;display:flex;flex-direction:column;gap:4px}.menu-welcome{font-size:16px;font-weight:600}.menu-welcome span{font-weight:700}.menu-email{font-size:12px;color:#0c1a38b3}.menu-panel{margin-top:-30px;padding:0 18px 24px}.menu-title{text-align:center;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#1f293799;margin-bottom:12px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.menu-tile{background:#fff;border:1px solid #e1e7ef;border-radius:18px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:#23324f;box-shadow:0 12px 24px #0f172a14;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.menu-tile:hover{transform:translateY(-2px);border-color:#c7d7f2;box-shadow:0 16px 30px #0f172a1f}.menu-tile.active{border-color:#2c6de0;box-shadow:0 16px 34px #2c6de033}.menu-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e8f1ff;color:#2c6de0;border:1px solid #d1e2ff}.menu-tile.active .menu-icon{background:#2c6de0;color:#fff;border-color:#2c6de0}.menu-label{font-size:12px;font-weight:600;text-align:center;line-height:1.2}.menu-footer{padding:0 18px 30px;display:flex;justify-content:center}.menu-logout{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid #d7e0ee;background:#fff;color:#24324d;font-weight:600;cursor:pointer;box-shadow:0 10px 18px #0f172a14;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.menu-logout:hover{transform:translateY(-1px);border-color:#c7d7f2;box-shadow:0 14px 24px #0f172a1f}body[data-ui-role=admin][data-ui-mode=calm]{background:radial-gradient(1200px 760px at 84% 6%,rgba(92,170,255,.2),transparent 62%),radial-gradient(900px 680px at 14% 28%,rgba(34,211,238,.14),transparent 60%),radial-gradient(800px 660px at 74% 100%,rgba(99,102,241,.12),transparent 62%),#edf4ff!important;color:#1d2d48!important}.shell.shell-campus[data-view=default][data-ui-mode=calm]{--stroke: rgba(67, 95, 146, .16);--stroke2: rgba(67, 95, 146, .24);--glass: rgba(255, 255, 255, .72);--glass2: rgba(255, 255, 255, .9);--text: #1d2d48;--muted: #5f6f8f;--shadow: 0 20px 50px rgba(46, 74, 123, .2);--shadow-soft: 0 14px 32px rgba(46, 74, 123, .14);--ring: 0 0 0 3px rgba(30, 126, 213, .2);--sb-track: rgba(123, 151, 194, .25);--sb-thumb: rgba(73, 111, 169, .32);--sb-thumb-hover: rgba(73, 111, 169, .5);color:#1d2d48}.shell.shell-campus[data-view=default][data-ui-mode=calm] .sidebar{background:linear-gradient(180deg,#ffffffe0,#f1f8ffcc)!important;border-color:#435f9238!important;box-shadow:0 18px 44px #2e4a7b2e!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .sidebar:before{background:radial-gradient(720px 260px at 18% 0%,rgba(59,130,246,.2),transparent 60%),radial-gradient(660px 280px at 82% 0%,rgba(45,212,191,.16),transparent 60%)}.shell.shell-campus[data-view=default][data-ui-mode=calm] .sidebar:after{box-shadow:inset 0 1px #ffffffbf}.shell.shell-campus[data-view=default][data-ui-mode=calm] .main{border-color:#435f9224!important;background:linear-gradient(180deg,#ffffffb8,#f4f9ffd6)!important;box-shadow:0 20px 46px #2e4a7b29!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .main:after{box-shadow:inset 0 1px #ffffffd1}.shell.shell-campus[data-view=default][data-ui-mode=calm] .topbar{border-bottom-color:#435f9229;background:linear-gradient(90deg,#38bdf82e,#ffffffa6)!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .brand-sub,.shell.shell-campus[data-view=default][data-ui-mode=calm] .profile-email,.shell.shell-campus[data-view=default][data-ui-mode=calm] .nav-section-title,.shell.shell-campus[data-view=default][data-ui-mode=calm] .crumb,.shell.shell-campus[data-view=default][data-ui-mode=calm] .muted{color:#5f6f8f!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .profile{background:linear-gradient(180deg,#ffffffd1,#f7fbffc2)!important;border-color:#435f922e!important;box-shadow:0 12px 26px #2e4a7b1f!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .brand-badge,.shell.shell-campus[data-view=default][data-ui-mode=calm] .profile-avatar,.shell.shell-campus[data-view=default][data-ui-mode=calm] .nav-icon{border-color:#3564a847!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .nav-item{color:#1d2d48!important;background:linear-gradient(145deg,#fffc,#f4f9ffb8)!important;border-color:#435f9229!important;box-shadow:inset 0 1px #ffffffb3!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .nav-item:hover{border-color:#3a69ad52!important;box-shadow:0 12px 24px #2e4a7b24!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .nav-item.active{background:linear-gradient(135deg,#38bdf85c,#3b82f638)!important;border-color:#2563eb7a!important;box-shadow:0 14px 28px #2e4a7b33!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .btn,.shell.shell-campus[data-view=default][data-ui-mode=calm] button.btn{color:#173053!important;background:#ffffffd1!important;border-color:#435f9242!important;box-shadow:0 10px 22px #2e4a7b1f,inset 0 1px #ffffffd9!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .btn:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] button.btn:hover{background:#fffffff5!important;border-color:#2563eb61!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .btn.primary{color:#f5f9ff!important;background:linear-gradient(135deg,#0e74d6e6,#38bdf8c2)!important;border-color:#0e74d69e!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .pill{color:#1a365f;background:#ffffffd1;border-color:#435f9233}.shell.shell-campus[data-view=default][data-ui-mode=calm] .badge{color:#f8fbff;background:#0e74d6cc;border-color:#ffffffbf}.shell.shell-campus[data-view=default][data-ui-mode=calm] .card,.shell.shell-campus[data-view=default][data-ui-mode=calm] .stat,.shell.shell-campus[data-view=default][data-ui-mode=calm] .note,.shell.shell-campus[data-view=default][data-ui-mode=calm] .profile-photo{color:#1d2d48!important;border-color:#435f9233!important;background:linear-gradient(180deg,#ffffffe0,#f4f9ffd9)!important;box-shadow:0 14px 30px #2e4a7b24!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .table th,.shell.shell-campus[data-view=default][data-ui-mode=calm] .table td{color:#1f3356!important;border-bottom-color:#435f922e!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .table th{color:#4a5e81e6!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] .table tbody tr:hover td{background:#38bdf81f!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] input,.shell.shell-campus[data-view=default][data-ui-mode=calm] select,.shell.shell-campus[data-view=default][data-ui-mode=calm] textarea,.shell.shell-campus[data-view=default][data-ui-mode=calm] .input,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field input,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field select,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field textarea{color:#1d2d48!important;background:linear-gradient(180deg,#fffffff5,#f2f8fff5)!important;border-color:#435f9247!important;caret-color:#0e74d6bd!important;box-shadow:0 10px 20px #2e4a7b1f,inset 0 1px #ffffffeb!important;transform:translateY(0);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease,transform .15s ease!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] input:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] select:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] textarea:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] .input:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field input:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field select:hover,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field textarea:hover{border-color:#2f518666!important;background:linear-gradient(180deg,#fff,#eff7fffa)!important;transform:translateY(-1px)}.shell.shell-campus[data-view=default][data-ui-mode=calm] input:focus,.shell.shell-campus[data-view=default][data-ui-mode=calm] select:focus,.shell.shell-campus[data-view=default][data-ui-mode=calm] textarea:focus,.shell.shell-campus[data-view=default][data-ui-mode=calm] .input:focus,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field input:focus,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field select:focus,.shell.shell-campus[data-view=default][data-ui-mode=calm] .field textarea:focus{border-color:#0e74d6ad!important;box-shadow:0 0 0 3px #0e74d62e,0 14px 28px #2e4a7b29!important;transform:translateY(-1px)}.shell.shell-campus[data-view=default][data-ui-mode=calm] input::placeholder,.shell.shell-campus[data-view=default][data-ui-mode=calm] textarea::placeholder{color:#4a5e81b8!important}.shell.shell-campus[data-view=default][data-ui-mode=calm] select option{color:#1d2d48;background:#f3f8ff}.shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-bell-btn,.shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-bell-panel{--bell-ink: #1b2d4a;--bell-dim: rgba(27, 45, 74, .68);--bell-accent: #3b82f6;--bell-accent-strong: #2563eb;--bell-warm: #f59e0b;--bell-danger: #dc2626;--bell-panel-1: rgba(255, 255, 255, .98);--bell-panel-2: rgba(243, 249, 255, .97);--bell-border: rgba(67, 95, 146, .22);--bell-ring: rgba(37, 99, 235, .42)}.shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-bell-item{border-color:#435f922e;background:#f2f8ffe0}.shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-bell-item.unread{background:linear-gradient(145deg,#93c5fd5c,#f2f8fff2)}.shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-bell-item-meta{color:#3a4d6cd1}.shell.shell-campus[data-ui-mode=dark] .btn,.shell.shell-campus[data-ui-mode=dark] button.btn{color:#f4fafff5!important}.shell.shell-campus[data-ui-mode=dark] .pill,.shell.shell-campus[data-ui-mode=dark] .crumb{color:#e6eefbe6}.shell.shell-campus[data-ui-mode=dark] input,.shell.shell-campus[data-ui-mode=dark] select,.shell.shell-campus[data-ui-mode=dark] textarea,.shell.shell-campus[data-ui-mode=dark] .input{color:#f4fafff5!important}.shell.shell-campus[data-view=menu][data-ui-mode=dark]{background:#071126;color:#e8f0ff}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .main{background:linear-gradient(180deg,#091123f5,#060c19fa)!important}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-home{background:linear-gradient(180deg,#081023fa,#060c18)!important;color:#e8f0ff}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-hero{background:linear-gradient(120deg,#1b2f61,#142447 45%,#123b51 95%);color:#edf4ff}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-hero:before{opacity:.35}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-hero:after{background:#081023f2;box-shadow:0 -10px #538ade42}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-brand-badge,.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-avatar{background:#081023b3;border-color:#9ab8ec52;color:#eaf2ff}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-brand-sub,.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-email,.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-title{color:#d0e0f9c7}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-brand-title,.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-welcome,.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-label{color:#ecf4fff5}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-hero-tools .lang-switch .btn,.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-bell.admin-bell-btn{background:#0a162ebd!important;border-color:#9ab8ec4d!important;color:#ecf4fff2!important;box-shadow:0 10px 20px #030a1873!important}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-hero-tools .lang-switch .btn.active{background:#376fd961!important;border-color:#7ea9f799!important}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-pill{background:linear-gradient(135deg,#2563eb,#22d3ee)}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-tile{background:linear-gradient(170deg,#101c38eb,#0b152af5);border-color:#9ab8ec42;color:#e6f0fff0;box-shadow:0 16px 28px #0208146b}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-tile:hover{border-color:#7ea9f785;box-shadow:0 20px 34px #02081485}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-tile.active{border-color:#38bdf8d1;box-shadow:0 20px 34px #2563eb57}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-icon{background:#2563eb3d;border-color:#7ea9f76b;color:#7dd3fc}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-tile.active .menu-icon{background:linear-gradient(135deg,#2563eb,#22d3ee);border-color:transparent;color:#f8fbff}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-logout{background:#0a162ec7;border-color:#9ab8ec42;color:#ecf4fff0;box-shadow:0 12px 22px #02081475}.shell.shell-campus[data-view=menu][data-ui-mode=dark] .menu-logout:hover{border-color:#7ea9f780;box-shadow:0 16px 28px #0208148f}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark]{--admin-page-text: #e6efff;--admin-page-muted: rgba(163, 182, 216, .9);--admin-page-border: rgba(148, 163, 184, .3);--admin-page-border-strong: rgba(148, 163, 184, .46);--admin-page-bg-soft: rgba(8, 16, 34, .74);--admin-page-bg-strong: rgba(5, 11, 24, .9);--admin-page-card: linear-gradient( 180deg, rgba(10, 20, 42, .92), rgba(8, 16, 34, .8) );--admin-page-card-soft: rgba(8, 16, 34, .78);--admin-page-table-head: rgba(12, 24, 46, .95);--admin-page-hover: rgba(56, 189, 248, .14);--admin-page-input: linear-gradient( 180deg, rgba(12, 24, 48, .92), rgba(8, 15, 31, .95) );--admin-page-input-shadow: 0 12px 24px rgba(2, 8, 20, .42), inset 0 1px 0 rgba(255, 255, 255, .09);--admin-page-input-hover-shadow: 0 16px 30px rgba(2, 8, 20, .48), inset 0 1px 0 rgba(255, 255, 255, .11);--admin-page-input-focus-shadow: 0 0 0 3px rgba(56, 189, 248, .24), 0 18px 34px rgba(2, 8, 20, .5);--admin-page-input-caret: rgba(56, 189, 248, .88);--admin-page-input-invalid: rgba(248, 113, 113, .78);--admin-page-btn: rgba(10, 22, 46, .84);--admin-page-btn-hover: rgba(15, 30, 58, .92);--admin-page-accent: rgba(56, 189, 248, .84)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm]{--admin-page-text: #1d2d48;--admin-page-muted: rgba(74, 94, 129, .88);--admin-page-border: rgba(67, 95, 146, .24);--admin-page-border-strong: rgba(67, 95, 146, .4);--admin-page-bg-soft: rgba(244, 250, 255, .86);--admin-page-bg-strong: rgba(235, 244, 255, .95);--admin-page-card: linear-gradient( 180deg, rgba(255, 255, 255, .94), rgba(243, 248, 255, .9) );--admin-page-card-soft: rgba(247, 251, 255, .88);--admin-page-table-head: rgba(239, 246, 255, .98);--admin-page-hover: rgba(56, 189, 248, .12);--admin-page-input: linear-gradient( 180deg, rgba(255, 255, 255, .98), rgba(242, 248, 255, .96) );--admin-page-input-shadow: 0 10px 20px rgba(46, 74, 123, .12), inset 0 1px 0 rgba(255, 255, 255, .92);--admin-page-input-hover-shadow: 0 14px 26px rgba(46, 74, 123, .16), inset 0 1px 0 rgba(255, 255, 255, .98);--admin-page-input-focus-shadow: 0 0 0 3px rgba(14, 116, 214, .2), 0 16px 30px rgba(46, 74, 123, .18);--admin-page-input-caret: rgba(14, 116, 214, .84);--admin-page-input-invalid: rgba(239, 68, 68, .76);--admin-page-btn: rgba(255, 255, 255, .9);--admin-page-btn-hover: rgba(255, 255, 255, .98);--admin-page-accent: rgba(14, 116, 214, .84)}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .page{color:var(--admin-page-text)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .page{background:transparent!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .page:before{opacity:.22!important;filter:blur(10px)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content h1,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content h2,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content h3,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .dash-title,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .title-badge,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .user-name,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .kpi-value,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .stat-value{color:var(--admin-page-text)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .muted,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .small,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .field-label,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .filter-label,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .admin-filter-label,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .k,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .announcement-meta,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .kpi-label,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .stat-label,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .session-meta,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .task-meta,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .task-stat,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .mono{color:var(--admin-page-muted)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .card,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .stat,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .note,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .panel,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .profile-photo,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .modal-card,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .table-wrap,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .chart-box,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .session-item,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .task-item,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .list .list-item,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .admin-filter-card,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .announcement-channel,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .announcement-row.active{color:var(--admin-page-text)!important;border-color:var(--admin-page-border)!important;background:var(--admin-page-card)!important;box-shadow:0 14px 30px #0f172a24!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .card:before,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .card:after{opacity:.36!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .tabs{border-color:var(--admin-page-border)!important;background:var(--admin-page-bg-soft)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .tab{color:var(--admin-page-muted)!important;border-color:transparent!important;background:transparent!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .tab:hover{color:var(--admin-page-text)!important;background:var(--admin-page-bg-soft)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .tab.active{color:var(--admin-page-text)!important;border-color:var(--admin-page-border-strong)!important;background:var(--admin-page-bg-soft)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .btn,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content button.btn{color:var(--admin-page-text)!important;border-color:var(--admin-page-border)!important;background:var(--admin-page-btn)!important;box-shadow:0 10px 22px #0f172a24,inset 0 1px #ffffff14!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .btn:hover,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content button.btn:hover{border-color:var(--admin-page-border-strong)!important;background:var(--admin-page-btn-hover)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .btn.primary{color:#f8fbff!important;border-color:#0e74d69e!important;background:linear-gradient(135deg,#0e74d6eb,#38bdf8c7)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .btn.primary:before,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .btn.primary:after{display:none!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .btn.danger{color:#fee2e2!important;border-color:#ef444485!important;background:linear-gradient(135deg,#dc2626d6,#f8717185)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .content .btn.danger{color:#7f1d1d!important;border-color:#ef44445c!important;background:linear-gradient(135deg,#fee2e2fa,#fecdd3eb)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .pill,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .chip,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .badge{color:var(--admin-page-text)!important;border-color:var(--admin-page-border)!important;background:var(--admin-page-bg-soft)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .content .badge{background:#2563eb59!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .content .badge{background:#0e74d6cc!important;color:#f8fbff!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input:not([type=checkbox]):not([type=radio]),body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .input{color:var(--admin-page-text)!important;border-color:var(--admin-page-border)!important;background:var(--admin-page-input)!important;box-shadow:var(--admin-page-input-shadow)!important;caret-color:var(--admin-page-input-caret)!important;transform:translateY(0);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease,transform .15s ease!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input:not([type=checkbox]):not([type=radio]):hover,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select:hover,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea:hover,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .input:hover{border-color:var(--admin-page-border-strong)!important;box-shadow:var(--admin-page-input-hover-shadow)!important;transform:translateY(-1px)}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input:not([type=checkbox]):not([type=radio]):focus,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select:focus,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea:focus,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .input:focus{border-color:var(--admin-page-accent)!important;box-shadow:var(--admin-page-input-focus-shadow)!important;transform:translateY(-1px)}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input:not([type=checkbox]):not([type=radio]):focus-visible,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select:focus-visible,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea:focus-visible,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .input:focus-visible{border-color:var(--admin-page-accent)!important;box-shadow:var(--admin-page-input-focus-shadow)!important;transform:translateY(-1px)}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input:not([type=checkbox]):not([type=radio]):disabled,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select:disabled,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea:disabled,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .input:disabled{opacity:.62!important;box-shadow:none!important;transform:none}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input:not([type=checkbox]):not([type=radio])[aria-invalid=true],body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select[aria-invalid=true],body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea[aria-invalid=true],body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .input[aria-invalid=true]{border-color:var(--admin-page-input-invalid)!important;box-shadow:0 0 0 3px #ef444433,0 16px 30px #0f172a33!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content input::placeholder,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content textarea::placeholder{color:var(--admin-page-muted)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content select option{color:var(--admin-page-text);background:var(--admin-page-bg-strong)}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .table th,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .table td{color:var(--admin-page-text)!important;border-bottom-color:var(--admin-page-border)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .table th{color:var(--admin-page-muted)!important;background:var(--admin-page-table-head)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .table tbody tr:hover td,body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .table tbody tr:hover{background:var(--admin-page-hover)!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .content .table-nice tbody td{color:#1d2d48!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .content .announcement-status.published{color:#166534!important;border-color:#22c55e5c!important;background:#bbf7d0cc!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .content .announcement-status.published{color:#dcfce7!important;border-color:#22c55e6b!important;background:#16a34a42!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .content .announcement-status.scheduled{color:#1e3a8a!important;border-color:#2563eb57!important;background:#bfdbfed6!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .content .announcement-status.scheduled{color:#dbeafe!important;border-color:#3b82f66b!important;background:#2563eb3d!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .admin-filter-field select{width:100%}body[data-ui-role=admin] .shell.shell-campus[data-view=default] .content .modal-backdrop{background:#02061799!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .content .modal-backdrop{background:#1e3a6e38!important}@media (max-width: 760px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-hero{min-height:200px;padding:20px 16px 40px}}@media (max-width: 420px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-icon{width:44px;height:44px}.menu-title{letter-spacing:.18em}}.shell-super{--text: rgba(248, 250, 252, .96);--muted: rgba(226, 232, 240, .72);--border: rgba(255, 255, 255, .14);--stroke: rgba(255, 255, 255, .12);--stroke2: rgba(255, 255, 255, .18);--glass: rgba(255, 255, 255, .05);--glass2: rgba(255, 255, 255, .09);--shadow: 0 20px 60px rgba(2, 6, 23, .55);--shadow-soft: 0 12px 30px rgba(2, 6, 23, .35);--a1: rgba(34, 211, 238, .85);--a2: rgba(56, 189, 248, .55);--a3: rgba(250, 204, 21, .25);--ring: 0 0 0 3px rgba(34, 211, 238, .3);--primary: #22d3ee;--input-radius: 14px;--input-bg: linear-gradient( 180deg, rgba(10, 18, 32, .74), rgba(6, 10, 18, .98) );--input-border: rgba(255, 255, 255, .16);--input-text: var(--text);--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 16px 32px rgba(2, 6, 23, .4);--input-hover-bg: linear-gradient( 180deg, rgba(14, 24, 42, .8), rgba(7, 12, 22, .98) );--input-hover-border: rgba(255, 255, 255, .25);--input-focus-border: rgba(34, 211, 238, .8);--input-focus-shadow: 0 0 0 3px rgba(34, 211, 238, .25), 0 18px 40px rgba(2, 6, 23, .55), inset 0 1px 0 rgba(255, 255, 255, .12);--input-placeholder: rgba(226, 232, 240, .55);--input-arrow: rgba(226, 232, 240, .75);--input-selection-bg: rgba(34, 211, 238, .35);--input-selection-text: #0b1020;--input-caret: var(--input-focus-border);--input-hover-lift: -1px;--input-focus-lift: -1px;--sb-thumb: rgba(56, 189, 248, .3);--sb-thumb-hover: rgba(56, 189, 248, .45)}.shell-super .sidebar{background:linear-gradient(180deg,#0a1428c7,#060c188c),radial-gradient(300px 220px at 20% 0%,rgba(34,211,238,.18),transparent 60%);border-color:#ffffff1f;box-shadow:0 24px 70px #020617a6}.shell-super .sidebar:before{background:radial-gradient(700px 260px at 18% 0%,rgba(34,211,238,.22),transparent 60%),radial-gradient(700px 260px at 86% 0%,rgba(250,204,21,.16),transparent 60%)}.shell-super .brand-badge{background:linear-gradient(135deg,#22d3eef2,#facc15a6);box-shadow:0 10px 22px #22d3ee47,0 8px 16px #facc1524}.shell-super .nav-item.active{background:linear-gradient(135deg,#22d3ee80,#facc152e);border-color:#22d3ee99;box-shadow:0 16px 34px #22d3ee33,0 10px 24px #facc151a}.shell-super .nav-item.active:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:3px;border-radius:999px;background:linear-gradient(180deg,#22d3eee6,#facc15cc)}.shell-super .main{background:linear-gradient(180deg,#ffffff0f,#ffffff05)}.shell-super .topbar{background:linear-gradient(90deg,#22d3ee1f,#facc1514,#ffffff05);border-bottom-color:#ffffff1a}.shell-super .semester-filter{border-color:#ffffff29;background:#ffffff0f}.shell-super .semester-filter select{border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);box-shadow:var(--input-shadow);padding:6px 32px 6px 12px;border-radius:999px;min-height:auto;font-size:.8rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat}.shell-super .semester-filter select:focus{outline:none;box-shadow:var(--input-focus-shadow);border-color:var(--input-focus-border)}.shell-super .semester-filter .btn{box-shadow:none}.shell-super .crumb{color:#e2e8f0cc}.shell-super .btn{border-color:#ffffff29;background:#ffffff0f;box-shadow:0 12px 26px #02061766,inset 0 1px #ffffff1a}.shell-super .btn:hover{border-color:#22d3ee59;background:#ffffff17}.shell-super .btn.primary,.shell-super .btn-primary{background:linear-gradient(135deg,#22d3eebf,#facc1559);border-color:#22d3eeb3;box-shadow:0 16px 34px #22d3ee47}.shell-super .btn.primary:hover,.shell-super .btn-primary:hover{background:linear-gradient(135deg,#22d3eee6,#facc1573);border-color:#22d3eee6}.shell-super .btn.secondary{background:#080c1466;border-color:#ffffff2e}.shell-super .btn.danger,.shell-super .btn-danger{background:#ef444429;border-color:#ef44448c;color:#fee2e2f2}.shell-super input:not([type=checkbox]):not([type=radio]),.shell-super select,.shell-super textarea,.shell-super .input{padding:10px 12px;min-height:42px;font-size:.95rem;border-radius:var(--input-radius);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);box-shadow:var(--input-shadow);outline:none;caret-color:var(--input-caret);transform:translateY(0);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease,transform .15s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.shell-super input:not([type=checkbox]):not([type=radio])::placeholder,.shell-super textarea::placeholder,.shell-super .input::placeholder{color:var(--input-placeholder);transition:color .15s ease}.shell-super input:not([type=checkbox]):not([type=radio]):hover,.shell-super select:hover,.shell-super textarea:hover,.shell-super .input:hover{border-color:var(--input-hover-border);background:var(--input-hover-bg);transform:translateY(var(--input-hover-lift))}.shell-super input:not([type=checkbox]):not([type=radio]):focus,.shell-super select:focus,.shell-super textarea:focus,.shell-super .input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);transform:translateY(var(--input-focus-lift))}.shell-super input:not([type=checkbox]):not([type=radio]):focus-visible,.shell-super select:focus-visible,.shell-super textarea:focus-visible,.shell-super .input:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);transform:translateY(var(--input-focus-lift))}.shell-super input:not([type=checkbox]):not([type=radio]):disabled,.shell-super select:disabled,.shell-super textarea:disabled,.shell-super .input:disabled{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}.shell-super input:not([type=checkbox]):not([type=radio])[aria-invalid=true],.shell-super select[aria-invalid=true],.shell-super textarea[aria-invalid=true],.shell-super .input[aria-invalid=true]{border-color:#ef4444b8;box-shadow:0 0 0 3px #ef444433,0 16px 34px #02061773}.shell-super select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:40px}.shell-super select option{background:#0b1324;color:#e2e8f0}.shell-super textarea{resize:vertical}.shell-super ::selection{background:var(--input-selection-bg);color:var(--input-selection-text)}.shell-super .card,.shell-super .stat,.shell-super .note,.shell-super .profile-photo,.shell-super .super-academic .year-card,.shell-super .super-academic .semester-card,.shell-super .interface-card,.shell-super .page-toggle,.shell-super .mobile-design-option{border-color:#ffffff24;background:linear-gradient(180deg,#ffffff0f,#ffffff05),radial-gradient(120% 120% at 0% 0%,rgba(34,211,238,.08),transparent 55%);box-shadow:0 18px 45px #02061759}.shell-super .card:hover,.shell-super .mobile-design-option:hover{box-shadow:0 22px 55px #02061773;border-color:#22d3ee52}.shell-super .note{border-color:#38bdf840;background:linear-gradient(180deg,#38bdf81a,#0f172a33)}.shell-super .table th{color:#e2e8f0bf}.shell-super .table tbody tr:hover td{background:#22d3ee14}.shell-super .table tbody tr:nth-child(2n) td{background:#ffffff03}.shell-super .super-overrides .table tr.row-active td{background:linear-gradient(90deg,#22d3ee2e,#facc151f)}.shell-super .super-overrides .tag{border-color:#22d3ee40;background:#22d3ee14}.shell-super .pill{border-color:#22d3ee59;background:#22d3ee1f;color:#f8fafcf2}.shell-super .pill.ok{border-color:#22c55e73;background:#22c55e2e}.shell-super .pill.warn{border-color:#facc1580;background:#facc152e}.shell-super .status-pill{border-color:#ffffff2e;background:#ffffff14}.shell-super .status-pill.active{color:#22d3ee;border-color:#22d3ee8c;background:#22d3ee2e}.shell-super .status-pill.off{color:#fca5a5;border-color:#ef444466;background:#ef444429}.shell-super .interface-card:after{background:radial-gradient(circle at center,rgba(34,211,238,.18),transparent 70%)}.shell-super .toggle-track{border-color:#fff3;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0f}.shell-super .toggle-thumb{box-shadow:0 6px 12px #02061759}.shell-super .toggle input:checked+.toggle-track{background:linear-gradient(135deg,#22d3ee80,#facc1547);border-color:#22d3ee8c}.shell-super .super-academic .semester-card.active{border-color:#22d3ee8c;background:linear-gradient(135deg,#22d3ee2e,#facc151f);box-shadow:0 14px 30px #22d3ee33}.shell-super .mobile-design-option.active{border-color:#22d3ee99;box-shadow:0 0 0 2px #22d3ee40,0 18px 40px #02061766}.shell-super .interface-textarea{border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);box-shadow:var(--input-shadow)}.shell-super .interface-textarea:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.admin-filter-card{margin:10px 14px 0;padding:12px;border-radius:18px;background:linear-gradient(120deg,#1f2964c7,#4c5bc46b);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}.admin-filter-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.admin-filter-field{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1}.admin-filter-label{font-weight:800;font-size:12px;letter-spacing:.3px;color:#ffffffd1;text-transform:uppercase}.admin-filter-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#fff;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700}.admin-filter-field select:focus{outline:none;box-shadow:0 0 0 2px #7c3aed59}.admin-filter-actions{display:flex;align-items:flex-end}@media (max-width: 760px){.admin-filter-card{margin:8px}.admin-filter-field{min-width:160px}}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .admin-filter-card{background:linear-gradient(120deg,#0a162edb,#0f1e3ab3)!important;border-color:#94a3b84d!important;box-shadow:0 16px 34px #0208145c!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .admin-filter-label{color:#bbcbe5e0!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .admin-filter-field select{border-color:#94a3b857!important;background:#081022cc!important;color:#e6efff!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-filter-card{background:linear-gradient(120deg,#ffffffeb,#f2f8ffe6)!important;border-color:#435f923d!important;box-shadow:0 14px 30px #2e4a7b24!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-filter-label{color:#4a5e81e6!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .admin-filter-field select{border-color:#435f924d!important;background:#fffffff5!important;color:#1d2d48!important}.admin-bell-btn,.admin-bell-panel{--bell-ink: #eef4ff;--bell-dim: rgba(238, 244, 255, .72);--bell-accent: #6ac4ff;--bell-accent-strong: #3aa6ff;--bell-warm: #ffb169;--bell-danger: #ff5e68;--bell-panel-1: rgba(18, 28, 44, .96);--bell-panel-2: rgba(10, 16, 26, .96);--bell-border: rgba(255, 255, 255, .14);--bell-ring: rgba(106, 196, 255, .65)}.admin-bell-btn{cursor:pointer;border:0;background:transparent;padding:2px 4px;display:inline-flex;align-items:center;gap:8px;color:inherit;transition:transform .14s ease,filter .14s ease,opacity .14s ease}.admin-bell-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.admin-bell-btn:active{transform:translateY(0);filter:brightness(.98)}.admin-bell-btn:focus-visible{outline:2px solid var(--bell-ring);outline-offset:3px;border-radius:10px}.admin-bell-btn .badge{margin-inline-start:6px;font-weight:900;font-size:12px;padding:2px 10px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#ff5e68f2,#ff8c69eb);border:1px solid rgba(255,120,120,.55);box-shadow:0 6px 18px #ff5e684d}.admin-bell-panel{position:relative;width:min(520px,90vw);max-height:70vh;overflow:hidden;padding:14px;border-radius:18px;border:1px solid var(--bell-border);color:var(--bell-ink);background:radial-gradient(140% 120% at 0% 0%,rgba(106,196,255,.2),transparent 55%),radial-gradient(120% 120% at 100% 0%,rgba(255,177,105,.18),transparent 55%),linear-gradient(160deg,var(--bell-panel-1),var(--bell-panel-2));box-shadow:0 24px 70px #00000073,inset 0 0 0 1px #ffffff0a;-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);animation:panel-rise .22s ease-out;isolation:isolate}.admin-bell-panel:before{content:"";position:absolute;top:-20%;right:-15%;bottom:-20%;left:-15%;background:radial-gradient(circle,rgba(106,196,255,.18),transparent 60%);opacity:.7;filter:blur(14px);pointer-events:none;z-index:0}.admin-bell-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 2px,transparent 2px 6px);opacity:.25;pointer-events:none;z-index:0}.admin-bell-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.admin-bell-body{padding-top:12px;overflow:auto;max-height:calc(70vh - 72px);position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:rgba(106,196,255,.45) rgba(255,255,255,.08)}.admin-bell-body::-webkit-scrollbar{width:8px}.admin-bell-body::-webkit-scrollbar-track{background:#ffffff0f;border-radius:10px}.admin-bell-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6ac4ff99,#3aa6ff66);border-radius:10px}.admin-bell-item{position:relative;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#070c148c;margin-bottom:12px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.admin-bell-item:hover{transform:translateY(-1px);border-color:#6ac4ff59;box-shadow:0 12px 30px #00000059}.admin-bell-item:active{transform:translateY(0)}.admin-bell-item:focus-visible{outline:2px solid rgba(106,196,255,.45);outline-offset:2px}.admin-bell-item.unread{border-color:#6ac4ff80;background:linear-gradient(145deg,#6ac4ff2e,#060c14a6);box-shadow:inset 0 0 0 1px #6ac4ff2e;padding-inline-start:18px}.admin-bell-item.unread:before{content:"";position:absolute;top:10px;bottom:10px;inset-inline-start:8px;width:3px;border-radius:999px;background:linear-gradient(180deg,#6ac4fff2,#6ac4ff33);box-shadow:0 0 12px #6ac4ff66}.admin-bell-item.read{opacity:.82}.admin-bell-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-bell-item-title{font-weight:800;letter-spacing:.2px;text-shadow:0 1px 6px rgba(0,0,0,.35)}.admin-bell-type{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;text-align:center;border-radius:8px;font-size:12px;color:#f6fbff;background:#6ac4ff24;border:1px solid rgba(106,196,255,.35);box-shadow:inset 0 0 0 1px #ffffff0f}.admin-bell-item-body{margin-top:6px;white-space:pre-wrap;line-height:1.45;color:var(--bell-dim)}.admin-bell-item-meta{margin-top:8px;opacity:.85;font-size:12px;color:#dce8ffbf}.admin-dot{width:10px;height:10px;border-radius:999px;background:#3aa6fff2;box-shadow:0 0 0 3px #3aa6ff26;animation:dot-glow 1.8s ease-in-out infinite}@keyframes dot-glow{0%,to{box-shadow:0 0 0 3px #3aa6ff26}50%{box-shadow:0 0 0 7px #3aa6ff47}}@media (prefers-reduced-motion: reduce){.admin-bell-btn,.admin-bell-item{transition:none}.admin-dot,.admin-bell-panel{animation:none}}.dash{--dash-ink: #f8fafc;--dash-muted: rgba(248, 250, 252, .66);--dash-card: rgba(12, 19, 34, .78);--dash-card-2: rgba(12, 19, 34, .58);--dash-border: rgba(148, 163, 184, .22);--dash-accent: #22d3ee;--dash-accent-2: #f59e0b;--dash-accent-3: #fb7185;--dash-success: #22c55e;--dash-danger: #fb7185;--dash-shadow: 0 28px 70px rgba(2, 6, 23, .55);--dash-radius: 20px;--dash-font: "Space Grotesk", "Noto Sans Arabic", sans-serif;--dash-serif: "Fraunces", "Noto Serif", serif;--dash-hero-image: url(https://images.unsplash.com/photo-1503428593586-e225b39bddfe?auto=format&fit=crop&w=1600&q=80);font-family:var(--dash-font);color:var(--dash-ink);position:relative;overflow:hidden;padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(900px 520px at 8% -10%,rgba(34,211,238,.22),transparent 60%),radial-gradient(900px 580px at 92% 0%,rgba(245,158,11,.18),transparent 60%),radial-gradient(900px 700px at 50% 110%,rgba(34,197,94,.16),transparent 60%),linear-gradient(180deg,#0b1220fa,#030712fa)}.dash:before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;pointer-events:none;background:linear-gradient(transparent 94%,#ffffff0d 95%),linear-gradient(90deg,transparent 94%,rgba(255,255,255,.05) 95%);background-size:140px 140px;opacity:.12}.dash:after{content:"";position:absolute;inset:-120px -60px auto auto;width:340px;height:340px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(251,113,133,.18),transparent 70%);filter:blur(2px)}.dash .dash-hero{position:relative;border-radius:24px;border:1px solid var(--dash-border);overflow:hidden;padding:20px;background-image:linear-gradient(120deg,#020617e0,#0206178c),var(--dash-hero-image);background-size:cover;background-position:center;box-shadow:var(--dash-shadow);margin-bottom:14px;animation:dash-rise .5s ease both}.dash .dash-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.35),transparent 70%);opacity:.9}.dash .dash-hero-content{position:relative;z-index:2;max-width:900px}.dash .dash-hero .muted{color:#f8fafcc2}.dash button,.dash input,.dash select,.dash textarea{font-family:inherit}.dash .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.dash .title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dash .head-left .muted{margin-top:6px}.dash .dash-title{margin:0;font-family:var(--dash-serif);font-size:2.1rem;letter-spacing:.02em}.dash .title-badge{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff14}.dash .grid-4,.dash .grid-3,.dash .grid-2{display:grid;gap:14px}.dash .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dash .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dash .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash .card{position:relative;border-radius:var(--dash-radius);border:1px solid var(--dash-border);background:linear-gradient(180deg,#ffffff14,#0c13228c);box-shadow:var(--dash-shadow);padding:16px;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:dash-rise .5s ease both}.dash .card-head,.dash .card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.dash .badge{padding:6px 10px;border-radius:999px;background:#0c1322b3;border:1px solid rgba(255,255,255,.16);font-size:.75rem}.dash .card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(500px 140px at 20% 0%,rgba(255,255,255,.08),transparent 60%);opacity:.9}.dash .card:hover{transform:translateY(-2px);border-color:#ffffff42}.dash h1,.dash h2,.dash h3{font-family:var(--dash-serif);letter-spacing:.01em}.dash .muted{color:var(--dash-muted)}.dash .small{font-size:.86rem}.dash .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dash .btn{padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:inherit;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.dash .btn:hover{transform:translateY(-1px);background:#ffffff1a;border-color:#ffffff42}.dash .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.dash .btn.primary{background:linear-gradient(135deg,#22d3eed9,#0e7490d9);border-color:#22d3ee59}.dash .btn.secondary{background:#0f172aa6;border-color:#94a3b833}.dash .btn.danger{background:#fb71852e;border-color:#fb718573}.dash .btn.ghost{background:#ffffff0a}.dash .kpi-card{overflow:hidden}.dash .kpi-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(34,211,238,.18),transparent 55%);opacity:.6;pointer-events:none}.dash .kpi-top{display:flex;align-items:center;gap:12px}.dash .kpi-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#0f172a73;font-size:1.2rem}.dash .kpi-label{color:var(--dash-muted);font-size:.9rem}.dash .kpi-meta{min-width:0}.dash .kpi-value{font-size:1.8rem;font-weight:700;margin-top:4px}.dash .kpi-foot{margin-top:12px;font-size:.88rem;color:var(--dash-muted)}.dash .progress-wrap{min-width:0}.dash .progress-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.dash .chip,.dash .pill{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#0c132285}.dash .pill b{font-weight:700}.dash .progress{height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#02061780;overflow:hidden}.dash .progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55ef2,#22d3eed9)}.dash .action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash .action-card{display:flex;align-items:center;gap:12px;width:100%;border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.14);background:#0c13228c;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease;text-align:left}.dash .action-card:hover{transform:translateY(-2px);background:#0c1322b3;border-color:#ffffff42}.dash .action-ic{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#0f172a80;font-size:1.15rem}.dash .action-txt{min-width:0;flex:1}.dash .action-title{font-weight:700}.dash .action-sub{font-size:.86rem;margin-top:2px;color:var(--dash-muted)}.dash .action-go{opacity:.7;font-size:1.3rem}.dash .chart-card{min-height:300px}.dash .chart-box{position:relative;height:250px;margin-top:12px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(160px 120px at 20% 10%,rgba(34,211,238,.12),transparent 60%),#02061799;padding:10px}.dash .chart-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:var(--dash-muted);font-size:.86rem}.dash .empty-chart{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--dash-muted);font-size:.9rem}.dash .table-wrap{overflow:auto;margin-top:10px;max-width:100%}.dash .table{width:100%;border-collapse:collapse;min-width:820px}.dash .table th,.dash .table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:start;white-space:nowrap}.dash .table th{color:var(--dash-muted);font-weight:600}.dash .table.nice tbody tr:hover{background:#ffffff0a}.dash .note{padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0c132280;color:var(--dash-muted);line-height:1.6}.dash .stat{border:1px solid rgba(255,255,255,.14);background:#0c132299;border-radius:var(--dash-radius);padding:14px;min-width:0}.dash .stat-label{color:var(--dash-muted);font-size:.9rem}.dash .stat-value{font-size:1.5rem;font-weight:700;margin-top:6px}.dash .kv{display:grid;grid-template-columns:140px 1fr;gap:10px 12px;margin-top:10px}.dash .k{color:var(--dash-muted)}.dash .v{font-weight:600;overflow-wrap:anywhere}.dash .session-list{display:grid;gap:10px;margin-top:12px}.dash .session-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0c13228c}.dash .session-main{display:grid;gap:4px}.dash .session-time{font-weight:700}.dash .session-meta{color:var(--dash-muted);font-size:.85rem}.dash .task-list{display:grid;gap:10px;margin-top:12px}.dash .task-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0c13228c}.dash .task-main{display:grid;gap:6px;min-width:0}.dash .task-title{font-weight:700}.dash .task-meta{color:var(--dash-muted);font-size:.85rem;display:flex;flex-wrap:wrap;gap:10px}.dash .task-stats{display:grid;gap:6px;text-align:right;min-width:140px}.dash .task-stat{display:flex;justify-content:space-between;gap:8px;color:var(--dash-muted);font-size:.85rem}.dash .task-stat b{color:var(--dash-ink)}.dash .kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash .skeleton{position:relative;overflow:hidden}.dash .skeleton:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translate(-60%);animation:shimmer 1.2s infinite}.dash .list .list-item{height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0c132280;margin-top:10px}@keyframes shimmer{0%{transform:translate(-60%)}to{transform:translate(60%)}}@keyframes dash-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px){.dash .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dash .grid-3,.dash .action-grid,.dash .kpi-grid{grid-template-columns:1fr}}@media (max-width: 980px){.dash .grid-2{grid-template-columns:1fr}}@media (max-width: 520px){.dash{padding:12px}.dash .dash-title{font-size:1.55rem}.dash .dash-hero{padding:14px}.dash .task-item{flex-direction:column;align-items:flex-start}.dash .task-stats{width:100%;text-align:left}.dash .task-stat{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.dash .card,.dash .dash-hero{animation:none}.dash .card:hover,.dash .action-card:hover{transform:none}}.teacher-shell[data-ui-mode=dark] .dash-teacher{--dash-ink: #f8fafc;--dash-muted: rgba(226, 232, 240, .84);--dash-border: rgba(148, 163, 184, .28)}.teacher-shell[data-ui-mode=dark] .dash-teacher .card{color:var(--dash-ink)!important;border-color:#94a3b847!important;background:linear-gradient(180deg,#081022db,#080e1cbd)!important}.teacher-shell[data-ui-mode=dark] .dash-teacher .note,.teacher-shell[data-ui-mode=dark] .dash-teacher .session-item,.teacher-shell[data-ui-mode=dark] .dash-teacher .task-item,.teacher-shell[data-ui-mode=dark] .dash-teacher .chart-box{border-color:#94a3b83d!important;background:#081022bd!important}.teacher-shell[data-ui-mode=calm] .dash-teacher{--dash-ink: #1d2c47;--dash-muted: rgba(74, 94, 129, .86);--dash-border: rgba(67, 95, 146, .2);--dash-shadow: 0 16px 34px rgba(46, 74, 123, .14);color:var(--dash-ink);border-color:#435f922e;background:radial-gradient(960px 560px at 8% -12%,rgba(56,189,248,.18),transparent 60%),radial-gradient(980px 600px at 92% 0%,rgba(20,184,166,.14),transparent 60%),linear-gradient(180deg,#f8fcfff5,#ecf5fffa)!important}.teacher-shell[data-ui-mode=calm] .dash-teacher:before{opacity:.2;background:linear-gradient(transparent 95%,#435f921f 96%),linear-gradient(90deg,transparent 95%,rgba(67,95,146,.12) 96%);background-size:140px 140px}.teacher-shell[data-ui-mode=calm] .dash-teacher:after{opacity:.58;background:radial-gradient(circle,rgba(56,189,248,.2),transparent 70%)}.teacher-shell[data-ui-mode=calm] .dash-teacher .dash-title,.teacher-shell[data-ui-mode=calm] .dash-teacher h1,.teacher-shell[data-ui-mode=calm] .dash-teacher h2,.teacher-shell[data-ui-mode=calm] .dash-teacher h3{color:#1d2c47}.teacher-shell[data-ui-mode=calm] .dash-teacher .title-badge{color:#274777;border-color:#435f923d;background:#ffffffc7}.teacher-shell[data-ui-mode=calm] .dash-teacher .muted,.teacher-shell[data-ui-mode=calm] .dash-teacher .small-note,.teacher-shell[data-ui-mode=calm] .dash-teacher .task-meta,.teacher-shell[data-ui-mode=calm] .dash-teacher .task-stat,.teacher-shell[data-ui-mode=calm] .dash-teacher .session-meta,.teacher-shell[data-ui-mode=calm] .dash-teacher .chart-meta,.teacher-shell[data-ui-mode=calm] .dash-teacher .empty-chart{color:#4a5e81db!important}.teacher-shell[data-ui-mode=calm] .dash-teacher .card{color:var(--dash-ink)!important;border-color:#435f9233!important;background:linear-gradient(180deg,#ffffffeb,#f4f9ffe0)!important;box-shadow:0 16px 32px #2e4a7b24!important}.teacher-shell[data-ui-mode=calm] .dash-teacher .card:after{opacity:.65;background:radial-gradient(500px 140px at 20% 0%,rgba(56,189,248,.14),transparent 60%)}.teacher-shell[data-ui-mode=calm] .dash-teacher .note,.teacher-shell[data-ui-mode=calm] .dash-teacher .session-item,.teacher-shell[data-ui-mode=calm] .dash-teacher .task-item,.teacher-shell[data-ui-mode=calm] .dash-teacher .chart-box{color:var(--dash-ink)!important;border-color:#435f922e!important;background:#f8fcffe6!important}.teacher-shell[data-ui-mode=calm] .dash-teacher .chip,.teacher-shell[data-ui-mode=calm] .dash-teacher .pill,.teacher-shell[data-ui-mode=calm] .dash-teacher .badge{color:#173053;border-color:#435f923d;background:#ffffffdb}.teacher-shell[data-ui-mode=calm] .dash-teacher .btn,.teacher-shell[data-ui-mode=calm] .dash-teacher button.btn{color:#173053!important;border-color:#435f9247!important;background:#ffffffe6!important;box-shadow:0 10px 20px #2e4a7b1f,inset 0 1px #ffffffe6!important}.teacher-shell[data-ui-mode=calm] .dash-teacher .btn:hover,.teacher-shell[data-ui-mode=calm] .dash-teacher button.btn:hover{border-color:#2563eb6b!important;background:#fffffffa!important}.teacher-shell[data-ui-mode=calm] .dash-teacher .btn.primary{color:#f8fbff!important;background:linear-gradient(135deg,#0e74d6e6,#38bdf8bd)!important;border-color:#0e74d6a3!important}.dash-admin{--dash-ink: #0f172a;--dash-muted: #5b6474;--dash-card: #ffffff;--dash-card-2: #f6f8fb;--dash-border: rgba(15, 23, 42, .08);--dash-accent: #0ea5a4;--dash-accent-2: #f59e0b;--dash-accent-3: #2563eb;--dash-success: #16a34a;--dash-danger: #e11d48;--dash-shadow: 0 20px 50px rgba(15, 23, 42, .08);--dash-radius: 22px;--dash-font: "Sora", "Space Grotesk", "Noto Sans Arabic", sans-serif;--dash-serif: "Fraunces", "Noto Serif", serif;padding:24px;border:none;background:radial-gradient(900px 480px at 8% -10%,rgba(14,165,164,.12),transparent 60%),radial-gradient(900px 480px at 92% 0%,rgba(245,158,11,.14),transparent 60%),linear-gradient(180deg,#f7f3ed,#eef2f6);box-shadow:none}.dash-admin:before{background:linear-gradient(120deg,rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(300deg,rgba(15,23,42,.04) 1px,transparent 1px);background-size:140px 140px;opacity:.35}.dash-admin:after{inset:-120px auto auto -60px;width:280px;height:280px;background:radial-gradient(circle,rgba(14,165,164,.16),transparent 70%);opacity:.8}.dash-admin .dash-hero{border:none;border-radius:28px;padding:26px 28px;color:#f8fafc;background:radial-gradient(240px 160px at 78% 15%,rgba(14,165,164,.45),transparent 70%),linear-gradient(120deg,#0f172a,#1e293b 45%,#0b1120);box-shadow:0 26px 60px #0f172a40}.dash-admin .dash-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;align-items:center}.dash-admin .dash-hero-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#ffffff24;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.dash-admin .dash-hero-title{margin:10px 0 6px;font-family:var(--dash-serif);font-size:clamp(1.8rem,2.6vw + 1rem,2.7rem)}.dash-admin .dash-hero-sub{max-width:520px;color:#f8fafcd1}.dash-admin .dash-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.dash-admin .dash-hero-time{font-size:.85rem;color:#f8fafcad}.dash-admin .dash-hero-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.dash-admin .dash-hero-stat{padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:#0f172a59;display:grid;gap:4px}.dash-admin .dash-hero-stat-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#f8fafc99}.dash-admin .dash-hero-stat-value{font-size:1.1rem;font-weight:700;color:#fff}.dash-admin .dash-hero-art{position:relative;min-height:170px}.dash-admin .dash-hero-ring{position:absolute;right:12%;top:-8%;width:150px;height:150px;border-radius:50%;border:2px solid rgba(255,255,255,.28);box-shadow:inset 0 0 40px #ffffff14}.dash-admin .dash-hero-panel{position:absolute;right:4%;bottom:6%;width:210px;height:120px;border-radius:22px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 40px #0f172a40;transform:rotate(-4deg)}.dash-admin .dash-hero-panel.mini{width:120px;height:72px;right:42%;bottom:0;transform:rotate(6deg)}.dash-admin .btn.primary{background:linear-gradient(135deg,#0ea5a4e6,#2563ebe6);border-color:#0ea5a459}.dash-admin .card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--dash-border);box-shadow:var(--dash-shadow);backdrop-filter:none;-webkit-backdrop-filter:none}.dash-admin .card:after{background:radial-gradient(420px 120px at 20% 0%,rgba(15,23,42,.05),transparent 60%)}.dash-admin .kpi-card{text-align:left}.dash-admin .kpi-icon{background:linear-gradient(140deg,var(--kpi-accent, #0ea5a4),rgba(255,255,255,.9));color:#fff;border:none;box-shadow:0 12px 24px #0f172a24}.dash-admin .grid-4 .kpi-card:nth-child(1){--kpi-accent: #0ea5a4}.dash-admin .grid-4 .kpi-card:nth-child(2){--kpi-accent: #2563eb}.dash-admin .grid-4 .kpi-card:nth-child(3){--kpi-accent: #f59e0b}.dash-admin .grid-4 .kpi-card:nth-child(4){--kpi-accent: #16a34a}.dash-admin .grid-3 .kpi-card:nth-child(1){--kpi-accent: #0ea5a4}.dash-admin .grid-3 .kpi-card:nth-child(2){--kpi-accent: #f59e0b}.dash-admin .grid-3 .kpi-card:nth-child(3){--kpi-accent: #2563eb}.dash-admin .chip,.dash-admin .pill{background:#f8fafc;border:1px solid rgba(15,23,42,.08)}.dash-admin .progress{background:#eef2f6;border-color:#0f172a14}.dash-admin .progress-bar{background:linear-gradient(90deg,#16a34a,#0ea5a4)}.dash-admin .chart-box{background:linear-gradient(180deg,#f8fafc,#eef2f6);border:1px solid rgba(15,23,42,.08)}.dash-admin .table th{color:var(--dash-muted)}.dash-admin .table.nice tbody tr:hover{background:#0f172a0a}.dash-admin .note{background:#f8fafc;border:1px solid rgba(15,23,42,.08)}.dash-admin .card,.dash-admin .note,.dash-admin .chip,.dash-admin .pill,.dash-admin .chart-box,.dash-admin .progress,.dash-admin .table td{color:var(--dash-ink)}.dash-admin .muted,.dash-admin .kpi-label,.dash-admin .kpi-foot,.dash-admin .stat-label,.dash-admin .task-meta,.dash-admin .task-stat,.dash-admin .session-meta,.dash-admin .chart-meta,.dash-admin .dash-hero-time{color:var(--dash-muted)!important}.dash-admin .dash-hero,.dash-admin .dash-hero .dash-hero-title,.dash-admin .dash-hero .dash-hero-sub,.dash-admin .dash-hero .dash-hero-time,.dash-admin .dash-hero .dash-hero-stat-label,.dash-admin .dash-hero .dash-hero-stat-value{color:#f8fafc!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin{--dash-ink: #e6efff;--dash-muted: rgba(187, 203, 229, .84);--dash-border: rgba(148, 163, 184, .3);--dash-shadow: 0 24px 56px rgba(2, 8, 20, .46);border-color:#94a3b838;background:radial-gradient(920px 520px at 8% -10%,rgba(37,99,235,.24),transparent 62%),radial-gradient(920px 520px at 92% 0%,rgba(20,184,166,.2),transparent 62%),linear-gradient(180deg,#080f1efa,#040914fa)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin:before{opacity:.26}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin:after{opacity:.6;background:radial-gradient(circle,rgba(56,189,248,.22),transparent 70%)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .dash-hero{border-color:#94a3b84d;background:radial-gradient(260px 170px at 78% 15%,rgba(56,189,248,.32),transparent 72%),linear-gradient(120deg,#0b152c,#102246 45%,#10354a);box-shadow:0 26px 60px #02081480}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .dash-hero-stat{border-color:#94a3b852;background:#0710228c}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .card{border-color:#94a3b83d;background:linear-gradient(180deg,#0a142aeb,#081022d1);box-shadow:var(--dash-shadow)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .card:after{background:radial-gradient(420px 120px at 20% 0%,rgba(56,189,248,.14),transparent 60%)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .chip,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .pill{color:#e6efff;border-color:#94a3b847;background:#091122ad}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .progress{border-color:#94a3b842;background:#050b18c7}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .chart-box,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .note{border-color:#94a3b83d;background:#081022bd}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .table th{color:#bbcbe5e6;background:#0a162ceb}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .table td{border-bottom-color:#94a3b838}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .dash-admin .table.nice tbody tr:hover{background:#38bdf81f}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin{--dash-ink: #1d2d48;--dash-muted: rgba(74, 94, 129, .86);--dash-border: rgba(67, 95, 146, .2);--dash-shadow: 0 18px 38px rgba(46, 74, 123, .14);border-color:#435f9229;background:radial-gradient(920px 520px at 8% -10%,rgba(56,189,248,.18),transparent 60%),radial-gradient(920px 520px at 92% 0%,rgba(20,184,166,.16),transparent 60%),linear-gradient(180deg,#f8fbff,#edf4ff)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin:before{opacity:.22}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin:after{opacity:.52}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .dash-hero{border-color:#7ea9f747;background:radial-gradient(260px 170px at 78% 15%,rgba(56,189,248,.34),transparent 72%),linear-gradient(120deg,#12325d,#1a3f73 45%,#0f5e7a);box-shadow:0 24px 52px #2e4a7b42}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .dash-hero-stat{border-color:#ffffff47;background:#09162d57}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .card{border-color:#435f9233;background:linear-gradient(180deg,#fffffff2,#f4f9ffeb);box-shadow:var(--dash-shadow)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .card:after{background:radial-gradient(420px 120px at 20% 0%,rgba(56,189,248,.14),transparent 60%)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .chip,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .pill{border-color:#435f923d;background:#ffffffd6}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .progress{border-color:#435f9233;background:#e6f0ffc7}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .chart-box,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .note{border-color:#435f9233;background:#f8fcffe6}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .table th{color:#4a5e81e6;background:#eff6fff5}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .dash-admin .table td{border-bottom-color:#435f922e}@media (max-width: 980px){.dash-admin .dash-hero-grid{grid-template-columns:1fr}.dash-admin .dash-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.dash-admin .dash-hero-art{display:none}.dash-admin .dash-hero-kpis{grid-template-columns:1fr}}.dash-mobile{--dash-ink: #0f172a;--dash-muted: #667085;--dash-card: #ffffff;--dash-card-2: #f8fafc;--dash-border: rgba(148, 163, 184, .25);--dash-accent: #3b82f6;--dash-accent-2: #6366f1;--dash-accent-3: #f59e0b;--dash-success: #22c55e;--dash-danger: #ef4444;--dash-shadow: 0 18px 50px rgba(15, 23, 42, .08);--dash-radius: 26px;--dash-font: "Nunito", "Noto Sans Arabic", sans-serif;--dash-serif: "Sora", "Noto Sans Arabic", sans-serif;padding:22px;border:none;background:radial-gradient(700px 360px at 18% -10%,rgba(99,102,241,.18),transparent 60%),radial-gradient(700px 360px at 82% 0%,rgba(59,130,246,.16),transparent 60%),linear-gradient(180deg,#f8fafc,#eef2ff);box-shadow:none}.dash-mobile:before{background:radial-gradient(500px 240px at 0% 10%,rgba(59,130,246,.12),transparent 70%),radial-gradient(520px 260px at 100% 20%,rgba(99,102,241,.1),transparent 70%);background-size:auto;opacity:1}.dash-mobile:after{inset:-100px auto auto -60px;width:220px;height:220px;background:radial-gradient(circle,rgba(59,130,246,.18),transparent 70%);opacity:.8}.dash-mobile .card{background:#fff;border:1px solid #e7edf5;box-shadow:0 16px 40px #0f172a14;backdrop-filter:none;-webkit-backdrop-filter:none}.dash-mobile .dash-hero{border:none;border-radius:28px;padding:26px;color:#fff;background:linear-gradient(120deg,#0f172a40,#0f172a0d),linear-gradient(135deg,#1d4ed8,#4338ca);box-shadow:0 24px 60px #3b82f647;animation:dash-pop .6s ease both}.dash-mobile .dash-hero-content{max-width:none}.dash-mobile .dash-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:center}.dash-mobile .dash-hero-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#ffffff2e;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase}.dash-mobile .dash-hero-title{margin:12px 0 6px;font-family:var(--dash-serif);font-size:clamp(1.7rem,2.4vw + 1rem,2.6rem)}.dash-mobile .dash-hero-sub{max-width:420px;color:#ffffffdb}.dash-mobile .dash-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.dash-mobile .dash-hero-time{font-size:.85rem;color:#ffffffc2}.dash-mobile .dash-hero .btn{background:#ffffff2e;border-color:#fff6;color:#fff}.dash-mobile .dash-hero .btn:hover{background:#ffffff47}.dash-mobile .dash-hero-art{position:relative;min-height:160px}.dash-mobile .dash-hero-orb{position:absolute;right:10%;top:-12%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fffc,#ffffff14 60%);opacity:.75;animation:dash-float 6s ease-in-out infinite}.dash-mobile .dash-hero-card{position:absolute;right:6%;bottom:6%;width:190px;height:120px;border-radius:22px;background:#ffffff2e;border:1px solid rgba(255,255,255,.32);box-shadow:0 18px 40px #0f172a40;transform:rotate(-4deg)}.dash-mobile .dash-hero-card.mini{width:120px;height:74px;right:42%;bottom:0;transform:rotate(8deg)}.dash-mobile .dash-mobile-sections{display:grid;gap:20px;margin-top:18px}.dash-mobile .dash-section-title{margin:0 0 10px;font-family:var(--dash-serif);font-size:1.15rem;color:var(--dash-ink)}.dash-mobile .dash-section-head{display:flex;align-items:center;justify-content:space-between}.dash-mobile .dash-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-mobile .dash-tile{--tile-accent: #4f46e5;--tile-soft: #eef2ff;border-radius:22px;border:1px solid #e3e8ff;background:var(--tile-soft);padding:16px 12px;display:grid;justify-items:center;gap:10px;text-align:center;color:var(--dash-ink);font-weight:700;box-shadow:0 14px 30px #0f172a14;animation:dash-pop .5s ease both;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dash-mobile .dash-tile:hover{transform:translateY(-2px);border-color:#3b82f666;box-shadow:0 18px 38px #0f172a24}.dash-mobile .dash-tile-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--tile-accent),rgba(255,255,255,.8));color:#fff;box-shadow:0 12px 25px #0f172a2e}.dash-mobile .dash-tile-label{font-size:.92rem}.dash-mobile .dash-tile.tone-indigo{--tile-accent: #4f46e5;--tile-soft: #eef2ff}.dash-mobile .dash-tile.tone-gold{--tile-accent: #f59e0b;--tile-soft: #fff7ed}.dash-mobile .dash-tile.tone-teal{--tile-accent: #14b8a6;--tile-soft: #f0fdfa}.dash-mobile .dash-tile.tone-violet{--tile-accent: #7c3aed;--tile-soft: #f5f3ff}.dash-mobile .dash-tile.tone-sky{--tile-accent: #0ea5e9;--tile-soft: #eff6ff}.dash-mobile .dash-tile.tone-mint{--tile-accent: #22c55e;--tile-soft: #ecfdf3}.dash-mobile .dash-tile.tone-emerald{--tile-accent: #16a34a;--tile-soft: #ecfdf3}.dash-mobile .dash-tile.tone-rose{--tile-accent: #f43f5e;--tile-soft: #fff1f2}.dash-mobile .dash-tile.tone-slate{--tile-accent: #64748b;--tile-soft: #f1f5f9}.dash-mobile .dash-tile.tone-amber{--tile-accent: #f97316;--tile-soft: #fff7ed}.dash-mobile .dash-tile.tone-ocean{--tile-accent: #2563eb;--tile-soft: #eff6ff}.dash-mobile .dash-tile.tone-plum{--tile-accent: #a855f7;--tile-soft: #faf5ff}.dash-mobile .grid-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:18px}.dash-mobile .kpi-card{--kpi-accent: #4f46e5;text-align:left}.dash-mobile .kpi-icon{background:linear-gradient(140deg,var(--kpi-accent),rgba(255,255,255,.85));color:#fff;box-shadow:0 12px 24px #0f172a26}.dash-mobile .kpi-card.tone-indigo{--kpi-accent: #4f46e5}.dash-mobile .kpi-card.tone-sky{--kpi-accent: #0ea5e9}.dash-mobile .kpi-card.tone-amber{--kpi-accent: #f59e0b}.dash-mobile .kpi-card.tone-mint{--kpi-accent: #22c55e}.dash-mobile .chip,.dash-mobile .pill{background:#f1f5ff;border:1px solid #e2e8f0}.dash-mobile .progress{background:#eef2ff;border-color:#e2e8f0}.dash-mobile .progress-bar{background:linear-gradient(90deg,#22c55e,#3b82f6)}.dash-mobile .chart-box{background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #e2e8f0}.dash-mobile .table th{background:#f8fafc}@media (max-width: 980px){.dash-mobile .dash-hero-grid{grid-template-columns:1fr}.dash-mobile .dash-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.dash-mobile .dash-tile-grid{grid-template-columns:1fr}.dash-mobile .dash-hero-art{display:none}}@keyframes dash-pop{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dash-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (prefers-reduced-motion: reduce){.dash-mobile .dash-hero,.dash-mobile .dash-tile,.dash-mobile .dash-hero-orb{animation:none}.dash-mobile .dash-tile:hover{transform:none}}.elim{display:flex;flex-direction:column;gap:14px}.elim-hero{position:relative;overflow:hidden;padding:18px;border-radius:22px;background:radial-gradient(900px 300px at 20% 0%,rgba(124,58,237,.22),transparent 60%),radial-gradient(700px 280px at 80% 10%,rgba(34,211,238,.16),transparent 60%),linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 55px #00000052}.elim-heroTop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.elim-title{font-size:34px;font-weight:950;letter-spacing:.2px}.elim-sub{margin-top:6px;font-weight:700}.elim-tabs{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.elim-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#ffffffe0;padding:9px 14px;border-radius:999px;cursor:pointer;font-weight:900;transition:.18s ease;box-shadow:inset 0 1px #ffffff14}.elim-tab:hover{transform:translateY(-1px);background:#ffffff14;border-color:#fff3}.elim-tab.active{background:linear-gradient(135deg,#7c3aed99,#3b82f640);border-color:#7c3aeda6;box-shadow:0 16px 34px #7c3aed29}.elim-toolbar{margin-top:14px;display:grid;grid-template-columns:1fr 160px auto auto;gap:12px;align-items:end;padding:14px;border-radius:18px;background:#00000029;border:1px solid rgba(255,255,255,.1)}.elim-field{display:flex;flex-direction:column;gap:6px}.elim-label{font-size:12px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;color:#ffffff9e}.elim-input{width:100%;height:42px;border-radius:var(--input-radius);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);padding:0 12px;outline:none;box-shadow:var(--input-shadow);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.elim-input:hover{border-color:var(--input-hover-border);background:var(--input-hover-bg)}.elim-input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.elim-input:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.elim-input:disabled{opacity:.6;cursor:not-allowed;background:#080a1273;box-shadow:none}.elim-right{justify-self:end;padding-bottom:10px}.elim-tableCard{padding:16px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff0d,#ffffff05);box-shadow:0 18px 55px #0000004d}.elim-table thead th{position:sticky;top:0;z-index:1;background:#0a10228c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.elim-row{cursor:pointer;transition:.16s ease}.elim-row:hover{background:#ffffff0a}.elim-row.ok td{border-bottom-color:#ffffff0f}.elim-row.warn td{box-shadow:inset 3px 0 #eab3088c}.elim-row.danger td{box-shadow:inset 3px 0 #ef44448c}.elim-studentName{font-weight:950}.elim-studentEmail{font-size:12px}.elim-chip{display:inline-grid;place-items:center;min-width:38px;height:28px;padding:0 10px;border-radius:999px;font-weight:950;border:1px solid rgba(255,255,255,.14);background:#ffffff0f}.elim-chip.ok{border-color:#22d3ee59}.elim-chip.warn{border-color:#eab30873}.elim-chip.danger{border-color:#ef444473}.elim-hint{margin-top:10px;font-size:12px;opacity:.85}.elim-modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.elim-modal{width:min(980px,100%);max-height:min(86vh,900px);overflow:auto;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(900px 350px at 20% 0%,rgba(124,58,237,.22),transparent 65%),linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:0 30px 90px #0000008c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:16px}.elim-modalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}.elim-modalTitle{font-size:20px;font-weight:950}.elim-modalSub{margin-top:4px;font-weight:800;color:#ffffffc7}.elim-modalGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.elim-kv{border:1px solid rgba(255,255,255,.1);background:#00000024;border-radius:18px;padding:12px;box-shadow:inset 0 1px #ffffff14}.elim-k{font-size:12px;font-weight:950;letter-spacing:.4px;text-transform:uppercase;color:#ffffff9e;margin-bottom:8px}.elim-v{font-weight:800}.elim-kv.wide{grid-column:1 / -1}.elim-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.elim-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;font-weight:900}.elim-pill.ghost{background:#0000001a}.elim-json{margin:0;padding:12px;border-radius:16px;background:#00000038;border:1px solid rgba(255,255,255,.1);overflow:auto;font-size:12px;line-height:1.5;color:#ffffffe0}@media (max-width: 980px){.elim-toolbar{grid-template-columns:1fr 140px auto}.elim-right{grid-column:1 / -1;justify-self:start;padding-bottom:0}.elim-modalGrid{grid-template-columns:1fr}}.mobile-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobile-design-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:#ffffff0a;text-align:left;color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.mobile-design-option:hover{transform:translateY(-1px);border-color:var(--primary)}.mobile-design-option.active{border-color:var(--primary);box-shadow:0 0 0 2px #7c3aed33}.mobile-design-title{font-weight:800;font-family:Fraunces,"Noto Serif",serif}.mobile-preview-art{margin-top:10px;border-radius:12px;border:1px dashed var(--border);background:#00000026;padding:8px;display:grid;gap:6px;height:120px}.mobile-preview-cards{grid-auto-rows:1fr}.mobile-preview-card{height:18px;border-radius:8px;background:#7c3aed2e}.mobile-preview-card.alt{background:#22c55e2e}.mobile-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}.mobile-preview-grid .cell{height:18px;border-radius:6px;background:#ffffff0d;border:1px solid var(--border)}.mobile-bg-preview{margin-top:10px;border-radius:12px;border:1px solid var(--border);height:80px;background:var(--preview-bg, #f4f6fa)}.mobile-hero-preview{margin-top:10px;border-radius:12px;overflow:hidden;border:1px solid var(--border);height:120px;background:#0003;display:grid;place-items:center;color:var(--muted);font-size:.85rem}.mobile-hero-preview img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 980px){.mobile-design-grid{grid-template-columns:1fr}}.interface-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.interface-section-head .note.inline{margin-top:0;padding:6px 12px;border-radius:999px;background:#ffffff14;font-size:.85rem;color:var(--muted)}.interface-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.interface-card{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff09;padding:14px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.interface-card:after{content:"";position:absolute;inset:auto -40% -60% -40%;height:120px;background:radial-gradient(circle at center,rgba(124,58,237,.18),transparent 70%);opacity:0;transition:opacity .2s ease;pointer-events:none}.interface-card:hover:after{opacity:1}.interface-card.disabled{border-color:#ef444459}.interface-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.interface-title{font-weight:800}.interface-desc{color:var(--muted);font-size:.9rem}.status-pill{padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:.75rem;font-weight:700;background:#ffffff0d;text-transform:uppercase;letter-spacing:.4px}.status-pill.active{color:#22c55e;border-color:#22c55e66;background:#22c55e2e}.status-pill.off{color:#f87171;border-color:#ef444466;background:#ef444429}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{width:48px;height:26px;border-radius:999px;border:1px solid var(--border);background:#ffffff14;position:relative;transition:background .2s ease,border-color .2s ease}.toggle-thumb{width:20px;height:20px;border-radius:50%;background:#ffffffe6;position:absolute;top:2px;left:2px;transition:transform .2s ease,background .2s ease}.toggle input:checked+.toggle-track{background:#22c55e4d;border-color:#22c55e80}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(22px);background:#fff}.toggle-label{color:var(--muted);font-size:.9rem}.toggle:hover .toggle-label{color:var(--text)}.maintenance-card{display:flex;flex-direction:column;gap:12px}.maintenance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.maintenance-message{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.9rem}.interface-textarea{min-height:110px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0000002e;color:var(--text);resize:vertical;font-family:inherit}.interface-textarea:focus{outline:none;border-color:#7c3aed8c;box-shadow:0 0 0 3px #7c3aed33}.maintenance-preview{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:240px}.maintenance-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 120% at 20% 20%,rgba(124,58,237,.2),transparent 55%),radial-gradient(120% 120% at 90% 10%,rgba(59,130,246,.18),transparent 55%),#0003}.maintenance-preview-inner{position:relative;z-index:1;padding:18px;border-radius:16px;border:1px solid var(--border);background:#ffffff0d;max-width:340px;text-align:left}.maintenance-preview-title{font-weight:800;margin-bottom:8px}.maintenance-preview-message{color:var(--muted);line-height:1.6;font-size:.9rem}.page-access-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.page-access-card{display:flex;flex-direction:column;gap:12px}.page-access-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-access-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.page-access-count{padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:.75rem;font-weight:700;color:var(--muted)}.page-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-toggle{justify-content:space-between;border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:#ffffff0a}.page-toggle .toggle-label{flex:1}.page-state{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.page-state.on{color:#22c55e}.page-state.off{color:#f87171}@media (max-width: 1100px){.interface-grid,.page-access-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.page-access-grid{grid-template-columns:1fr}}@media (max-width: 740px){.interface-grid,.page-access-stack{grid-template-columns:1fr}}:root{--bg0: #070b16;--bg1: #070a12;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .62);--card: rgba(255, 255, 255, .055);--card2: rgba(255, 255, 255, .03);--glass: rgba(12, 14, 26, .68);--border: rgba(255, 255, 255, .1);--border2: rgba(255, 255, 255, .16);--radius: 16px;--radius2: 22px;--primary: #7c5cff;--primary2: #4fd1ff;--success: #2ee59d;--danger: #ff4d6d;--warning: #ffc857;--shadow: 0 18px 55px rgba(0, 0, 0, .45);--shadow2: 0 10px 35px rgba(0, 0, 0, .35);--ring: 0 0 0 4px rgba(124, 92, 255, .22);--font: "Space Grotesk", "Segoe UI", system-ui, -apple-system, sans-serif;--surface: rgba(18, 21, 36, .82);--surface2: rgba(13, 18, 32, .7);--gradient-iris: linear-gradient( 135deg, rgba(124, 92, 255, .5), rgba(79, 209, 255, .38) );--input-radius: 14px;--input-bg: linear-gradient( 180deg, rgba(18, 21, 36, .78), rgba(10, 12, 20, .92) );--input-border: rgba(255, 255, 255, .16);--input-text: var(--text);--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 26px rgba(0, 0, 0, .28);--input-hover-bg: linear-gradient( 180deg, rgba(20, 24, 40, .82), rgba(12, 14, 22, .95) );--input-hover-border: rgba(255, 255, 255, .24);--input-focus-border: rgba(124, 92, 255, .72);--input-focus-shadow: var(--ring), 0 16px 36px rgba(2, 6, 23, .45), inset 0 1px 0 rgba(255, 255, 255, .12);--input-placeholder: rgba(255, 255, 255, .42);--input-arrow: rgba(255, 255, 255, .72)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 700px at 15% 10%,rgba(124,92,255,.22),transparent 55%),radial-gradient(900px 600px at 85% 20%,rgba(79,209,255,.18),transparent 60%),radial-gradient(900px 700px at 50% 90%,rgba(46,229,157,.1),transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));overflow-x:hidden}.page{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:18px 18px 26px}.page:before{content:"";position:fixed;top:-120px;right:-120px;bottom:-120px;left:-120px;pointer-events:none;z-index:0;background:radial-gradient(800px 420px at 10% 10%,rgba(124,92,255,.18),transparent 60%),radial-gradient(720px 460px at 90% 20%,rgba(79,209,255,.14),transparent 60%),radial-gradient(760px 520px at 50% 95%,rgba(46,229,157,.1),transparent 60%);filter:blur(18px);opacity:.9;animation:auroraMove 12s ease-in-out infinite alternate}@keyframes auroraMove{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-18px,14px,0) scale(1.02)}}.page>*{position:relative;z-index:1}.muted{color:var(--muted)}.small{font-size:12.5px}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}hr.sep{border:0;height:1px;background:var(--border);margin:14px 0}.page h1{margin:0;font-size:26px;letter-spacing:-.02em}.page h3{margin:0;font-size:16px;letter-spacing:-.01em}.users-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:6px 2px 4px}.title-row{display:flex;align-items:center;gap:10px}.title-badge{padding:6px 10px;border-radius:12px;background:var(--gradient-iris);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 24px #00000047}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.filters-card{background:linear-gradient(135deg,#7c5cff1a,#4fd1ff0f);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px #00000047}.filters-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.filters-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.field-label{color:#ffffffc7;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-weight:800}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{position:relative;border-radius:var(--radius2);padding:14px;background:linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:var(--shadow2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,#7c5cff8c,#4fd1ff61,#2ee59d40,#ffffff14);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none}.card:after{content:"";position:absolute;left:14px;right:14px;top:10px;height:2px;border-radius:999px;background:linear-gradient(90deg,#7c5cff00,#7c5cffb3,#4fd1ffa6,#2ee59d73,#7c5cff00);filter:blur(.2px);opacity:.7;pointer-events:none}.card:hover{box-shadow:0 18px 55px #00000061}.kpi{display:flex;flex-direction:column;gap:6px}.kpi-label{color:#ffffffa6;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.kpi-value{font-size:32px;font-weight:950;letter-spacing:-.02em;line-height:1.05}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#00000029;color:#ffffffe0;font-weight:850;box-shadow:0 10px 22px #0000002e}.stat{border-radius:var(--radius2);padding:14px;background:#ffffff0a;border:1px solid var(--border);box-shadow:0 8px 24px #0000002e}.stat-label{color:var(--muted);font-size:.9rem}.stat-value{font-size:1.7rem;font-weight:950;margin-top:6px}.note{margin-top:10px;padding:12px;border-radius:16px;border:1px solid var(--border);background:#ffffff08;color:var(--muted);line-height:1.7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.input{width:100%;border-radius:var(--input-radius);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);padding:12px 14px;outline:none;box-shadow:var(--input-shadow);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.input::placeholder{color:var(--input-placeholder)}.input:hover{border-color:var(--input-hover-border);background:var(--input-hover-bg)}.input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.input:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.input:disabled{opacity:.6;cursor:not-allowed;background:#080a1273;box-shadow:none}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:38px}.btn{position:relative;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text);padding:10px 12px;border-radius:14px;cursor:pointer;font-weight:950;letter-spacing:.01em;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,opacity .12s ease;overflow:hidden}.btn:hover{transform:translateY(-1px);border-color:#ffffff2e;background:#ffffff17;box-shadow:0 12px 30px #0000004d}.btn:active{transform:translateY(0);opacity:.95}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn.small{padding:8px 10px;border-radius:12px;font-size:12.5px}.btn.secondary{background:#ffffff0a}.btn.ghost{background:transparent;border-color:#ffffff1a}.btn.ghost:hover{background:#ffffff0f}.btn.danger{border-color:#ff4d6d6b;background:linear-gradient(180deg,#ff4d6d47,#ff4d6d24)}.btn.danger:hover{border-color:#ff4d6dbf;box-shadow:0 16px 40px #ff4d6d24}.btn.primary{border-color:#7c5cff8c;background:linear-gradient(180deg,#7c5cff52,#7c5cff29);box-shadow:0 14px 34px #7c5cff2e}.btn.primary:before{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;background:radial-gradient(circle at 30% 30%,rgba(79,209,255,.28),transparent 55%),radial-gradient(circle at 70% 70%,rgba(124,92,255,.3),transparent 60%);filter:blur(18px);opacity:.6;animation:halo 2.8s ease-in-out infinite alternate;pointer-events:none}.btn.primary:after{content:"";position:absolute;top:-40%;left:-60%;width:60%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(20deg);animation:shine 2.9s ease-in-out infinite;pointer-events:none}@keyframes halo{0%{transform:translateZ(0) scale(1);opacity:.45}to{transform:translate3d(6px,-4px,0) scale(1.03);opacity:.75}}@keyframes shine{0%{transform:translate(0) rotate(20deg);opacity:0}20%{opacity:1}50%{opacity:.85}to{transform:translate(220%) rotate(20deg);opacity:0}}.tabs{display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;border:1px solid var(--border);background:#ffffff08}.tab{border:1px solid transparent;background:transparent;color:#ffffffb3;padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:950;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.tab:hover{background:#ffffff0f;transform:translateY(-1px)}.tab.active{color:var(--text);border-color:#7c5cff8c;background:linear-gradient(90deg,#7c5cff42,#4fd1ff29,#7c5cff2e);position:relative;overflow:hidden}.tab.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translate(-120%);animation:tabShine 2.6s ease-in-out infinite;pointer-events:none}@keyframes tabShine{0%{transform:translate(-120%);opacity:0}20%{opacity:1}to{transform:translate(120%);opacity:0}}.user-cell{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;letter-spacing:.01em;color:#fff;background:linear-gradient(135deg,#5b8def,#b750ff);box-shadow:0 12px 30px #00000047;border:1px solid rgba(255,255,255,.12)}.user-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-weight:900;font-size:15px;letter-spacing:-.01em}.user-meta .muted{color:#ffffffb3}.wrap-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:320px}.mono{font-family:Space Grotesk,SFMono-Regular,ui-monospace,monospace;letter-spacing:.03em;color:#ffffffd1}.badge{--badge-dot: var(--primary);--badge-shadow: rgba(124, 92, 255, .18);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.14);background:linear-gradient(120deg,#ffffff14,#ffffff08);color:#e9ecf4;box-shadow:0 12px 28px #00000040}.badge:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--badge-dot);box-shadow:0 0 0 6px var(--badge-shadow)}.badge-success{--badge-dot: #2ee59d;--badge-shadow: rgba(46, 229, 157, .22);border-color:#2ee59d59;background:linear-gradient(135deg,#2ee59d29,#2ee59d0f)}.badge-danger{--badge-dot: #ff6b6b;--badge-shadow: rgba(255, 107, 107, .24);border-color:#ff6b6b59;background:linear-gradient(135deg,#ff6b6b29,#ff6b6b0f)}.badge-neutral{--badge-dot: #4fd1ff;--badge-shadow: rgba(79, 209, 255, .22);border-color:#4fd1ff52;background:linear-gradient(135deg,#4fd1ff2e,#4fd1ff0d)}.table-wrap{overflow:auto;margin-top:10px;max-width:100%;min-width:0;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,#6a60f638,#0c1220e6);box-shadow:0 26px 60px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;color:var(--text)}.table th,.table td{padding:14px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap}.table th{color:#fffc;font-weight:800;letter-spacing:.08em;text-transform:uppercase;position:sticky;top:0;background:linear-gradient(180deg,#141a2cf0,#0c1020e0);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1}.table tbody tr{transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.table tbody tr:hover{background:linear-gradient(90deg,#7c5cff29,#4fd1ff14);transform:translateY(-1px);box-shadow:0 14px 32px #00000047}.table tbody tr:nth-child(2n){background:#ffffff05}.table-nice thead th{border-bottom:1px solid rgba(255,255,255,.14)}.table-nice tbody tr{background:linear-gradient(90deg,#ffffff0a,#ffffff05);border-bottom:1px solid rgba(255,255,255,.06)}.table-nice tbody td{color:#e9ecf4f0}.table td .row{gap:8px;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .14s ease both}.modal-card{border-radius:22px;padding:14px;background:linear-gradient(180deg,#101222f0,#0a0c18e0);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);max-height:calc(100vh - 40px);overflow:auto;animation:popIn .14s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:translateY(8px) scale(.99);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}@media (max-width: 980px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.table{min-width:760px}}@media (prefers-reduced-motion: reduce){.page:before,.btn.primary:before,.btn.primary:after,.tab.active:after{animation:none!important}}:root{--wow-bg0: #070a12;--wow-bg1: #0a1021;--wow-card: rgba(255, 255, 255, .07);--wow-card2: rgba(255, 255, 255, .1);--wow-stroke: rgba(255, 255, 255, .12);--wow-stroke2: rgba(255, 255, 255, .18);--wow-text: rgba(255, 255, 255, .92);--wow-muted: rgba(255, 255, 255, .68);--wow-radius: 18px;--wow-radius2: 24px;--wow-shadow: 0 18px 60px rgba(0, 0, 0, .45);--wow-primary: #7c3aed;--wow-primary2: #3b82f6;--wow-success: #22c55e;--wow-danger: #ef4444;--wow-warn: #f59e0b;--input-radius: 14px;--input-bg: linear-gradient(180deg, rgba(12, 16, 28, .72), rgba(8, 10, 18, .92));--input-border: rgba(255, 255, 255, .16);--input-text: var(--wow-text);--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 26px rgba(0, 0, 0, .28);--input-hover-bg: linear-gradient(180deg, rgba(16, 20, 36, .76), rgba(9, 12, 20, .95));--input-hover-border: rgba(255, 255, 255, .24);--input-focus-border: rgba(124, 58, 237, .7);--input-focus-shadow: 0 0 0 3px rgba(124, 58, 237, .22), 0 18px 40px rgba(2, 6, 23, .45), inset 0 1px 0 rgba(255, 255, 255, .12);--input-placeholder: rgba(255, 255, 255, .45);--input-arrow: rgba(255, 255, 255, .7)}:root{--border: var(--wow-stroke);--radius: var(--wow-radius);--muted: var(--wow-muted)}.page{min-width:0;color:var(--wow-text);display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:var(--wow-radius);background:radial-gradient(1200px 500px at 18% -10%,rgba(124,58,237,.35),transparent 60%),radial-gradient(900px 420px at 82% 0%,rgba(34,197,94,.23),transparent 60%),radial-gradient(1000px 600px at 50% 110%,rgba(59,130,246,.18),transparent 62%),linear-gradient(180deg,var(--wow-bg0),var(--wow-bg1))}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}h1,h2,h3{color:var(--wow-text)}.card{border-radius:var(--wow-radius2);border:1px solid var(--wow-stroke);background:linear-gradient(180deg,#ffffff14,#ffffff0d);box-shadow:var(--wow-shadow);padding:16px;min-width:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.muted{color:var(--wow-muted)}.small{font-size:13px}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.input,input,select,textarea{border-radius:var(--input-radius);padding:12px 14px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);outline:none;box-shadow:var(--input-shadow);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease,transform .15s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.input:hover,input:hover,select:hover,textarea:hover{border-color:var(--input-hover-border);background:var(--input-hover-bg)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--input-placeholder)}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.input:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.input:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background:#0000004d;box-shadow:none}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:40px}.btn,button.btn{border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--wow-text);padding:10px 12px;border-radius:12px;font-weight:900;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px);background:#ffffff17}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{border-color:#7c3aed8c;background:linear-gradient(135deg,#7c3aedf2,#3b82f6d9);box-shadow:0 14px 40px #7c3aed40}.btn.secondary{background:#00000038;border-color:#ffffff29}.btn.danger{border-color:#ef444473;background:linear-gradient(135deg,#ef4444e6,#f59e0b59)}.tabs{display:flex;gap:8px;padding:6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0000002e}.tab{padding:9px 12px;border-radius:999px;border:1px solid transparent;background:transparent;color:#ffffffc7;font-weight:900}.tab.active{background:#ffffff14;border-color:#ffffff29;color:var(--wow-text)}.table-wrap{overflow:auto;margin-top:10px;max-width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0000002e}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:right;white-space:nowrap}.table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffad;background:#ffffff08;position:sticky;top:0;z-index:1}.table tbody tr:hover{background:#ffffff0d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.modal-card{border-radius:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff1a,#ffffff0f);box-shadow:0 25px 80px #0009;padding:16px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:0}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.note{margin-top:10px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0000002e;color:var(--wow-muted);line-height:1.75}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (max-width: 980px){.grid-2{grid-template-columns:1fr}}.timetable-page{--tt-ink: #1f2937;--tt-muted: #64748b;--tt-border: #e2e8f0;--tt-card: rgba(255, 255, 255, .95);--tt-shadow: 0 20px 50px rgba(15, 23, 42, .08);--tt-accent: #f59e0b;--tt-accent-2: #22c55e;--input-radius: 14px;--input-bg: linear-gradient(180deg, #ffffff, #eef2f7);--input-border: rgba(148, 163, 184, .55);--input-text: var(--tt-ink);--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 22px rgba(15, 23, 42, .08);--input-hover-bg: linear-gradient(180deg, #ffffff, #e2e8f0);--input-hover-border: rgba(100, 116, 139, .5);--input-focus-border: rgba(245, 158, 11, .75);--input-focus-shadow: 0 0 0 4px rgba(245, 158, 11, .18), 0 14px 26px rgba(15, 23, 42, .14);--input-placeholder: rgba(71, 85, 105, .7);--input-arrow: rgba(71, 85, 105, .8);--input-selection-bg: rgba(245, 158, 11, .28);--input-selection-text: #1f2937;font-family:Manrope,Noto Sans Arabic,sans-serif;color:var(--tt-ink);background:radial-gradient(900px 520px at 15% -10%,rgba(254,240,138,.5),transparent 60%),radial-gradient(1000px 600px at 90% 0%,rgba(134,239,172,.4),transparent 60%),radial-gradient(900px 620px at 50% 110%,rgba(191,219,254,.45),transparent 60%),linear-gradient(180deg,#fffaf3,#f7f8fb)}.timetable-page h1,.timetable-page h2,.timetable-page h3{font-family:Fraunces,"Noto Serif",serif;letter-spacing:.01em}.timetable-page .card{border:1px solid var(--tt-border);background:var(--tt-card);box-shadow:var(--tt-shadow)}.timetable-page .card.timetable-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fef08ab3,#bfdbfe8c);animation:timetable-rise .5s ease both}.timetable-page .card.timetable-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.35),transparent 70%)}.timetable-page .muted{color:var(--tt-muted)}.timetable-page .input,.timetable-page input,.timetable-page select,.timetable-page textarea{border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);box-shadow:var(--input-shadow);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease}.timetable-page .input:hover,.timetable-page input:hover,.timetable-page select:hover,.timetable-page textarea:hover{border-color:var(--input-hover-border);background:var(--input-hover-bg)}.timetable-page .input:focus,.timetable-page input:focus,.timetable-page select:focus,.timetable-page textarea:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.timetable-page .input:focus-visible,.timetable-page input:focus-visible,.timetable-page select:focus-visible,.timetable-page textarea:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.timetable-page .input:disabled,.timetable-page input:disabled,.timetable-page select:disabled,.timetable-page textarea:disabled{opacity:.7;cursor:not-allowed;background:#f1f5f9;box-shadow:none}.timetable-page select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:38px}.timetable-page .btn,.timetable-page button.btn{border:1px solid var(--tt-border);background:#fff;color:var(--tt-ink);box-shadow:0 12px 25px #94a3b82e}.timetable-page .btn:hover{background:#f8fafc}.timetable-page .btn.primary{border-color:#f59e0b80;background:linear-gradient(135deg,#fbbf24,#f97316);color:#1f2937;box-shadow:0 16px 35px #f9731640}.timetable-page .btn.secondary{background:#f1f5f9}.timetable-page .btn.danger{border-color:#f8717180;background:linear-gradient(135deg,#fecaca,#fca5a5);color:#7f1d1d}.timetable-page .table-wrap{border-radius:16px;border:1px solid var(--tt-border);background:#fff}.timetable-page .table th,.timetable-page .table td{text-align:start;color:var(--tt-ink)}.timetable-page .table th{background:#f8fafc;color:var(--tt-muted)}.timetable-page .note{border:1px solid var(--tt-border);background:#f8fafc;color:var(--tt-muted)}.timetable-page .modal-card{border:1px solid var(--tt-border);background:#fff}.timetable-preview{overflow:hidden;animation:timetable-rise .5s ease both;animation-delay:.08s}.timetable-board{border-radius:18px;border:1px solid var(--tt-border);background:#fff;overflow:auto}.timetable-grid{min-width:940px}.timetable-row{display:grid}.timetable-row-head{position:sticky;top:0;z-index:2;background:#fef3c7}.timetable-cell{padding:10px 12px;min-height:86px;border-right:1px solid var(--tt-border);border-bottom:1px solid var(--tt-border)}.timetable-cell-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#7c6f44;font-weight:700}.timetable-cell-day{background:#ecfccb;font-weight:700;display:flex;align-items:center}.timetable-row:nth-child(2n) .timetable-cell-slot{background:#f8fafc}.timetable-cell-slot{display:flex}.timetable-cell-slot .slot-stack,.timetable-cell-slot .slot-empty{width:100%}.timetable-time{font-weight:700}.slot-stack{display:grid;gap:8px}.slot-card{border-radius:12px;padding:8px 10px;border:1px solid transparent}.slot-title{font-weight:700;font-size:.82rem}.slot-meta{font-size:.74rem;color:var(--tt-muted)}.slot-empty{border-radius:12px;border:1px dashed #cbd5f5;color:#94a3b8;height:100%;display:grid;place-items:center;font-weight:700}.slot-card.tone-1{background:#fef9c3;border-color:#fde68a}.slot-card.tone-2{background:#fee2e2;border-color:#fecaca}.slot-card.tone-3{background:#dcfce7;border-color:#86efac}.slot-card.tone-4{background:#dbeafe;border-color:#bfdbfe}.slot-card.tone-5{background:#ffe4e6;border-color:#fecdd3}.slot-card.tone-6{background:#e0f2fe;border-color:#bae6fd}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page{--tt-ink: #e6efff;--tt-muted: rgba(187, 203, 229, .84);--tt-border: rgba(148, 163, 184, .3);--tt-card: rgba(8, 16, 34, .82);--tt-shadow: 0 24px 56px rgba(2, 8, 20, .44);--tt-accent: #38bdf8;--tt-accent-2: #22c55e;--input-bg: linear-gradient( 180deg, rgba(12, 24, 48, .92), rgba(8, 15, 31, .96) );--input-border: rgba(148, 163, 184, .34);--input-text: #e6efff;--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 12px 24px rgba(2, 8, 20, .4);--input-hover-bg: linear-gradient( 180deg, rgba(15, 30, 58, .95), rgba(9, 17, 34, .96) );--input-hover-border: rgba(148, 163, 184, .46);--input-focus-border: rgba(56, 189, 248, .82);--input-focus-shadow: 0 0 0 3px rgba(56, 189, 248, .24), 0 16px 32px rgba(2, 8, 20, .46);--input-placeholder: rgba(187, 203, 229, .72);--input-arrow: rgba(187, 203, 229, .9);--input-selection-bg: rgba(56, 189, 248, .28);--input-selection-text: #e6efff;color:var(--tt-ink);background:radial-gradient(960px 560px at 10% -10%,rgba(37,99,235,.22),transparent 62%),radial-gradient(980px 600px at 92% 0%,rgba(20,184,166,.18),transparent 62%),linear-gradient(180deg,#080f1efa,#040914fa)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page h1,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page h2,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page h3{color:#e6efff}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .card{border-color:#94a3b847;background:linear-gradient(180deg,#0a142aeb,#081022d1);box-shadow:0 18px 40px #0208146b}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .card.timetable-hero{background:linear-gradient(120deg,#0f1e3af5,#082034db)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .muted,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-meta{color:#bbcbe5db}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .table-wrap,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .timetable-board{border-color:#94a3b84d;background:#081022d1}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .table th{color:#bbcbe5e0;background:#0a162cf0}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .table td{border-bottom-color:#94a3b83d}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .note{border-color:#94a3b842;background:#081022bd;color:#bbcbe5db}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .timetable-row-head{background:#0c182ef5}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .timetable-cell-head{color:#bfdbfee6}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .timetable-cell{border-right-color:#94a3b83d;border-bottom-color:#94a3b83d}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .timetable-cell-day{background:#0f1e3af0}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .timetable-row:nth-child(2n) .timetable-cell-slot{background:#050b189e}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-empty{border-color:#94a3b866;color:#bbcbe5db}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-card.tone-1{background:#38bdf82e;border-color:#38bdf873}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-card.tone-2{background:#fb718533;border-color:#fb718573}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-card.tone-3{background:#22c55e33;border-color:#22c55e73}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-card.tone-4{background:#3b82f638;border-color:#3b82f675}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-card.tone-5{background:#f472b633;border-color:#f472b675}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .timetable-page .slot-card.tone-6{background:#0ea5e933;border-color:#0ea5e973}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page{--tt-ink: #1d2d48;--tt-muted: rgba(74, 94, 129, .86);--tt-border: rgba(67, 95, 146, .24);--tt-card: rgba(255, 255, 255, .94);--tt-shadow: 0 16px 34px rgba(46, 74, 123, .14);--tt-accent: #0ea5e9;--tt-accent-2: #22c55e;--input-bg: linear-gradient( 180deg, rgba(255, 255, 255, .98), rgba(242, 248, 255, .96) );--input-border: rgba(67, 95, 146, .28);--input-text: #1d2d48;--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .92), 0 10px 20px rgba(46, 74, 123, .12);--input-hover-bg: linear-gradient( 180deg, rgba(255, 255, 255, 1), rgba(239, 247, 255, .98) );--input-hover-border: rgba(47, 81, 134, .42);--input-focus-border: rgba(14, 116, 214, .72);--input-focus-shadow: 0 0 0 3px rgba(14, 116, 214, .2), 0 14px 28px rgba(46, 74, 123, .16);--input-placeholder: rgba(74, 94, 129, .72);--input-arrow: rgba(74, 94, 129, .84);--input-selection-bg: rgba(14, 116, 214, .22);--input-selection-text: #1d2d48;color:var(--tt-ink);background:radial-gradient(960px 560px at 10% -10%,rgba(56,189,248,.2),transparent 60%),radial-gradient(980px 600px at 92% 0%,rgba(20,184,166,.16),transparent 60%),linear-gradient(180deg,#f8fbff,#edf4ff)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .card.timetable-hero{background:linear-gradient(120deg,#dbeafef2,#d1fae5d6)}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .table-wrap,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .timetable-board{border-color:#435f923d;background:#fffffff2}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .timetable-row-head{background:#eff6fffa}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .timetable-cell-head{color:#355486e6}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .timetable-cell-day{background:#e0f2feeb}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .timetable-page .timetable-row:nth-child(2n) .timetable-cell-slot{background:#f4f9ffd6}@media (max-width: 980px){.timetable-grid{min-width:860px}}@media (max-width: 640px){.timetable-grid{min-width:780px}}@media (prefers-reduced-motion: reduce){.timetable-page .card.timetable-hero,.timetable-preview{animation:none}}@keyframes timetable-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-teacher-presence-page{--tp-green-bg: rgba(16, 185, 129, .16);--tp-green-border: rgba(16, 185, 129, .52);--tp-green-text: #2dd4bf;--tp-red-bg: rgba(239, 68, 68, .16);--tp-red-border: rgba(239, 68, 68, .52);--tp-red-text: #fb7185;--tp-orange-bg: rgba(245, 158, 11, .18);--tp-orange-border: rgba(245, 158, 11, .5);--tp-orange-text: #fbbf24;--tp-future-bg: rgba(148, 163, 184, .22);--tp-future-border: rgba(148, 163, 184, .52);--tp-future-text: #cbd5e1}.admin-teacher-presence-page .tp-controls-card{border:1px solid var(--admin-page-border, var(--border));background:radial-gradient(circle at top right,rgba(59,130,246,.16),transparent 45%),linear-gradient(145deg,#0f172a42,#1e293b1f)}.admin-teacher-presence-page .tp-controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-teacher-presence-page .tp-field{display:grid;gap:6px}.admin-teacher-presence-page .tp-field-wide{grid-column:span 1}.admin-teacher-presence-page .tp-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-teacher-presence-page .tp-ok{color:var(--tp-green-text)}.admin-teacher-presence-page .tp-missing{color:var(--tp-red-text)}.admin-teacher-presence-page .tp-legend-card{border:1px solid var(--admin-page-border, var(--border))}.admin-teacher-presence-page .tp-legend{display:flex;flex-wrap:wrap;gap:10px}.admin-teacher-presence-page .tp-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid var(--admin-page-border, var(--border));font-weight:700;font-size:.84rem}.admin-teacher-presence-page .tp-chip.done{background:var(--tp-green-bg);border-color:var(--tp-green-border);color:var(--tp-green-text)}.admin-teacher-presence-page .tp-chip.missing{background:var(--tp-red-bg);border-color:var(--tp-red-border);color:var(--tp-red-text)}.admin-teacher-presence-page .tp-chip.off{background:var(--tp-orange-bg);border-color:var(--tp-orange-border);color:var(--tp-orange-text)}.admin-teacher-presence-page .tp-chip.future{background:var(--tp-future-bg);border-color:var(--tp-future-border);color:var(--tp-future-text)}.admin-teacher-presence-page .tp-table-card{border:1px solid var(--admin-page-border, var(--border))}.admin-teacher-presence-page .tp-table{min-width:1100px}.admin-teacher-presence-page .tp-day-head{display:grid;gap:2px}.admin-teacher-presence-page .tp-day-head small{font-size:.72rem;color:var(--admin-page-muted, var(--muted));font-weight:600}.admin-teacher-presence-page .tp-teacher{display:grid;gap:4px}.admin-teacher-presence-page .tp-classes-cell{white-space:normal;min-width:180px}.admin-teacher-presence-page .tp-status{min-width:122px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border-radius:12px;border:1px solid var(--admin-page-border, var(--border));font-weight:700}.admin-teacher-presence-page .tp-status-btn{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.admin-teacher-presence-page .tp-status-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.admin-teacher-presence-page .tp-status-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #38bdf847}.admin-teacher-presence-page .tp-status small{opacity:.85;font-weight:800}.admin-teacher-presence-page .tp-status.done{background:var(--tp-green-bg);border-color:var(--tp-green-border);color:var(--tp-green-text)}.admin-teacher-presence-page .tp-status.missing{background:var(--tp-red-bg);border-color:var(--tp-red-border);color:var(--tp-red-text)}.admin-teacher-presence-page .tp-status.off{background:var(--tp-orange-bg);border-color:var(--tp-orange-border);color:var(--tp-orange-text)}.admin-teacher-presence-page .tp-status.future{background:var(--tp-future-bg);border-color:var(--tp-future-border);color:var(--tp-future-text)}.admin-teacher-presence-page .tp-resume{display:grid;gap:4px;min-width:120px;white-space:nowrap}.admin-teacher-presence-page .tp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020814ad;display:flex;align-items:center;justify-content:center;padding:14px;z-index:9999}.admin-teacher-presence-page .tp-modal{width:min(980px,100%);max-height:88vh;overflow:auto;border:1px solid var(--admin-page-border, var(--border));background:radial-gradient(circle at top right,rgba(14,116,214,.14),transparent 46%),linear-gradient(145deg,#0f172af5,#020617f0)}.admin-teacher-presence-page .tp-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.admin-teacher-presence-page .tp-modal-status{margin-top:10px}.admin-teacher-presence-page .tp-modal-table{min-width:760px}.admin-teacher-presence-page .tp-inline-state{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800;border:1px solid var(--admin-page-border, var(--border))}.admin-teacher-presence-page .tp-inline-state.done{background:var(--tp-green-bg);border-color:var(--tp-green-border);color:var(--tp-green-text)}.admin-teacher-presence-page .tp-inline-state.missing{background:var(--tp-red-bg);border-color:var(--tp-red-border);color:var(--tp-red-text)}.admin-teacher-presence-page .tp-inline-state.future{background:var(--tp-future-bg);border-color:var(--tp-future-border);color:var(--tp-future-text)}@media (max-width: 1120px){.admin-teacher-presence-page .tp-controls-grid,.admin-teacher-presence-page .tp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.admin-teacher-presence-page .tp-controls-grid,.admin-teacher-presence-page .tp-summary-grid{grid-template-columns:1fr}}.admin-student-absences-page .sa-filters-card{border:1px solid var(--admin-page-border, var(--border));background:radial-gradient(circle at top right,rgba(56,189,248,.14),transparent 44%),linear-gradient(150deg,#0f172a4d,#1e293b29)}.admin-student-absences-page .sa-filters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-student-absences-page .sa-field{display:grid;gap:6px}.admin-student-absences-page .sa-field-wide{grid-column:span 1}.admin-student-absences-page .sa-checkbox{margin-top:10px;display:inline-flex;gap:8px;align-items:center}.admin-student-absences-page .sa-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-student-absences-page .sa-danger{color:#fb7185}.admin-student-absences-page .sa-warning{color:#fbbf24}.admin-student-absences-page .sa-alerts-card{border:1px solid var(--admin-page-border, var(--border))}.admin-student-absences-page .sa-alert-list{margin-top:10px;display:grid;gap:8px}.admin-student-absences-page .sa-alert-item{border-radius:12px;border:1px solid var(--admin-page-border, var(--border));padding:9px 11px;display:grid;gap:4px}.admin-student-absences-page .sa-alert-item.warning{background:#f59e0b24;border-color:#f59e0b5c}.admin-student-absences-page .sa-alert-item.danger{background:#ef444426;border-color:#ef444461}.admin-student-absences-page .sa-alert-item small{color:var(--admin-page-muted, var(--muted))}.admin-student-absences-page .sa-table{min-width:920px}.admin-student-absences-page .sa-student{display:grid;gap:4px}.admin-student-absences-page .sa-pill{display:inline-flex;min-width:38px;justify-content:center;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--admin-page-border, var(--border));font-weight:800}.admin-student-absences-page .sa-pill-clickable{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.admin-student-absences-page .sa-pill-clickable:hover{transform:translateY(-1px)}.admin-student-absences-page .sa-pill-clickable:focus-visible{outline:none;box-shadow:0 0 0 2px #38bdf86b}.admin-student-absences-page .sa-pill.neutral{background:#94a3b833;border-color:#94a3b866;color:#cbd5e1}.admin-student-absences-page .sa-pill.warning{background:#f59e0b26;border-color:#f59e0b6b;color:#fbbf24}.admin-student-absences-page .sa-pill.danger{background:#ef444429;border-color:#ef444470;color:#fb7185}.admin-student-absences-page .sa-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020814ad;display:flex;align-items:center;justify-content:center;padding:14px;z-index:9999}.admin-student-absences-page .sa-modal{width:min(1080px,100%);max-height:90vh;overflow:auto;border:1px solid var(--admin-page-border, var(--border));background:radial-gradient(circle at top right,rgba(14,116,214,.14),transparent 46%),linear-gradient(145deg,#0f172af5,#020617f0)}.admin-student-absences-page .sa-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.admin-student-absences-page .sa-detail-table{min-width:860px}@media (max-width: 1120px){.admin-student-absences-page .sa-filters-grid,.admin-student-absences-page .sa-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.admin-student-absences-page .sa-filters-grid,.admin-student-absences-page .sa-summary-grid{grid-template-columns:1fr}}.announcement-channels{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 16px}.announcement-channel{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff0d;font-size:13px}.announcement-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.15);text-transform:capitalize}.announcement-status.published{background:#22c55e26;color:#b7f5d2}.announcement-status.scheduled{background:#3b82f626;color:#c6dcff}.announcement-row.active{background:#ffffff0a}.announcement-title{font-weight:700}.announcement-meta{font-size:12px;margin-top:4px}.announcement-read{font-weight:700}.announcement-receipts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .announcement-channel{border-color:#94a3b852!important;background:#081022bd!important;color:#e6efff!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .announcement-row.active{background:#38bdf824!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .announcement-title,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=dark] .announcement-read{color:#e6efff!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .announcement-channel{border-color:#435f923d!important;background:#ffffffdb!important;color:#1d2d48!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .announcement-row.active{background:#38bdf81f!important}body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .announcement-title,body[data-ui-role=admin] .shell.shell-campus[data-view=default][data-ui-mode=calm] .announcement-read{color:#1d2d48!important}.admin-doc-requests .admin-doc-requests-table td{vertical-align:top;white-space:normal}.admin-doc-template-help{display:flex;flex-direction:column;gap:12px}.admin-doc-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.admin-doc-template-card{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#ffffff05}.admin-doc-template-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.admin-doc-template-image{width:100%;height:156px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.admin-doc-template-placeholder{width:100%;height:156px;border-radius:10px;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.admin-doc-template-upload{display:flex;flex-direction:column;gap:4px}.admin-doc-template-card textarea{min-height:120px}.admin-doc-strong{font-weight:800}.admin-doc-meta{margin-top:4px;font-size:12px;color:var(--muted)}.admin-doc-purpose{margin-top:8px;font-size:13px;line-height:1.45}.admin-doc-remark{margin-top:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:#ffffff0d;font-size:12px}.admin-doc-process{display:flex;flex-direction:column;gap:8px;min-width:230px}.admin-doc-process textarea{min-height:84px}.doc-status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--border);padding:4px 10px;font-size:11px;font-weight:800}.doc-status-pill.status-pending{background:#f59e0b29;color:#f7c96c}.doc-status-pill.status-in_progress{background:#3b82f629;color:#b8d5ff}.doc-status-pill.status-ready{background:#22c55e29;color:#bdf2cc}.doc-status-pill.status-not_ready{background:#ef44442e;color:#ffb4b4}.teacher-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;gap:16px;height:100vh;overflow:hidden;position:relative;color:var(--teacher-ink);font-family:Manrope,Noto Sans Arabic,Noto Kufi Arabic,sans-serif;--teacher-ink: rgba(244, 250, 255, .98);--teacher-muted: rgba(226, 232, 240, .7);--teacher-border: rgba(255, 255, 255, .14);--teacher-panel: rgba(12, 20, 38, .86);--teacher-panel-2: rgba(8, 14, 28, .95);--teacher-glass: rgba(255, 255, 255, .05);--teacher-accent: #22d3ee;--teacher-accent-2: #f59e0b;--teacher-accent-3: #38bdf8;--teacher-shadow: 0 24px 70px rgba(2, 6, 23, .55);--teacher-shadow-soft: 0 14px 38px rgba(2, 6, 23, .35);--teacher-ring: 0 0 0 3px rgba(34, 211, 238, .25);--radius: 18px;--radius2: 14px;--border: var(--teacher-border);--text: var(--teacher-ink);--muted: var(--teacher-muted);--primary: var(--teacher-accent);--input-radius: 14px;--input-bg: linear-gradient(180deg, rgba(8, 16, 30, .85), rgba(6, 12, 22, .98));--input-border: rgba(255, 255, 255, .18);--input-text: var(--teacher-ink);--input-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 14px 30px rgba(2, 6, 23, .35);--input-hover-bg: linear-gradient(180deg, rgba(12, 22, 40, .92), rgba(8, 14, 26, .98));--input-hover-border: rgba(255, 255, 255, .28);--input-focus-border: rgba(34, 211, 238, .8);--input-focus-shadow: 0 0 0 3px rgba(34, 211, 238, .24), 0 18px 40px rgba(2, 6, 23, .45), inset 0 1px 0 rgba(255, 255, 255, .12);--input-placeholder: rgba(226, 232, 240, .55);--input-arrow: rgba(226, 232, 240, .8);--input-selection-bg: rgba(34, 211, 238, .35);--input-selection-text: #0b1020;--input-caret: var(--input-focus-border);--input-hover-lift: -1px;--input-focus-lift: -1px}.teacher-shell:before{content:"";position:absolute;inset:-20% -5% auto auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.22),transparent 68%);opacity:.7;pointer-events:none;z-index:0}.teacher-shell:after{content:"";position:absolute;inset:auto -10% -25% 0;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.18),transparent 70%);opacity:.6;pointer-events:none;z-index:0}.teacher-shell h1,.teacher-shell h2,.teacher-shell h3{font-family:Fraunces,"Noto Serif",serif;letter-spacing:.2px}.teacher-sidebar{position:sticky;top:0;height:100vh;padding:18px;border-inline-end:1px solid var(--teacher-border);background:radial-gradient(320px 220px at 20% 0%,rgba(34,211,238,.18),transparent 60%),radial-gradient(320px 220px at 80% 12%,rgba(245,158,11,.16),transparent 60%),linear-gradient(180deg,#091020e6,#060c18f5);box-shadow:0 24px 60px #0206178c;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:1}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin-bottom:14px}.brand-hero{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 18% 22%,rgba(34,211,238,.22),transparent 55%),radial-gradient(circle at 78% 18%,rgba(245,158,11,.18),transparent 55%),linear-gradient(145deg,#ffffff14,#ffffff05);box-shadow:0 16px 34px #02061766}.brand-logo{width:52px;height:52px}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-title{font-size:17px;font-weight:900}.brand-subchip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#22d3ee24;border:1px solid rgba(34,211,238,.32);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.brand .logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}.brand .logo img{position:absolute;top:5px;right:5px;bottom:5px;left:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain;z-index:1}.brand .logo .brand-fallback{position:relative;z-index:0}.nav{display:grid;gap:10px;margin-top:16px}.nav a{text-decoration:none;color:inherit;padding:12px 14px;border-radius:14px;display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#ffffff0f,#ffffff05);box-shadow:inset 0 1px #ffffff14;position:relative;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.nav a:hover{background:linear-gradient(145deg,#ffffff17,#ffffff0a);transform:translateY(-1px)}.nav a.active{background:linear-gradient(135deg,#22d3ee52,#f59e0b2e);border-color:#22d3ee8c;box-shadow:0 14px 28px #02061759}.nav a:before{content:"";position:absolute;inset-inline-start:10px;top:8px;bottom:8px;width:3px;border-radius:999px;background:linear-gradient(180deg,#22d3eef2,#f59e0bb3);opacity:0}.nav a.active:before{opacity:1}.teacher-main{padding:16px 16px 40px;height:100vh;overflow:auto;overflow-x:hidden;scrollbar-gutter:stable;position:relative;z-index:1;background:linear-gradient(180deg,#070c1840,#060a1473)}.teacher-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg,#22d3ee1f,#f59e0b1a,#ffffff05);box-shadow:var(--teacher-shadow-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.teacher-topbar .right{display:flex;gap:10px;align-items:center}.teacher-shell .mode-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:inherit;border-radius:999px;padding:6px 11px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.14px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.teacher-shell .mode-toggle:focus-visible{outline:none;box-shadow:var(--teacher-ring)}.teacher-shell .mode-toggle svg{flex:0 0 auto}.teacher-mode-toggle{min-height:34px;border-color:#fff3;background:#ffffff1a;box-shadow:0 10px 22px #02061740}.teacher-mode-toggle.is-dark{color:#f4fafff5}.teacher-mode-toggle.is-calm{color:#0f2d4c;border-color:#0e74d652;background:linear-gradient(135deg,#fcfffff2,#e0f6ffe6);box-shadow:0 10px 20px #0e74d62e}.teacher-mode-toggle:hover{transform:translateY(-1px)}.teacher-avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:800;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.teacher-avatar img{width:100%;height:100%;object-fit:cover;display:block}.teacher-profile-row{display:flex;align-items:center;gap:12px;margin-top:10px;flex-direction:row;justify-content:flex-start}.teacher-profile-avatar{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);font-size:14px;font-weight:800;overflow:hidden;box-shadow:0 8px 20px #02061759}.teacher-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.teacher-profile-card{background:radial-gradient(circle at 18% 20%,rgba(34,211,238,.14),transparent 55%),linear-gradient(160deg,#ffffff17,#ffffff08);border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 36px #02061766}.teacher-profile-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-profile-name{font-weight:900}.teacher-profile-sub{color:var(--muted, rgba(255, 255, 255, .65))}.badge{padding:6px 10px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);font-size:12px;box-shadow:inset 0 1px #ffffff14}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 980px){.teacher-shell{grid-template-columns:1fr;height:100vh;overflow-y:auto}.teacher-sidebar{height:auto;position:relative;overflow:visible}.kpi-grid{grid-template-columns:1fr}.teacher-main{height:auto;overflow:visible}}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.tab{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;cursor:pointer;font-size:13px}.tab.active{background:linear-gradient(135deg,#22d3ee33,#f59e0b1f);border-color:#22d3ee73}.small-note{font-size:12px;opacity:.75}.task-stack{display:grid;gap:16px}.task-list{display:grid;gap:12px;margin-top:10px}.task-item{border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;padding:14px;display:grid;gap:8px}.task-item.active{border-color:#22d3ee73;box-shadow:0 18px 38px #02061766}.task-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-title{font-weight:700}.task-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted, rgba(255, 255, 255, .65))}.task-rubric-preview{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:11px;border:1px solid rgba(255,255,255,.14);background:#ffffff14}.rubric-block{margin-top:8px;display:grid;gap:10px}.rubric-grid{display:grid;gap:8px}.rubric-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px}.status-chip,.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border:1px solid rgba(255,255,255,.16);background:#ffffff14}.status-pill{padding:3px 8px;font-size:10px}.status-chip.published,.status-pill.published{border-color:#22c55e8c;background:#22c55e38}.status-chip.draft,.status-pill.draft{border-color:#f59e0b8c;background:#f59e0b38}.status-chip.closed,.status-pill.closed{border-color:#ef44448c;background:#ef444438}.status-chip.approved,.status-pill.approved{border-color:#38bdf88c;background:#38bdf833}.status-chip.graded,.status-pill.graded{border-color:#22d3ee8c;background:#22d3ee33}.status-chip.submitted,.status-pill.submitted{border-color:#10b9818c;background:#10b98133}.status-chip.changes_requested,.status-pill.changes_requested{border-color:#f472b68c;background:#f472b638}.status-chip.not_submitted,.status-pill.not_submitted{border-color:#ffffff38;background:#ffffff1a}.teacher-shell .btn{border-color:#ffffff29;background:#ffffff14;box-shadow:0 12px 26px #02061759,inset 0 1px #ffffff1a}.teacher-shell .btn:hover{border-color:#22d3ee59;background:#ffffff1f}.teacher-shell .btn.primary,.teacher-shell .btn-primary{background:linear-gradient(135deg,#22d3eebf,#f59e0b59);border-color:#22d3eeb3;box-shadow:0 16px 34px #22d3ee47}.teacher-shell .btn.primary:hover,.teacher-shell .btn-primary:hover{background:linear-gradient(135deg,#22d3eee6,#f59e0b73);border-color:#22d3eee6}.teacher-shell .btn.danger,.teacher-shell .btn-danger{background:#ef444433;border-color:#ef444499;color:#fee2e2f2}.teacher-shell .btn.secondary{background:#0a122080;border-color:#fff3}.teacher-shell .btn-ghost{background:transparent}.teacher-shell input:not([type=checkbox]):not([type=radio]),.teacher-shell select,.teacher-shell textarea,.teacher-shell .input{padding:12px 14px;min-height:44px;border-radius:var(--input-radius);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);box-shadow:var(--input-shadow);outline:none;caret-color:var(--input-caret);transform:translateY(0);transition:border-color .15s ease,box-shadow .15s ease,background .2s ease,transform .15s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.teacher-shell input:not([type=checkbox]):not([type=radio])::placeholder,.teacher-shell textarea::placeholder,.teacher-shell .input::placeholder{color:var(--input-placeholder);transition:color .15s ease}.teacher-shell input:not([type=checkbox]):not([type=radio]):hover,.teacher-shell select:hover,.teacher-shell textarea:hover,.teacher-shell .input:hover{border-color:var(--input-hover-border);background:var(--input-hover-bg);transform:translateY(var(--input-hover-lift))}.teacher-shell input:not([type=checkbox]):not([type=radio]):focus,.teacher-shell select:focus,.teacher-shell textarea:focus,.teacher-shell .input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);transform:translateY(var(--input-focus-lift))}.teacher-shell input:not([type=checkbox]):not([type=radio]):focus-visible,.teacher-shell select:focus-visible,.teacher-shell textarea:focus-visible,.teacher-shell .input:focus-visible{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);transform:translateY(var(--input-focus-lift))}.teacher-shell input:not([type=checkbox]):not([type=radio]):disabled,.teacher-shell select:disabled,.teacher-shell textarea:disabled,.teacher-shell .input:disabled{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}.teacher-shell input:not([type=checkbox]):not([type=radio])[aria-invalid=true],.teacher-shell select[aria-invalid=true],.teacher-shell textarea[aria-invalid=true],.teacher-shell .input[aria-invalid=true]{border-color:#ef4444b8;box-shadow:0 0 0 3px #ef444433,0 16px 34px #02061773}.teacher-shell select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--input-arrow) 50%),linear-gradient(135deg,var(--input-arrow) 50%,transparent 50%),var(--input-bg);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),center;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:40px}.teacher-shell select option{background:#0b1324;color:#e2e8f0}.teacher-shell ::selection{background:var(--input-selection-bg);color:var(--input-selection-text)}.teacher-shell .card,.teacher-shell .stat,.teacher-shell .note,.teacher-shell .profile-photo{border-color:#ffffff24;background:linear-gradient(180deg,#ffffff12,#ffffff05),radial-gradient(120% 120% at 0% 0%,rgba(34,211,238,.08),transparent 60%);box-shadow:var(--teacher-shadow)}.teacher-shell .table th{color:#e2e8f0cc}.teacher-shell .table tbody tr:hover td{background:#22d3ee14}.teacher-shell .table tbody tr:nth-child(2n) td{background:#ffffff04}.teacher-shell .page{animation:teacher-fade .35s ease}.teacher-shell .teacher-main::-webkit-scrollbar,.teacher-shell .teacher-sidebar::-webkit-scrollbar{width:8px}.teacher-shell .teacher-main::-webkit-scrollbar-thumb,.teacher-shell .teacher-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#22d3ee8c,#f59e0b59);border-radius:999px}.teacher-shell .teacher-main::-webkit-scrollbar-track,.teacher-shell .teacher-sidebar::-webkit-scrollbar-track{background:#ffffff0d}body[data-ui-role=teacher][data-ui-mode=calm]{background:radial-gradient(1100px 760px at 86% 8%,rgba(56,189,248,.2),transparent 62%),radial-gradient(880px 620px at 14% 24%,rgba(14,165,233,.12),transparent 60%),radial-gradient(840px 700px at 72% 100%,rgba(20,184,166,.12),transparent 62%),#edf4ff!important;color:#1d2c47!important}.teacher-shell[data-ui-mode=calm]{--teacher-ink: #1d2c47;--teacher-muted: rgba(74, 94, 129, .82);--teacher-border: rgba(67, 95, 146, .2);--teacher-panel: rgba(255, 255, 255, .9);--teacher-panel-2: rgba(245, 250, 255, .95);--teacher-glass: rgba(255, 255, 255, .74);--teacher-accent: #0ea5e9;--teacher-accent-2: #14b8a6;--teacher-accent-3: #38bdf8;--teacher-shadow: 0 20px 46px rgba(46, 74, 123, .2);--teacher-shadow-soft: 0 14px 34px rgba(46, 74, 123, .16);--teacher-ring: 0 0 0 3px rgba(14, 116, 214, .2);--input-bg: linear-gradient( 180deg, rgba(255, 255, 255, .95), rgba(242, 248, 255, .96) );--input-border: rgba(67, 95, 146, .28);--input-text: #1d2c47;--input-shadow: 0 10px 22px rgba(46, 74, 123, .12), inset 0 1px 0 rgba(255, 255, 255, .9);--input-hover-bg: linear-gradient( 180deg, rgba(255, 255, 255, 1), rgba(238, 246, 255, .98) );--input-hover-border: rgba(47, 81, 134, .36);--input-focus-border: rgba(14, 116, 214, .72);--input-focus-shadow: 0 0 0 3px rgba(14, 116, 214, .18), 0 14px 30px rgba(46, 74, 123, .16), inset 0 1px 0 rgba(255, 255, 255, .9);--input-placeholder: rgba(74, 94, 129, .58);--input-arrow: rgba(47, 66, 99, .72);--input-selection-bg: rgba(14, 116, 214, .22);--input-selection-text: #0f172a}.teacher-shell[data-ui-mode=calm]:before{background:radial-gradient(circle,rgba(56,189,248,.24),transparent 70%);opacity:.56}.teacher-shell[data-ui-mode=calm]:after{background:radial-gradient(circle,rgba(20,184,166,.2),transparent 70%);opacity:.46}.teacher-shell[data-ui-mode=calm] .teacher-sidebar{border-inline-end-color:#435f9238;background:radial-gradient(320px 220px at 20% 0%,rgba(56,189,248,.2),transparent 60%),radial-gradient(320px 220px at 80% 12%,rgba(20,184,166,.16),transparent 60%),linear-gradient(180deg,#ffffffe6,#f3f9fff2);box-shadow:0 18px 40px #2e4a7b2e}.teacher-shell[data-ui-mode=calm] .brand-subchip{background:#0ea5e924;border-color:#0e74d657}.teacher-shell[data-ui-mode=calm] .nav a{border-color:#435f922e;background:linear-gradient(145deg,#ffffffdb,#f5faffbd);box-shadow:inset 0 1px #fffc}.teacher-shell[data-ui-mode=calm] .nav a:hover{background:linear-gradient(145deg,#fffffff5,#f1f8ffcc);border-color:#2f518652}.teacher-shell[data-ui-mode=calm] .nav a.active{background:linear-gradient(135deg,#38bdf852,#14b8a629);border-color:#0e74d673;box-shadow:0 14px 28px #2e4a7b33}.teacher-shell[data-ui-mode=calm] .teacher-main{background:linear-gradient(180deg,#ffffffa6,#f2f8ffe6)}.teacher-shell[data-ui-mode=calm] .teacher-topbar{border-color:#435f922e;background:linear-gradient(90deg,#38bdf82e,#14b8a61c,#ffffffb3);box-shadow:0 12px 26px #2e4a7b26}.teacher-shell[data-ui-mode=calm] .teacher-avatar,.teacher-shell[data-ui-mode=calm] .teacher-profile-avatar{background:#ffffffd9;border-color:#435f9238;box-shadow:0 10px 18px #2e4a7b24}.teacher-shell[data-ui-mode=calm] .teacher-profile-card{background:radial-gradient(circle at 18% 20%,rgba(56,189,248,.16),transparent 58%),linear-gradient(160deg,#ffffffe0,#f5faffd1);border-color:#435f9233;box-shadow:0 14px 30px #2e4a7b29}.teacher-shell[data-ui-mode=calm] .badge{color:#173053;background:#ffffffdb;border-color:#435f9238}.teacher-shell[data-ui-mode=calm] .muted,.teacher-shell[data-ui-mode=calm] .teacher-profile-sub{color:#4a5e81db!important}.teacher-shell[data-ui-mode=calm] input:not([type=checkbox]):not([type=radio]),.teacher-shell[data-ui-mode=calm] select,.teacher-shell[data-ui-mode=calm] textarea,.teacher-shell[data-ui-mode=calm] .input{color:#1d2c47!important;background:linear-gradient(180deg,#fffffff5,#f2f8fff5)!important;border-color:#435f924d!important;box-shadow:0 10px 20px #2e4a7b1f,inset 0 1px #ffffffeb!important}.teacher-shell[data-ui-mode=calm] input:not([type=checkbox]):not([type=radio]):hover,.teacher-shell[data-ui-mode=calm] select:hover,.teacher-shell[data-ui-mode=calm] textarea:hover,.teacher-shell[data-ui-mode=calm] .input:hover{border-color:#2f51866b!important;background:linear-gradient(180deg,#fff,#eff7fffa)!important;transform:translateY(var(--input-hover-lift))}.teacher-shell[data-ui-mode=calm] input:not([type=checkbox]):not([type=radio]):focus,.teacher-shell[data-ui-mode=calm] select:focus,.teacher-shell[data-ui-mode=calm] textarea:focus,.teacher-shell[data-ui-mode=calm] .input:focus{border-color:#0e74d6b3!important;box-shadow:0 0 0 3px #0e74d62e,0 14px 28px #2e4a7b29!important;transform:translateY(var(--input-focus-lift))}.teacher-shell[data-ui-mode=calm] input::placeholder,.teacher-shell[data-ui-mode=calm] textarea::placeholder{color:#4a5e81b3!important}.teacher-shell[data-ui-mode=calm] select option{color:#1d2c47!important;background:#f3f8ff}.teacher-shell[data-ui-mode=calm] .teacher-shell .btn,.teacher-shell[data-ui-mode=calm] .btn{color:#173053!important;border-color:#435f9242!important;background:#ffffffdb!important;box-shadow:0 10px 22px #2e4a7b1f,inset 0 1px #ffffffe0!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .btn:hover,.teacher-shell[data-ui-mode=calm] .btn:hover{background:#fffffffa!important;border-color:#2563eb66!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .btn.primary,.teacher-shell[data-ui-mode=calm] .teacher-shell .btn-primary,.teacher-shell[data-ui-mode=calm] .btn.primary,.teacher-shell[data-ui-mode=calm] .btn-primary{color:#f5f9ff!important;background:linear-gradient(135deg,#0e74d6e6,#38bdf8bd)!important;border-color:#0e74d6a3!important;box-shadow:0 14px 28px #0e74d642!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .btn.danger,.teacher-shell[data-ui-mode=calm] .teacher-shell .btn-danger,.teacher-shell[data-ui-mode=calm] .btn.danger,.teacher-shell[data-ui-mode=calm] .btn-danger{color:#7f1d1d!important;background:#fee2e2db!important;border-color:#ef444470!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .card,.teacher-shell[data-ui-mode=calm] .teacher-shell .stat,.teacher-shell[data-ui-mode=calm] .teacher-shell .note,.teacher-shell[data-ui-mode=calm] .teacher-shell .profile-photo,.teacher-shell[data-ui-mode=calm] .card,.teacher-shell[data-ui-mode=calm] .stat,.teacher-shell[data-ui-mode=calm] .note,.teacher-shell[data-ui-mode=calm] .profile-photo{border-color:#435f9233!important;background:linear-gradient(180deg,#ffffffdb,#f4f9ffd6),radial-gradient(120% 120% at 0% 0%,rgba(56,189,248,.12),transparent 60%)!important;box-shadow:0 14px 30px #2e4a7b29!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .table th,.teacher-shell[data-ui-mode=calm] .table th{color:#415678db!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .table tbody tr:hover td,.teacher-shell[data-ui-mode=calm] .table tbody tr:hover td{background:#38bdf81f!important}.teacher-shell[data-ui-mode=calm] .teacher-shell .table tbody tr:nth-child(2n) td,.teacher-shell[data-ui-mode=calm] .table tbody tr:nth-child(2n) td{background:#dbeafe33!important}.teacher-shell[data-ui-mode=calm] .bell-btn,.teacher-shell[data-ui-mode=calm] .bell-panel{--notif-ink: #1b2d4a;--notif-dim: rgba(27, 45, 74, .7);--notif-accent: #3b82f6;--notif-accent-strong: #2563eb;--notif-warm: #f59e0b;--notif-danger: #dc2626;--notif-panel-1: rgba(255, 255, 255, .98);--notif-panel-2: rgba(242, 248, 255, .98);--notif-border: rgba(67, 95, 146, .22);--notif-ring: rgba(37, 99, 235, .44)}.teacher-shell[data-ui-mode=calm] .bell-btn{color:#173053;background:#ffffffe0;border:1px solid rgba(67,95,146,.24);border-radius:999px;padding:4px 10px;box-shadow:0 8px 18px #2e4a7b24}.teacher-shell[data-ui-mode=calm] .bell-count{color:#f8fbff}.teacher-shell[data-ui-mode=calm] .bell-item{border-color:#435f922e;background:#f4f9ffe6}.teacher-shell[data-ui-mode=calm] .bell-item.unread{background:linear-gradient(145deg,#93c5fd57,#f4f9fff5)}.teacher-shell[data-ui-mode=calm] .bell-item-meta{color:#3a4d6cd1}.teacher-shell[data-ui-mode=calm] .dot{background:#2563ebe6;box-shadow:0 0 0 3px #2563eb33}.teacher-shell[data-ui-mode=dark] .btn,.teacher-shell[data-ui-mode=dark] .badge,.teacher-shell[data-ui-mode=dark] input,.teacher-shell[data-ui-mode=dark] select,.teacher-shell[data-ui-mode=dark] textarea{color:#f4fafff5}@keyframes teacher-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.teacher-shell .page{animation:none}}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media (max-width: 980px){.rubric-row{grid-template-columns:1fr}}.bell-btn,.bell-panel{--notif-ink: #f4f9ff;--notif-dim: rgba(244, 249, 255, .72);--notif-accent: #4fd1c5;--notif-accent-strong: #1fb6aa;--notif-warm: #ffbe6b;--notif-danger: #ff6b6b;--notif-panel-1: rgba(12, 28, 30, .96);--notif-panel-2: rgba(10, 18, 22, .96);--notif-border: rgba(255, 255, 255, .14);--notif-ring: rgba(79, 209, 197, .65)}.bell-btn{cursor:pointer;position:relative;border:0;background:transparent;padding:2px 4px;display:inline-flex;align-items:center;gap:8px;color:inherit;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.bell-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.bell-btn:active{transform:translateY(0);filter:brightness(.98)}.bell-btn:focus-visible{outline:2px solid var(--notif-ring);outline-offset:3px;border-radius:10px}.bell-count{margin-inline-start:6px;font-weight:800;font-size:12px;padding:2px 10px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#ff6b6bfa,#ffbe6beb);border:1px solid rgba(255,160,120,.6);box-shadow:0 8px 18px #ff6b6b59}.bell-panel{position:relative;width:min(520px,90vw);max-height:70vh;overflow:hidden;padding:14px;border-radius:18px;border:1px solid var(--notif-border);color:var(--notif-ink);font-family:var(--font);background:radial-gradient(130% 120% at 0% 0%,rgba(79,209,197,.22),transparent 55%),radial-gradient(120% 120% at 100% 0%,rgba(255,190,107,.18),transparent 55%),linear-gradient(165deg,var(--notif-panel-1),var(--notif-panel-2));box-shadow:0 24px 70px #00000073,inset 0 0 0 1px #ffffff0d;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);animation:panel-rise .22s ease-out;isolation:isolate}.bell-panel:before{content:"";position:absolute;top:-18%;right:-10%;bottom:-18%;left:-10%;background:radial-gradient(circle,rgba(79,209,197,.2),transparent 65%);opacity:.8;filter:blur(18px);pointer-events:none;z-index:0}.bell-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 6px);opacity:.22;pointer-events:none;z-index:0}.bell-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.bell-body{padding-top:12px;overflow:auto;max-height:calc(70vh - 72px);position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:rgba(79,209,197,.5) rgba(255,255,255,.08)}.bell-body::-webkit-scrollbar{width:8px}.bell-body::-webkit-scrollbar-track{background:#ffffff0f;border-radius:10px}.bell-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4fd1c5a6,#1fb6aa73);border-radius:10px}.bell-item{position:relative;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#070e1099;margin-bottom:12px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.bell-item:hover{transform:translateY(-1px);border-color:#4fd1c559;box-shadow:0 12px 30px #00000059}.bell-item:active{transform:translateY(0)}.bell-item:focus-visible{outline:2px solid rgba(79,209,197,.45);outline-offset:2px}.bell-item.unread{border-color:#4fd1c58c;background:linear-gradient(150deg,#4fd1c533,#070e10a6);box-shadow:inset 0 0 0 1px #4fd1c533;padding-inline-start:18px}.bell-item.unread:before{content:"";position:absolute;top:10px;bottom:10px;inset-inline-start:8px;width:3px;border-radius:999px;background:linear-gradient(180deg,#4fd1c5f2,#4fd1c533);box-shadow:0 0 12px #4fd1c573}.bell-item.read{opacity:.82}.bell-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.bell-item-title{font-weight:700;letter-spacing:.2px;text-shadow:0 1px 6px rgba(0,0,0,.35)}.bell-type{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;text-align:center;border-radius:8px;font-size:12px;color:#f0fffb;background:#4fd1c529;border:1px solid rgba(79,209,197,.35);box-shadow:inset 0 0 0 1px #ffffff0f}.bell-item-body{margin-top:6px;white-space:pre-wrap;line-height:1.45;color:var(--notif-dim)}.bell-item-meta{margin-top:8px;opacity:.85;font-size:12px;color:#dcf5eebf}.dot{width:10px;height:10px;border-radius:999px;background:#4fd1c5f2;box-shadow:0 0 0 3px #4fd1c526;animation:dot-pulse 1.8s ease-in-out infinite}@keyframes panel-rise{0%{transform:translateY(-6px) scale(.98);opacity:.6}to{transform:translateY(0) scale(1);opacity:1}}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 3px #4fd1c526}50%{box-shadow:0 0 0 7px #4fd1c54d}}@media (max-width: 520px){.bell-panel{padding:12px}}@media (prefers-reduced-motion: reduce){.bell-btn,.bell-item{transition:none}.dot,.bell-panel{animation:none}}.teacher-week-card{padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16)}.week-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#22d3ee1f,#f59e0b14,#ffffff08)}.week-toolbar .btn{font-weight:800}.week-range{font-weight:900;font-size:clamp(1rem,1.4vw,1.18rem);letter-spacing:.2px}.week-scroll{overflow:auto}.week-grid{min-width:920px}.week-header{display:grid;grid-template-columns:78px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border);background:#ffffff0f}.week-time-spacer{border-right:1px solid rgba(255,255,255,.1);background:#060c1859}.week-day-head{padding:10px 8px;text-align:center;border-left:1px solid rgba(255,255,255,.1);font-weight:900;font-size:1.08rem;letter-spacing:.15px;color:var(--text)}.week-day-head .small{display:block;margin-top:3px;font-size:.92rem;font-weight:700;color:var(--muted)}.week-day-head.today{background:linear-gradient(135deg,#22d3ee3d,#f59e0b26)}.week-body{display:grid;grid-template-columns:78px repeat(7,minmax(0,1fr));position:relative}.time-col{position:relative;border-right:1px solid rgba(255,255,255,.1);background:#060c1885}.time-label{position:absolute;left:8px;transform:translateY(-50%);font-size:.78rem;font-weight:700;color:#e0ecffdb}.day-col{position:relative;border-left:1px solid rgba(255,255,255,.1);background-image:linear-gradient(to bottom,rgba(255,255,255,.09) 1px,transparent 1px);background-size:100% var(--hour-height);background-position:0 0}.day-col.today{background-color:#22d3ee14}.week-event{position:absolute;left:6px;right:6px;min-height:38px;border-radius:12px;padding:8px 9px;font-size:.82rem;line-height:1.25;border:1px solid transparent;overflow:hidden;box-shadow:0 10px 24px #0206175c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.week-event-title{font-weight:900;letter-spacing:.12px;text-shadow:0 1px 0 rgba(0,0,0,.2)}.week-event-meta{font-size:.73rem;font-weight:600;opacity:.96;margin-top:2px}.week-event.tone-1{background:#07455ce0;border-color:#22d3eeb8;color:#e6fbff}.week-event.tone-2{background:#631728e0;border-color:#fb7185b8;color:#fff1f5}.week-event.tone-3{background:#0b5c41e0;border-color:#34d399b8;color:#e9fff5}.week-event.tone-4{background:#6e4607e6;border-color:#fbbf24b8;color:#fff8e6}.week-event.tone-5{background:#1e4083e0;border-color:#60a5fabd;color:#eef5ff}.teacher-shell[data-ui-mode=calm] .teacher-week-card{border-color:#435f9233;background:linear-gradient(180deg,#ffffffe6,#f4f9ffdb)!important}.teacher-shell[data-ui-mode=calm] .week-toolbar{border-bottom-color:#435f922e;background:linear-gradient(90deg,#38bdf82e,#14b8a61f,#ffffffb8)!important}.teacher-shell[data-ui-mode=calm] .week-range{color:#1f3356}.teacher-shell[data-ui-mode=calm] .week-header{border-bottom-color:#435f922e;background:#ffffffad}.teacher-shell[data-ui-mode=calm] .week-time-spacer{border-right-color:#435f922e;background:#e1efffc2}.teacher-shell[data-ui-mode=calm] .week-day-head{border-left-color:#435f9229;color:#1d2c47}.teacher-shell[data-ui-mode=calm] .week-day-head .small{color:#4a5e81e0}.teacher-shell[data-ui-mode=calm] .week-day-head.today{background:linear-gradient(135deg,#7dd3fc5c,#5eead438)}.teacher-shell[data-ui-mode=calm] .time-col{border-right-color:#435f922e;background:#e4f0ffdb}.teacher-shell[data-ui-mode=calm] .time-label{color:#344c70e0}.teacher-shell[data-ui-mode=calm] .day-col{border-left-color:#435f9224;background-image:linear-gradient(to bottom,rgba(67,95,146,.14) 1px,transparent 1px)}.teacher-shell[data-ui-mode=calm] .day-col.today{background-color:#7dd3fc33}.teacher-shell[data-ui-mode=calm] .week-event{box-shadow:0 10px 20px #2e4a7b2e;text-shadow:none}.teacher-shell[data-ui-mode=calm] .week-event-title{text-shadow:none}.teacher-shell[data-ui-mode=calm] .week-event.tone-1{background:#d1f5fff5;border-color:#38bdf8d1;color:#0d3f5f}.teacher-shell[data-ui-mode=calm] .week-event.tone-2{background:#ffe3e9f5;border-color:#fb7185cc;color:#60172a}.teacher-shell[data-ui-mode=calm] .week-event.tone-3{background:#dcfce7f5;border-color:#34d399cc;color:#14503a}.teacher-shell[data-ui-mode=calm] .week-event.tone-4{background:#fff1cdf7;border-color:#f59e0bcc;color:#5f3d05}.teacher-shell[data-ui-mode=calm] .week-event.tone-5{background:#dbeafef7;border-color:#60a5facc;color:#1e3a8a}@media (max-width: 980px){.week-grid{min-width:840px}}@media (max-width: 720px){.week-grid{min-width:760px}.week-toolbar{align-items:flex-start}}
