#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.mainLayout{min-height:100vh}.login-page{--auth-bg: #f2f4f7;--auth-card-bg: #ffffff;--auth-card-border: #e3e8f1;--auth-card-shadow: 0 16px 40px rgba(15, 23, 42, .1);--auth-text: #374151;--auth-subtext: #6b7280;--auth-input-bg: #ffffff;--auth-input-border: #d1d5db;--auth-input-text: #111827;--auth-input-placeholder: #9ca3af;--auth-accent: #3b82f6;--auth-link: #2563eb;min-height:100dvh;background:var(--auth-bg);display:flex;align-items:center;justify-content:center;padding:20px}:root[data-theme=dark] .login-page{--auth-bg: radial-gradient(circle at 10% 10%, rgba(59, 130, 246, .2), transparent 30%), #0b1220;--auth-card-bg: #0f172a;--auth-card-border: #1f2b3d;--auth-card-shadow: 0 16px 40px rgba(2, 6, 16, .55);--auth-text: #e2e8f0;--auth-subtext: #94a3b8;--auth-input-bg: #111c30;--auth-input-border: #2b3b54;--auth-input-text: #f8fafc;--auth-input-placeholder: #7f8ca1;--auth-accent: #3b82f6;--auth-link: #60a5fa}.login-main{width:100%;display:flex;justify-content:center}.login-card{width:min(560px,100%);background:var(--auth-card-bg);border:1px solid var(--auth-card-border);border-radius:20px;box-shadow:var(--auth-card-shadow);padding:30px}.login-card-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:20px}.login-logoWrap{width:100%;display:flex;justify-content:center;margin-bottom:20px}.login-logoImage{width:min(320px,100%);height:auto;display:block;object-position:center}.login-logoImage--school{width:min(132px,32vw);max-height:132px;object-fit:contain}.login-schoolTitle{margin:0 0 8px;color:var(--auth-text);font-size:1.9rem;line-height:1.1}.login-card-head p{margin:0;color:var(--auth-subtext);font-size:1.05rem}.login-form{display:flex;flex-direction:column;gap:10px}.login-form>label{color:var(--auth-text);font-size:1rem;font-weight:700}.login-input{display:flex;align-items:center;gap:10px;border:1px solid var(--auth-input-border);border-radius:12px;background:var(--auth-input-bg);padding:12px 14px}.login-input span{color:var(--auth-input-placeholder);font-size:1.1rem}.login-input input{border:0;background:transparent;outline:none;width:100%;font-size:1rem;color:var(--auth-input-text)}.login-input input::placeholder{color:var(--auth-input-placeholder)}.login-link{border:0;background:transparent;color:var(--auth-accent);font-size:.95rem;font-weight:700;cursor:pointer;white-space:nowrap}.login-check{margin-top:4px;display:flex;align-items:center;gap:8px;color:var(--auth-text);font-size:.95rem}.login-check input{accent-color:var(--auth-accent)}.login-error{margin-top:2px;color:#b91c1c;font-size:.9rem}.login-primary{margin-top:12px;border:0;border-radius:10px;background:var(--auth-accent);color:#fff;width:100%;padding:14px;font-size:1.05rem;font-weight:700;cursor:pointer}.login-primary:disabled{opacity:.75;cursor:not-allowed}.login-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:10px;border:1px solid var(--auth-input-border);border-radius:10px;background:transparent;color:var(--auth-text);padding:14px;font-size:1rem;font-weight:700;text-decoration:none;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.login-secondary:hover{background:#3b82f614;border-color:#3b82f652;color:var(--auth-link)}.login-footnote{margin-top:22px;text-align:center;color:var(--auth-subtext);font-size:.98rem}.login-inline-link{color:var(--auth-link);font-weight:700;text-decoration:none}.login-inline-link:hover{text-decoration:underline}@media(max-width:640px){.login-page{padding:14px}.login-card{padding:22px}.login-logoImage{width:min(270px,88%)}.login-logoWrap{margin-bottom:16px}.login-card-head p{font-size:.96rem}}.super-login-page{--auth-bg: #f2f4f7;--auth-card-bg: #ffffff;--auth-card-border: #e3e8f1;--auth-card-shadow: 0 16px 40px rgba(15, 23, 42, .1);--auth-text: #374151;--auth-subtext: #6b7280;--auth-input-bg: #ffffff;--auth-input-border: #d1d5db;--auth-input-text: #111827;--auth-input-placeholder: #9ca3af;--auth-accent: #3b82f6;--auth-link: #2563eb;min-height:100dvh;background:var(--auth-bg);display:flex;align-items:center;justify-content:center;padding:20px}:root[data-theme=dark] .super-login-page{--auth-bg: radial-gradient(circle at 10% 10%, rgba(59, 130, 246, .2), transparent 30%), #0b1220;--auth-card-bg: #0f172a;--auth-card-border: #1f2b3d;--auth-card-shadow: 0 16px 40px rgba(2, 6, 16, .55);--auth-text: #e2e8f0;--auth-subtext: #94a3b8;--auth-input-bg: #111c30;--auth-input-border: #2b3b54;--auth-input-text: #f8fafc;--auth-input-placeholder: #7f8ca1;--auth-accent: #3b82f6;--auth-link: #60a5fa}.super-login-main{width:100%;display:flex;justify-content:center}.super-login-card{width:min(560px,100%);background:var(--auth-card-bg);border:1px solid var(--auth-card-border);border-radius:20px;box-shadow:var(--auth-card-shadow);padding:30px}.super-login-cardHead{text-align:center;margin-bottom:20px}.super-login-logoIcon{width:min(320px,80%);height:auto;display:block;margin:0 auto 20px}.super-login-cardHead p{margin:0;color:var(--auth-subtext);font-size:1.05rem}.super-login-form{display:flex;flex-direction:column;gap:10px}.super-login-form label{color:var(--auth-text);font-size:1rem;font-weight:700}.super-login-inputWrap{display:flex;align-items:center;gap:10px;border:1px solid var(--auth-input-border);border-radius:12px;background:var(--auth-input-bg);padding:12px 14px}.super-login-inputWrap span{color:var(--auth-input-placeholder);font-size:1.1rem}.super-login-inputWrap input{border:0;background:transparent;outline:none;width:100%;font-size:1rem;color:var(--auth-input-text)}.super-login-inputWrap input::placeholder{color:var(--auth-input-placeholder)}.super-login-passHead{margin-top:2px;display:flex;align-items:center;justify-content:space-between}.super-login-passHead button{border:0;background:transparent;color:var(--auth-accent);font-size:.95rem;font-weight:700;cursor:pointer}.super-login-check{margin-top:4px;display:flex;align-items:center;gap:8px;color:var(--auth-text);font-size:.95rem}.super-login-check input{accent-color:var(--auth-accent)}.super-login-error{margin-top:2px;color:#b91c1c;font-size:.9rem}.super-login-submit{margin-top:12px;border:0;border-radius:10px;background:var(--auth-accent);color:#fff;width:100%;padding:14px;font-size:1.05rem;font-weight:700;cursor:pointer}.super-login-submit:disabled{opacity:.75;cursor:not-allowed}.super-login-footer{margin-top:22px;text-align:center;color:var(--auth-subtext);font-size:.98rem}.super-login-footer a{color:var(--auth-link);font-weight:700;text-decoration:none}.super-login-footer a:hover{text-decoration:underline}@media(max-width:640px){.super-login-page{padding:14px}.super-login-card{padding:22px}.super-login-logoIcon{width:min(270px,88%);margin-bottom:16px}.super-login-cardHead p{font-size:.96rem}}.teacher-dashboard{display:flex;flex-direction:column;gap:24px}.teacher-dashboard__hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-dashboard__breadcrumb{font-size:13px;color:#94a3b8;margin:0 0 6px}.teacher-dashboard__breadcrumb span{margin:0 6px;color:#cbd5f5}.teacher-dashboard__hero h2{margin:0 0 6px;font-size:28px;font-weight:700;color:#0f172a}.teacher-dashboard__subtitle{margin:0;font-size:14px;color:#64748b}.teacher-dashboard__action{background:#2563eb;color:#fff;border:none;border-radius:12px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 10px 20px #2563eb33}.teacher-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.teacher-dashboard__grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}@media(max-width:1024px){.teacher-dashboard__grid{grid-template-columns:1fr}}@media(max-width:900px){.teacher-dashboard__hero{flex-direction:column;align-items:flex-start}}:root[data-theme=dark] .teacher-dashboard__hero h2{color:#e5e7eb}:root[data-theme=dark] .teacher-dashboard__subtitle,:root[data-theme=dark] .teacher-dashboard__breadcrumb{color:#94a3b8}.sidebar{width:240px;background-color:#111827;color:#fff;display:flex;flex-direction:column;padding:16px;flex-shrink:0}.sidebar__logo{display:flex;align-items:center;margin-bottom:32px}.sidebar__defaultLogo{width:160px;height:auto;display:block}.sidebar__nav{display:flex;flex-direction:column;gap:8px}.sidebar__link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#d1d5db;text-decoration:none;font-size:14px;transition:background-color .2s ease,color .2s ease}.sidebar__link:hover{background-color:#1f2933;color:#fff}.sidebar__link--disabled{opacity:.72;cursor:not-allowed;justify-content:space-between}.sidebar__link--disabled:hover{background-color:transparent;color:inherit}.sidebar__comingSoon{font-size:11px;font-weight:700;color:#94a3b8}.sidebar__link--active{background-color:#2563eb;color:#fff}.sidebar__icon{font-size:16px;width:20px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.sidebar__icon svg{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}:root[data-theme=dark] .sidebar--admin .sidebar__icon svg,:root[data-theme=dark] .sidebar--teacher .sidebar__icon svg,:root[data-theme=dark] .sidebar--student .sidebar__icon svg,:root[data-theme=dark] .sidebar--parent .sidebar__icon svg{fill:none;stroke:currentColor;stroke-width:2}.sidebar__label{white-space:nowrap}.sidebar--teacher{width:260px;background-color:#fff;color:#1f2937;border-right:1px solid #e2e8f0;padding:24px 20px;gap:24px}.sidebar--teacher .sidebar__nav{gap:8px}.sidebar--teacher .sidebar__link{background:transparent;border:none;color:#64748b;font-weight:600}.sidebar--teacher .sidebar__link:hover{background:#eef4ff;color:#2563eb}.sidebar--teacher .sidebar__link--active{background:#e7efff;color:#2563eb}.sidebar--teacher .sidebar__icon{width:18px;height:18px}.sidebar--teacher .sidebar__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.sidebar--student,.sidebar--parent{width:260px;background-color:#fff;color:#1f2937;border-right:1px solid #e2e8f0;padding:24px 20px;gap:24px}.sidebar--student .sidebar__link,.sidebar--parent .sidebar__link{background:transparent;border:none;color:#64748b;font-weight:600}.sidebar--student .sidebar__link:hover,.sidebar--parent .sidebar__link:hover{background:#f1f5f9;color:#1d4ed8}.sidebar--student .sidebar__link--active{background:#f3e8e8;color:#7f1d1d}.sidebar--parent .sidebar__link--active{background:#efe7ff;color:#6d28d9}.sidebar--parent{background:linear-gradient(180deg,#0b1220fa,#10182dfa);color:#e5e7eb;border-right-color:#334155e6}.sidebar--parent .sidebar__brandTitle{color:#f8fafc}.sidebar--parent .sidebar__brandSubtitle{color:#94a3b8}.sidebar--parent .sidebar__link{color:#94a3b8;border-radius:14px}.sidebar--parent .sidebar__link:hover{background:#25334fd9;color:#e2e8f0}.sidebar--parent .sidebar__link--active{background:#5b21b647;color:#ddd6fe;box-shadow:inset 3px 0 #8b5cf6}.sidebar--admin{width:260px;background-color:#fff;color:#1f2937;border-right:1px solid #e2e8f0;padding:24px 20px;gap:24px}.sidebar--admin .sidebar__link{background:transparent;border:none;color:#64748b;font-weight:600}.sidebar--admin .sidebar__link:hover{background:#e6f7ef;color:#047857}.sidebar--admin .sidebar__link--active{background:#e6f7ef;color:#047857;border-radius:12px}.sidebar--admin .sidebar__link--disabled:hover{background:transparent;color:#64748b}.sidebar__adminActions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.sidebar__cta{background:#047857;color:#fff;border:none;border-radius:12px;padding:10px 12px;font-weight:600;cursor:pointer}.sidebar__link--muted{color:#94a3b8}.sidebar--superAdmin{width:260px;background-color:#fff;color:#0f172a;border-right:1px solid #d9e1f2;padding:24px 20px;gap:28px}.sidebar--superAdmin .sidebar__nav{gap:8px}.sidebar--superAdmin .sidebar__link{background:transparent;border:none;color:#64748b;font-weight:600}.sidebar--superAdmin .sidebar__link:hover{background:#eef4ff;color:#2563eb}.sidebar--superAdmin .sidebar__link--active{background:#e7efff;color:#2563eb;box-shadow:inset 3px 0 #2563eb}.sidebar--superAdmin .sidebar__icon{width:18px;height:18px}.sidebar--superAdmin .sidebar__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.sidebar__brand{display:flex;align-items:center;gap:12px}.sidebar__brandLogo{width:56px;height:56px;object-fit:contain;display:block;flex-shrink:0}.sidebar__brandText{display:flex;flex-direction:column;line-height:1.2}.sidebar__brandTitle{font-weight:700;font-size:16px}.sidebar__brandSubtitle{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-top:2px}:root[data-theme=dark] .sidebar--teacher,:root[data-theme=dark] .sidebar--student,:root[data-theme=dark] .sidebar--parent,:root[data-theme=dark] .sidebar--admin,:root[data-theme=dark] .sidebar--superAdmin{background-color:#0f172a;color:#e5e7eb;border-right-color:#1f2b3d}:root[data-theme=dark] .sidebar--teacher .sidebar__link,:root[data-theme=dark] .sidebar--student .sidebar__link,:root[data-theme=dark] .sidebar--parent .sidebar__link,:root[data-theme=dark] .sidebar--admin .sidebar__link,:root[data-theme=dark] .sidebar--superAdmin .sidebar__link{color:#94a3b8}:root[data-theme=dark] .sidebar--teacher .sidebar__link:hover,:root[data-theme=dark] .sidebar--superAdmin .sidebar__link:hover{background:#13233c;color:#93c5fd}:root[data-theme=dark] .sidebar--student .sidebar__link:hover,:root[data-theme=dark] .sidebar--parent .sidebar__link:hover{background:#1a2436;color:#bfdbfe}:root[data-theme=dark] .sidebar--admin .sidebar__link:hover{background:#113127;color:#6ee7b7}:root[data-theme=dark] .sidebar--teacher .sidebar__link--active,:root[data-theme=dark] .sidebar--superAdmin .sidebar__link--active{background:#142a4d;color:#bfdbfe}:root[data-theme=dark] .sidebar--student .sidebar__link--active{background:#3b1518;color:#fecaca}:root[data-theme=dark] .sidebar--parent .sidebar__link--active{background:#2b1d4a;color:#ddd6fe}:root[data-theme=dark] .sidebar--admin .sidebar__link--active{background:#12382c;color:#86efac}:root[data-theme=dark] .sidebar__brandSubtitle,:root[data-theme=dark] .sidebar__link--muted{color:#7f8ca1}.sidebar__user{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid #d9e1f2}.sidebar__user--profile{text-decoration:none;color:inherit;padding:16px 10px 0;margin:auto -10px 0;border-radius:16px;transition:background-color .2s ease,color .2s ease}.sidebar__user--profile:hover{background:#2563eb14}.sidebar__user--profile:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.sidebar__user--active{background:#2563eb14}.sidebar__avatar{width:38px;height:38px;border-radius:50%;background:#fde68a;color:#1f2937;display:grid;place-items:center;font-weight:700;font-size:12px}.sidebar__userName{font-size:13px;font-weight:600}.sidebar__userRole{font-size:11px;color:#64748b;margin-top:2px}:root[data-theme=dark] .sidebar__user{border-top-color:#263244}:root[data-theme=dark] .sidebar__user--profile:hover,:root[data-theme=dark] .sidebar__user--active{background:#3b82f624;color:#e5edf9}:root[data-theme=dark] .sidebar__user--profile:hover .sidebar__userRole,:root[data-theme=dark] .sidebar__user--active .sidebar__userRole{color:#cbd5e1}:root[data-theme=dark] .sidebar__userRole{color:#94a3b8}@media(max-width:1024px){.sidebar{width:200px}.sidebar--superAdmin,.sidebar--teacher,.sidebar--student,.sidebar--parent,.sidebar--admin{width:220px}}@media(max-width:768px){.sidebar,.sidebar--superAdmin,.sidebar--teacher,.sidebar--student,.sidebar--parent,.sidebar--admin{position:fixed;left:0;right:0;bottom:0;z-index:30;width:100%;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--color-border);display:block;background:var(--color-bg-card);box-shadow:0 -8px 24px #0f172a1f}.sidebar__brand,.sidebar__user,.sidebar__adminActions{display:none}.sidebar__nav{flex-direction:row;flex-wrap:nowrap;gap:8px;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar__nav::-webkit-scrollbar{display:none}.sidebar__label{display:none}.sidebar__link{min-width:40px;min-height:40px;padding:8px;justify-content:center;border-radius:10px}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .sidebar--superAdmin,:root[data-theme=dark] .sidebar--teacher,:root[data-theme=dark] .sidebar--student,:root[data-theme=dark] .sidebar--parent,:root[data-theme=dark] .sidebar--admin{border-top-color:#243041;box-shadow:0 -10px 28px #00000061}}.topbar{display:flex;align-items:center;padding:1rem 1.5rem}.topbarTitle{font-size:1.25rem;font-weight:600}.topbar--teacher{height:64px;padding:0 28px;background:#fff;border-bottom:1px solid #e2e8f0;gap:18px;position:sticky;top:0;z-index:5}.topbar--teacher .topbar__center{max-width:360px}.topbar__brand{display:flex;align-items:center;gap:10px}.topbar__brandLogo{width:42px;height:42px;object-fit:contain;display:block}.topbar__brandText{font-weight:700;font-size:14px;color:#0f172a}.topbar__brandStack{display:flex;flex-direction:column;line-height:1.15}.topbar__brandMeta{font-size:11px;color:#64748b}.topbar__nav{display:flex;align-items:center;gap:12px}.topbar__navItem{background:transparent;border:none;color:#64748b;font-weight:600;font-size:13px;cursor:pointer;text-decoration:none}.topbar__navItem.is-active{color:#2563eb;position:relative}.topbar__navItem.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#2563eb}.topbar--teacher .topbar__iconButton{background:#f8fafc;border:1px solid #e2e8f0}.topbar__avatar{width:34px;height:34px;border-radius:50%;background:#fcd34d;color:#1f2937;display:grid;place-items:center;font-weight:700;font-size:12px}.topbar__profileAvatar,.topbar__profileLink{text-decoration:none}.topbar--student{height:64px;padding:0 28px;background:#fff;border-bottom:1px solid #e2e8f0;gap:18px;position:sticky;top:0;z-index:5}.topbar__roleBadge{background:#f5e8ea;color:#991b1b;font-size:12px;font-weight:600;padding:6px 10px;border-radius:10px}.topbar--admin{height:64px;padding:0 28px;background:#fff;border-bottom:1px solid #e2e8f0;gap:18px;position:sticky;top:0;z-index:5}.topbar__school{display:flex;align-items:center;gap:10px;font-weight:700;color:#0f172a}.topbar__searchWrap{position:relative}.topbar__searchMessage{margin:6px 0 0;font-size:12px;color:#94a3b8}.topbar__schoolIcon{width:42px;height:42px;object-fit:contain;display:block;border-radius:12px}:root[data-theme=dark] .topbar__iconButton svg{fill:none;stroke:currentColor;stroke-width:1.9}.topbar__iconButton--disabled{opacity:.72}.topbar__iconButton--disabled:hover{cursor:not-allowed}.topbar--parent{min-height:72px;padding:0 28px;background:#0a1020eb;border-bottom:1px solid rgba(51,65,85,.82);gap:24px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar__switch{display:flex;flex-direction:column;gap:6px}.topbar__switchLabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.topbar__switchButton{border:1px solid rgba(148,163,184,.18);background:#0f172ae6;border-radius:14px;padding:10px 14px;font-size:13px;font-weight:600;color:#e2e8f0;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;min-width:270px;box-shadow:inset 0 1px #ffffff08}.topbar__switchSelect{border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;outline:none;width:100%;min-width:0;appearance:none}.topbar--parent .topbar__nav{flex:1;justify-content:center}.topbar--parent .topbar__navItem{display:inline-flex;align-items:center;min-height:40px;color:#94a3b8}.topbar--parent .topbar__navItem.is-active{color:#93c5fd}.topbar--parent .topbar__navItem.is-active:after{background:#3b82f6}.topbar--parent .topbar__iconButton{color:#94a3b8;text-decoration:none}.topbar--parent .topbar__iconButton:hover{background:#1e293be6;color:#93c5fd}.topbar--parent .topbar__userName{color:#f8fafc}.topbar--parent .topbar__userRole{color:#94a3b8}.topbar--parent .topbar__userAvatar{background:#fde68a}.topbar--superAdmin{height:64px;padding:0 28px;background:#ffffffeb;border-bottom:1px solid #d9e1f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:5;gap:24px}.topbar--superAdmin .topbarTitle{font-size:18px;font-weight:700}.topbar__left{flex:1}.topbar__center{flex:2;max-width:480px;position:relative}.topbar__searchInput{width:100%;padding:10px 14px 10px 38px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;font-size:13px;color:#1f2937}.topbar__searchIcon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}.topbar__searchIcon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.topbar__right{display:flex;align-items:center;gap:12px}.topbar__iconButton{width:36px;height:36px;border-radius:50%;border:1px solid transparent;background:transparent;display:grid;place-items:center;color:#64748b;cursor:pointer}.topbar__iconButton svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.topbar__iconButton:hover{background:#f0f3f9;color:#2563eb}.topbar__divider{width:1px;height:24px;background:#d9e1f2}.topbar__user{display:flex;align-items:center;gap:10px}.topbar__profileLink{border-radius:999px;padding:4px 6px 4px 10px;transition:background-color .2s ease,box-shadow .2s ease}.topbar__profileLink:hover{background:#f8fafc}.topbar__profileLink:focus-visible,.topbar__profileAvatar:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.topbar__profileAvatar{transition:transform .2s ease,box-shadow .2s ease}.topbar__profileAvatar:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2563eb29}.topbar__userText{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.topbar__userName{font-size:13px;font-weight:600;color:#0f172a}.topbar__userRole{font-size:11px;color:#64748b}.topbar__userAvatar{width:34px;height:34px;border-radius:50%;background:#fde68a;color:#1f2937;display:grid;place-items:center;font-weight:700;font-size:12px}@media(max-width:1024px){.topbar--superAdmin{padding:0 20px}.topbar__center{max-width:320px}.topbar--teacher,.topbar--student,.topbar--parent,.topbar--admin{padding:0 20px}}@media(max-width:900px){.topbar--superAdmin{flex-wrap:wrap;height:auto;padding:16px 20px}.topbar__center{order:3;width:100%;max-width:none}.topbar__left,.topbar__right{flex:initial}.topbar--teacher{flex-wrap:wrap;height:auto;padding:16px 20px}.topbar--teacher .topbar__center{order:3;width:100%;max-width:none}.topbar__nav{order:2;width:100%;justify-content:flex-start}.topbar--student,.topbar--parent,.topbar--admin{flex-wrap:wrap;height:auto;padding:16px 20px}.topbar--parent .topbar__switch{width:100%}.topbar--parent .topbar__switchButton{width:100%;min-width:0}.topbar--parent .topbar__nav{order:2;width:100%;justify-content:flex-start}.topbar--parent .topbar__right{width:100%;justify-content:space-between}.topbar--student .topbar__center{order:3;width:100%;max-width:none}}:root[data-theme=dark] .topbar--teacher,:root[data-theme=dark] .topbar--student,:root[data-theme=dark] .topbar--admin{background:#0f172a;border-bottom-color:#1f2b3d}:root[data-theme=dark] .topbar--superAdmin{background:#0d1424e6;border-bottom-color:#1f2b3d}:root[data-theme=dark] .topbar__brandText,:root[data-theme=dark] .topbar__school,:root[data-theme=dark] .topbar__userName{color:#e5e7eb}:root[data-theme=dark] .topbar__navItem,:root[data-theme=dark] .topbar__iconButton,:root[data-theme=dark] .topbar__userRole,:root[data-theme=dark] .topbar__brandMeta,:root[data-theme=dark] .topbar__switchLabel,:root[data-theme=dark] .topbar__searchIcon{color:#94a3b8}:root[data-theme=dark] .topbar__searchInput{background:#111c30;border-color:#263244;color:#e5e7eb}:root[data-theme=dark] .topbar--teacher .topbar__iconButton{background:#111c30;border-color:#263244}:root[data-theme=dark] .topbar__switchButton{background:#101a2d;border-color:#263244}:root[data-theme=dark] .topbar__divider{background:#263244}:root[data-theme=dark] .topbar__iconButton:hover{background:#172742;color:#93c5fd}:root[data-theme=dark] .topbar__roleBadge{background:#3b1518;color:#fecaca}.dashboardLayout{display:flex;width:100vw;min-height:100vh;overflow-x:hidden}.dashboardMain{flex:1;width:100%;min-width:0}.dashboardContent{width:100%;padding:24px}.dashboardLayout--superAdmin,.dashboardLayout--superAdmin .dashboardMain{background:var(--dashboard-bg-superadmin)}.dashboardLayout--teacher,.dashboardLayout--teacher .dashboardMain{background:var(--dashboard-bg-teacher)}.dashboardLayout--student,.dashboardLayout--student .dashboardMain{background:var(--dashboard-bg-student)}.dashboardLayout--parent,.dashboardLayout--parent .dashboardMain{background:var(--dashboard-bg-parent)}.dashboardLayout--admin,.dashboardLayout--admin .dashboardMain{background:var(--dashboard-bg-admin)}@media(max-width:768px){.dashboardLayout{flex-direction:column;width:100%}.dashboardMain{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.dashboardContent{padding:16px}}.teacherStatCard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;box-shadow:0 10px 24px #0f172a0a;display:flex;flex-direction:column;gap:6px}.teacherStatCard__row{display:flex;align-items:center;justify-content:space-between}.teacherStatCard__label{font-size:13px;font-weight:600;color:#64748b}.teacherStatCard__icon{width:26px;height:26px;border-radius:10px;background:#eef4ff;display:grid;place-items:center;color:#2563eb}.teacherStatCard__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.teacherStatCard__value{font-size:26px;font-weight:700;color:#0f172a}.teacherStatCard__trend{font-size:12px;font-weight:600;color:#64748b}.teacherStatCard__trend.is-positive{color:#16a34a}.teacherStatCard__trend.is-negative{color:#ef4444}.teacherStatCard__trend.is-neutral{color:#2563eb}:root[data-theme=dark] .teacherStatCard{background:#111a2c;border-color:#243041;box-shadow:0 10px 24px #00000059}:root[data-theme=dark] .teacherStatCard__label,:root[data-theme=dark] .teacherStatCard__trend{color:#94a3b8}:root[data-theme=dark] .teacherStatCard__value{color:#e5e7eb}:root[data-theme=dark] .teacherStatCard__icon{background:#172036;color:#93c5fd}.recent-classes{background-color:#fff;border-radius:12px;padding:16px}.recent-classes__title{font-size:16px;font-weight:600;margin-bottom:12px;color:#111827}.recent-classes__list{list-style:none;margin:0;padding:0}.recent-classes__item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb}.recent-classes__item:last-child{border-bottom:none}.recent-classes__info{display:flex;flex-direction:column;gap:4px}.recent-classes__subject{font-size:14px;font-weight:600;color:#111827}.recent-classes__meta{font-size:12px;color:#6b7280}.recent-classes__time{font-size:12px;font-weight:500;color:#2563eb}@media(max-width:768px){.recent-classes__item{flex-direction:column;align-items:flex-start;gap:6px}.recent-classes__time{align-self:flex-end}}:root[data-theme=dark] .recent-classes{background:#111a2c;border:1px solid #243041}:root[data-theme=dark] .recent-classes__title,:root[data-theme=dark] .recent-classes__subject{color:#e5e7eb}:root[data-theme=dark] .recent-classes__item{border-bottom-color:#243041}:root[data-theme=dark] .recent-classes__meta{color:#94a3b8}:root[data-theme=dark] .recent-classes__time{color:#93c5fd}.quick-actions{background-color:#fff;border-radius:12px;padding:16px}.quick-actions__title{font-size:16px;font-weight:600;margin-bottom:16px;color:#111827}.quick-actions__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.quick-actions__card{border:1px solid #e5e7eb;border-radius:10px;padding:16px;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.quick-actions__card:hover{background-color:#f9fafb;box-shadow:0 4px 10px #0000000a}.quick-actions__label{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px}.quick-actions__description{font-size:12px;color:#6b7280}:root[data-theme=dark] .quick-actions{background:#111a2c;border:1px solid #243041}:root[data-theme=dark] .quick-actions__title,:root[data-theme=dark] .quick-actions__label{color:#e5e7eb}:root[data-theme=dark] .quick-actions__description{color:#94a3b8}:root[data-theme=dark] .quick-actions__card{border-color:#334155;background:#0f172a}:root[data-theme=dark] .quick-actions__card:hover{background:#172036;box-shadow:none}.scheduleCard{background:#fff;border-radius:16px;padding:20px;border:1px solid #e5e7eb}.scheduleHeader{margin-bottom:16px}.scheduleHeader h3{font-size:16px;font-weight:600}.scheduleList{display:flex;flex-direction:column;gap:12px}.scheduleItem{display:flex;align-items:center;gap:16px;padding:14px;border-radius:12px;border:1px solid #e5e7eb;position:relative}.scheduleItem.active{background:#dcfce7;border-color:#16a34a}.time{font-weight:600;min-width:70px}.details{flex:1}.subject{font-weight:500}.meta{font-size:12px;color:#6b7280}.nowBadge{background:#16a34a;color:#fff;font-size:12px;padding:4px 10px;border-radius:999px}:root[data-theme=dark] .scheduleCard{background:#111a2c;border-color:#243041}:root[data-theme=dark] .scheduleHeader h3,:root[data-theme=dark] .time,:root[data-theme=dark] .subject{color:#e5e7eb}:root[data-theme=dark] .scheduleItem{border-color:#334155;background:#0f172a}:root[data-theme=dark] .scheduleItem.active{background:#12382c;border-color:#16a34a}:root[data-theme=dark] .meta,:root[data-theme=dark] .emptyState{color:#94a3b8}.skeleton{width:100%;border-radius:8px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.teacher-timetable{background-color:#fff;border-radius:12px;padding:16px}.teacher-timetable__title{font-size:16px;font-weight:600;margin-bottom:16px;color:#111827}.teacher-timetable__days{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.teacher-timetable__day{border:1px solid #e5e7eb;border-radius:10px;padding:12px}.teacher-timetable__day-name{font-size:14px;font-weight:600;margin-bottom:8px;color:#2563eb}.teacher-timetable__classes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.teacher-timetable__class{background-color:#f9fafb;border-radius:8px;padding:8px}.teacher-timetable__subject{font-size:13px;font-weight:600;color:#111827}.teacher-timetable__meta{font-size:11px;color:#6b7280}@media(max-width:768px){.teacher-timetable__days{grid-template-columns:1fr}}:root[data-theme=dark] .teacher-timetable{background:#111a2c;border:1px solid #243041}:root[data-theme=dark] .teacher-timetable__title,:root[data-theme=dark] .teacher-timetable__subject{color:#e5e7eb}:root[data-theme=dark] .teacher-timetable__day{border-color:#334155;background:#0f172a}:root[data-theme=dark] .teacher-timetable__day-name{color:#93c5fd}:root[data-theme=dark] .teacher-timetable__class{background:#172036}:root[data-theme=dark] .teacher-timetable__meta{color:#94a3b8}.studentsCard{background:#fff;border-radius:16px;padding:20px;border:1px solid #e5e7eb}.studentsHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.studentsHeader h3{font-size:16px;font-weight:600}.viewAllBtn{background:none;border:none;color:#16a34a;font-weight:500;cursor:pointer}.studentsList{display:flex;flex-direction:column;gap:12px}.studentRow{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;border:1px solid #e5e7eb}.studentLeft{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.studentInfo{display:flex;flex-direction:column}.studentName{font-weight:500}.studentRoll{font-size:12px;color:#6b7280}.studentAttendance{text-align:right;font-weight:600}.studentAttendance span{display:block;font-size:12px;color:#6b7280;font-weight:400}.emptyState{padding:24px;text-align:center;color:#6b7280;font-size:14px}:root[data-theme=dark] .studentsCard{background:#111a2c;border-color:#243041}:root[data-theme=dark] .studentsHeader h3,:root[data-theme=dark] .studentName,:root[data-theme=dark] .studentAttendance{color:#e5e7eb}:root[data-theme=dark] .studentRoll,:root[data-theme=dark] .studentAttendance span,:root[data-theme=dark] .emptyState{color:#94a3b8}:root[data-theme=dark] .studentRow{border-color:#334155;background:#0f172a}.statCard{background:var(--color-bg-card);padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.statValue{font-size:24px;font-weight:600}.statLabel{color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.superAdminStatCard{background:var(--super-admin-card);border:1px solid var(--super-admin-border);border-radius:14px;padding:18px 20px;box-shadow:0 8px 20px #0f172a0d;display:flex;flex-direction:column;gap:6px}.superAdminStatTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.superAdminStatCard .statCard{background:transparent;padding:0;border-radius:0;box-shadow:none}.superAdminStatCard .statLabel{font-size:13px;font-weight:600;color:#475569}.superAdminStatCard .statValue{font-size:28px;font-weight:700;color:var(--super-admin-text);letter-spacing:-.01em}.superAdminStatIcon{width:24px;height:24px;display:grid;place-items:center;color:var(--super-admin-primary)}.superAdminStatIcon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.superAdminStatTrend{font-size:12px;font-weight:600;color:var(--super-admin-muted);display:inline-flex;align-items:center;gap:6px}.superAdminStatTrend:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.superAdminStatTrend.is-positive{color:var(--super-admin-success)}.superAdminStatTrend.is-negative{color:var(--super-admin-danger)}.superAdminStatTrend.is-neutral{color:#3b82f6}.schoolsEmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;background-color:var(--super-admin-card);border:1px dashed var(--super-admin-border);border-radius:16px}.schoolsEmptyState h3{margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.schoolsEmptyState p{margin-bottom:1.25rem;font-size:.875rem;color:var(--super-admin-muted)}.primaryAction{padding:.5rem 1rem;font-size:.875rem;font-weight:600;background-color:var(--super-admin-primary);color:#fff;border:none;border-radius:10px;cursor:pointer}.schoolsTableCard{display:flex;flex-direction:column}.schoolsTableHeader{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--super-admin-border)}.schoolsTableHeader h2{margin:0;font-size:16px;font-weight:700}.schoolsTableActions{display:flex;gap:10px}.tableHeaderButton{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--super-admin-border);background:var(--super-admin-card);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--super-admin-text);cursor:pointer}.tableHeaderButton--active,.tableHeaderButton:hover{background:#3b82f614;border-color:#3b82f647}.tableHeaderIcon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.schoolsImportPanel{margin:20px 24px 0;padding:18px;border:1px solid rgba(59,130,246,.18);border-radius:18px;background:linear-gradient(135deg,#3b82f61f,#0f172a05),var(--super-admin-card)}.schoolsImportPanel__intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.schoolsImportPanel__eyebrow,.schoolsImportPanel__statusLabel,.schoolsImportCard__label{display:block;margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--super-admin-muted)}.schoolsImportPanel h3,.schoolsImportPanel p,.schoolsImportCard p,.schoolsImportCard strong{margin:0}.schoolsImportPanel h3{font-size:18px;color:var(--super-admin-text)}.schoolsImportPanel__intro p{margin-top:8px;max-width:720px;color:var(--super-admin-muted);line-height:1.55}.schoolsImportPanel__upload{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:10px 14px;border-radius:12px;background:var(--super-admin-primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.schoolsImportPanel__upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.schoolsImportPanel__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.schoolsImportCard{padding:14px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#0f172a0a}.schoolsImportCard strong{display:block;margin-bottom:8px;color:var(--super-admin-text)}.schoolsImportCard p{color:var(--super-admin-muted);line-height:1.5}.schoolsImportPanel__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.16)}.schoolsImportPanel__footer strong{color:var(--super-admin-text)}.schoolsImportPanel__footerActions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.schoolsImportPanel__statusBlock{display:flex;flex-direction:column;gap:6px}.schoolsImportPanel__buttonRow{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.schoolsImportPanel__templateButton{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid rgba(59,130,246,.28);border-radius:12px;background:#3b82f614;color:var(--super-admin-primary);font-size:13px;font-weight:700;cursor:pointer}.schoolsImportPanel__templateButton:disabled{opacity:.7;cursor:wait}.schoolsImportPanel__templateButton--primary{background:var(--super-admin-primary);border-color:var(--super-admin-primary);color:#fff}.schoolsImportPanel__selectWrap select{min-width:220px;min-height:40px;padding:0 12px;border:1px solid var(--super-admin-border);border-radius:12px;background:var(--super-admin-card);color:var(--super-admin-text);font-size:13px;font-weight:600}.schoolsImportPanel__hint{max-width:420px;color:var(--super-admin-muted);text-align:right;line-height:1.5}.schoolsImportPanel__error{max-width:420px;color:#b42318;text-align:right;line-height:1.5}.schoolsImportPanel__result{max-width:420px;padding:12px 14px;border:1px solid rgba(34,197,94,.25);border-radius:14px;background:#22c55e14}.schoolsImportPanel__result p{margin-top:6px;color:var(--super-admin-muted);line-height:1.5}.schoolsTableWrapper{overflow-x:auto}.schoolsTable{width:100%;border-collapse:collapse;background-color:transparent;min-width:760px}.schoolsTable th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--super-admin-muted);text-align:left;padding:16px 24px;background:var(--color-surface-muted)}.schoolsTable td{font-size:14px;padding:16px 24px;color:var(--super-admin-muted)}.schoolsTable tr:not(:last-child) td{border-bottom:1px solid var(--super-admin-border)}.cellStrong{font-weight:600;color:var(--super-admin-text)}.align-right{text-align:right}.tableAction{background:transparent;border:none;color:var(--super-admin-primary);font-weight:600;cursor:pointer}.subscriptionBadge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;text-transform:capitalize}.subscription-active{color:var(--super-admin-success);background:#16a34a1a;border:1px solid rgba(22,163,74,.2)}.subscription-trial{color:#2563eb;background:#2563eb1a;border:1px solid rgba(37,99,235,.2)}.subscription-expired{color:var(--super-admin-danger);background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.schoolsTableFooter{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--super-admin-border);font-size:12px;color:var(--super-admin-muted)}.pagination{display:flex;gap:8px}.paginationButton{width:32px;height:32px;border-radius:8px;border:1px solid var(--super-admin-border);background:var(--super-admin-card);display:grid;place-items:center;color:var(--super-admin-muted);cursor:pointer}.paginationButton svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.paginationButton:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=dark] .schoolsTable th{color:#cbd5e1}:root[data-theme=dark] .tableHeaderButton:hover,:root[data-theme=dark] .paginationButton:hover:not(:disabled){background:#172036}@media(max-width:900px){.schoolsImportPanel__intro,.schoolsImportPanel__footer{flex-direction:column;align-items:stretch}.schoolsImportPanel__grid{grid-template-columns:1fr}.schoolsImportPanel__hint{max-width:none;text-align:left}.schoolsImportPanel__footerActions{align-items:stretch}.schoolsImportPanel__buttonRow{justify-content:stretch}.schoolsImportPanel__hint,.schoolsImportPanel__error{max-width:none;text-align:left}}.dashboard-skeleton{display:flex;flex-direction:column;gap:16px}.dashboard-skeleton--table{gap:14px}.dashboard-skeleton__title,.dashboard-skeleton__subtitle,.dashboard-skeleton__stat,.dashboard-skeleton__panel,.dashboard-skeleton__thead,.dashboard-skeleton__row,.dashboard-skeleton__search,.dashboard-skeleton__filter{border-radius:10px;background:linear-gradient(90deg,#e6ebf5,#f2f5fb 45%,#e6ebf5);background-size:200% 100%;animation:dashboardShimmer 1.5s linear infinite}.dashboard-skeleton__title{height:30px;width:280px}.dashboard-skeleton__subtitle{height:14px;width:420px;max-width:100%}.dashboard-skeleton__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-skeleton__stat{height:112px}.dashboard-skeleton__content{display:grid;grid-template-columns:2fr 1fr;gap:12px}.dashboard-skeleton__panel,.dashboard-skeleton__panel--wide{height:220px}.dashboard-skeleton__toolbar{display:flex;gap:10px}.dashboard-skeleton__search{height:40px;width:280px}.dashboard-skeleton__filter{height:40px;width:140px}.dashboard-skeleton__table{display:flex;flex-direction:column;gap:8px}.dashboard-skeleton__thead{height:46px}.dashboard-skeleton__row{height:58px}@keyframes dashboardShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1024px){.dashboard-skeleton__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-skeleton__content{grid-template-columns:1fr}}@media(max-width:720px){.dashboard-skeleton__stats{grid-template-columns:1fr}.dashboard-skeleton__title{width:80%}.dashboard-skeleton__toolbar{flex-direction:column}.dashboard-skeleton__search,.dashboard-skeleton__filter{width:100%}}.system-loading-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% -20%,#2d5fc447,#06122df2,#040e24fa)}.system-loading-overlay:after{content:"";position:absolute;inset:0;background:#040e229e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.system-loading-overlay__bg{position:absolute;inset:0;opacity:.45;filter:blur(.5px)}.system-loading-overlay__topbar{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center}.system-loading-overlay__topbar span{width:64px;height:14px;border-radius:7px;background:#7998d638}.system-loading-overlay__topbar span:last-child{width:92px}.system-loading-overlay__headerSkeleton{position:absolute;top:86px;left:38px;display:grid;gap:12px}.system-loading-overlay__headerSkeleton span{width:210px;height:14px;border-radius:7px;background:#6e8ed240}.system-loading-overlay__headerSkeleton span:last-child{width:320px;height:12px}.system-loading-overlay__tabs{position:absolute;top:145px;left:38px;display:flex;gap:16px}.system-loading-overlay__tabs span{width:160px;height:48px;border-radius:12px;background:#6e8ed233}.system-loading-overlay__table{position:absolute;inset:216px 38px 72px;border:1px solid rgba(130,162,224,.16);border-radius:14px;background:#23365b3b;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:24px}.system-loading-overlay__table span{height:14px;border-radius:999px;background:#7699dc33}.system-loading-overlay__card{position:relative;z-index:2;min-width:min(360px,90vw);border-radius:18px;border:1px solid rgba(122,156,230,.2);background:#18243cc7;box-shadow:0 20px 50px #060e1e80;padding:28px 24px;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.system-loading-overlay__spinnerWrap{width:72px;height:72px;margin:0 auto 18px;position:relative}.system-loading-overlay__spinnerBg,.system-loading-overlay__spinner{position:absolute;inset:0;border-radius:999px;border:4px solid transparent}.system-loading-overlay__spinnerBg{border-color:#7f9fe052}.system-loading-overlay__spinner{border-top-color:#3a7cff;animation:systemLoaderSpin 1s linear infinite}.system-loading-overlay__card h2{margin:0 0 6px;font-size:2rem;color:#e9f1ff;font-weight:500}.system-loading-overlay__card p{margin:0;font-size:1.15rem;color:#afbed9}@keyframes systemLoaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:900px){.system-loading-overlay__tabs span{width:120px;height:40px}.system-loading-overlay__headerSkeleton span:last-child{width:250px}.system-loading-overlay__table{grid-template-columns:repeat(2,1fr)}.system-loading-overlay__card h2{font-size:1.8rem}.system-loading-overlay__card p{font-size:1rem}}@media(max-width:600px){.system-loading-overlay__headerSkeleton,.system-loading-overlay__tabs{left:20px}.system-loading-overlay__table{inset:194px 20px 34px;padding:16px;gap:12px}.system-loading-overlay__headerSkeleton span{width:160px}.system-loading-overlay__headerSkeleton span:last-child{width:200px}.system-loading-overlay__tabs span{width:92px;height:32px}.system-loading-overlay__card{min-width:0;width:92vw}.system-loading-overlay__card h2{font-size:1.45rem}}:root{--super-admin-bg: #f4f6fb;--super-admin-card: #ffffff;--super-admin-border: #d9e1f2;--super-admin-primary: #2563eb;--super-admin-muted: #64748b;--super-admin-text: #0f172a;--super-admin-success: #16a34a;--super-admin-danger: #ef4444;--super-admin-warning: #f59e0b;--super-admin-font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}:root[data-theme=dark]{--super-admin-bg: #0a1324;--super-admin-card: #111a2c;--super-admin-border: #243041;--super-admin-primary: #60a5fa;--super-admin-muted: #94a3b8;--super-admin-text: #e5e7eb;--super-admin-success: #4ade80;--super-admin-danger: #f87171;--super-admin-warning: #fbbf24}.super-admin-dashboard{display:flex;flex-direction:column;gap:24px}.super-admin-dashboard--relative{position:relative;min-height:520px}.super-admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.super-admin-section{background-color:var(--super-admin-card);border:1px solid var(--super-admin-border);border-radius:16px;box-shadow:0 10px 24px #0f172a0a;overflow:hidden}:root[data-theme=dark] .super-admin-section{box-shadow:0 10px 24px #00000059}@media(max-width:1024px){.super-admin-stats{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:720px){.super-admin-stats{grid-template-columns:1fr}}.sa-create-school{display:flex;flex-direction:column;gap:24px}.sa-create-school__breadcrumbs{font-size:.9rem;color:var(--color-text-secondary);display:flex;gap:8px;flex-wrap:wrap}.sa-create-school__breadcrumbs strong{color:var(--color-text-primary)}.sa-create-school__grid{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start}.sa-create-school__intro h1{font-size:2.1rem;margin-bottom:12px}.sa-create-school__intro p{color:var(--color-text-secondary);line-height:1.6}.sa-create-school__note{margin-top:24px;padding:18px 20px;border-radius:16px;border:1px solid #c8d8f5;background:linear-gradient(160deg,#eef4ff,#e5eefc);display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start}.sa-create-school__noteIcon{background:linear-gradient(165deg,#2b6cee,#1f57c5);color:#fff;font-weight:700;width:34px;height:34px;border-radius:10px;font-size:1rem;display:grid;place-items:center}.sa-create-school__noteContent{min-width:0}.sa-create-school__note h4{margin:0 0 6px;color:#1848a0;font-size:1.05rem;line-height:1.3;text-align:left}.sa-create-school__note p{margin:0;color:#274574;font-size:.95rem;line-height:1.55;text-align:left;max-width:40ch}.sa-create-school__formCard{background:var(--color-bg-card);border-radius:16px;padding:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.sa-create-school__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.sa-create-school__field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.sa-create-school__field label{font-weight:600;color:var(--color-text-primary)}.sa-create-school__field input,.sa-create-school__field textarea{padding:12px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-primary);font-size:.95rem}.sa-create-school__field input::placeholder,.sa-create-school__field textarea::placeholder{color:var(--color-text-secondary)}.sa-create-school__field input:focus,.sa-create-school__field textarea:focus{outline:none;border-color:#2b6cee;box-shadow:0 0 0 2px #2b6cee26;background:var(--color-bg-card)}.sa-create-school__field small{color:var(--color-text-secondary)}.sa-create-school__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}@media(max-width:1024px){.sa-create-school__grid{grid-template-columns:1fr}}@media(max-width:720px){.sa-create-school__row{grid-template-columns:1fr}.sa-create-school__note{grid-template-columns:30px 1fr;padding:14px 16px}.sa-create-school__noteIcon{width:30px;height:30px}}.create-school-admin-page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.create-school-admin-page__header{display:flex;flex-direction:column;gap:6px}.create-school-admin-page__crumbs{margin:0;color:var(--color-text-secondary);font-size:.85rem}.create-school-admin-page__header h1{margin:0;font-size:2rem;color:var(--color-text-primary)}.create-school-admin-page__header p{margin:0;color:var(--color-text-secondary)}.create-school-admin-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 2px 8px #0f172a0d;padding:24px;display:flex;flex-direction:column;gap:20px}.create-school-admin-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.create-school-admin-field{display:flex;flex-direction:column;gap:8px}.create-school-admin-field--full{grid-column:1 / -1}.create-school-admin-field span{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.create-school-admin-field input,.create-school-admin-field select{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted);color:var(--color-text-primary);padding:11px 13px;font-size:.95rem}.create-school-admin-field input::placeholder{color:var(--color-text-secondary)}.create-school-admin-field input:focus,.create-school-admin-field select:focus{outline:none;border-color:#2b6cee;box-shadow:0 0 0 3px #2b6cee1f;background:var(--color-bg-card)}.create-school-admin-fixed{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted);padding:12px}.create-school-admin-fixed span{display:block;color:var(--color-text-secondary);font-size:.82rem;margin-bottom:6px;font-weight:600}.create-school-admin-fixed div{color:var(--color-text-primary);font-weight:700;margin-bottom:4px}.create-school-admin-fixed p{margin:0;font-size:.78rem;color:var(--color-text-secondary)}.create-school-admin-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--color-border);padding-top:12px}@media(max-width:820px){.create-school-admin-grid{grid-template-columns:1fr}}.sa-assign-subscription{display:flex;flex-direction:column;gap:24px;align-items:center}.sa-assign-subscription header{width:min(100%,1040px);text-align:center}.sa-assign-subscription header h1{font-size:2rem;margin-bottom:8px}.sa-assign-subscription header p{color:var(--color-text-secondary)}.sa-assign-subscription__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:24px;width:min(100%,1040px);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px}.sa-assign-subscription__field{display:flex;flex-direction:column;gap:8px}.sa-assign-subscription__field label{font-weight:600}.sa-assign-subscription__field select{padding:12px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-primary)}.sa-assign-subscription__plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan-card{border:1px solid var(--color-border);border-radius:12px;padding:12px;background:var(--color-surface-muted);cursor:pointer;display:flex;gap:10px;align-items:flex-start}.plan-card input{margin-top:4px}.plan-card strong{display:block}.plan-card span{color:var(--color-text-secondary);font-size:.85rem}.sa-assign-subscription__actions{display:flex;justify-content:flex-end}@media(max-width:720px){.sa-assign-subscription__plans{grid-template-columns:1fr}}.student-dashboard{display:flex;flex-direction:column;gap:24px}.student-dashboard__error{padding:14px 16px;border-radius:12px;background:#ffe8e7;border:1px solid #fecdca;color:#b42318;font-weight:600}.student-dashboard__hero h2{margin:0 0 6px;font-size:28px;font-weight:700;color:var(--student-hero-title)}.student-dashboard__hero p{margin:0;color:var(--student-hero-subtitle)}.student-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.student-stat{background:var(--student-card-bg);border:1px solid var(--student-card-border);border-radius:14px;padding:18px 20px;box-shadow:var(--student-card-shadow);display:flex;flex-direction:column;gap:6px}.student-stat__header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--student-muted);font-weight:600}.student-stat__value{font-size:26px;font-weight:700;color:var(--student-title)}.student-stat__trend{font-size:12px;font-weight:600;color:var(--student-muted)}.student-stat__trend.positive{color:#16a34a}.student-stat__trend.negative{color:#dc2626}.student-stat__bar{height:6px;background:var(--student-card-border);border-radius:999px;overflow:hidden}.student-stat__bar span{display:block;height:100%;width:40%;background:var(--student-accent)}.student-dashboard__grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.student-dashboard__grid--stacked{grid-template-columns:1fr 1fr}.student-dashboard__side{display:flex;flex-direction:column;gap:24px}.student-card{background:var(--student-card-bg);border:1px solid var(--student-card-border);border-radius:16px;padding:20px;box-shadow:var(--student-card-shadow)}.student-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.student-card__header h3{margin:0;font-size:16px;font-weight:700}.announcement{padding:16px 0;border-bottom:1px solid var(--student-card-border)}.announcement:last-child{border-bottom:none}.announcement__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.announcement__head h4{margin:0;font-size:14px;font-weight:600}.announcement__head span{font-size:12px;color:var(--student-dim)}.announcement p{margin:0 0 10px;color:var(--student-muted);font-size:13px}.announcement__tag{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;background:var(--student-accent-soft);color:var(--student-accent)}.deadline{display:flex;align-items:center;gap:14px;padding:12px 0}.deadline__date{min-width:56px;padding:10px 8px;border-radius:10px;background:var(--student-accent-soft);font-size:12px;font-weight:700;text-align:center;color:var(--student-accent)}.deadline h4{margin:0 0 4px;font-size:14px;font-weight:600}.deadline p{margin:0;font-size:12px;color:var(--student-dim)}.recent-grade{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--student-card-border)}.recent-grade:last-child{border-bottom:none}.recent-grade h4{margin:0 0 4px;font-size:14px;font-weight:600}.recent-grade p{margin:0;font-size:12px;color:var(--student-dim)}.recent-grade span{font-weight:700;color:var(--student-accent)}.link-button{background:transparent;border:none;color:var(--student-link);font-weight:600;cursor:pointer}.secondary-button{margin-top:12px;width:100%;border:1px solid var(--student-card-border);background:var(--student-button-bg);color:var(--student-title);border-radius:10px;padding:10px;font-weight:600;cursor:pointer}.student-empty-state{margin:8px 0 0;color:var(--student-muted);font-size:13px}@media(max-width:1024px){.student-dashboard__grid,.student-dashboard__grid--stacked{grid-template-columns:1fr}}.parent-dashboard{position:relative;display:flex;flex-direction:column;gap:24px;max-width:1480px;margin:0 auto;color:#e5e7eb}.parent-dashboard:before{content:"";position:absolute;inset:-24px -24px auto;height:220px;border-radius:32px;background:radial-gradient(circle at top right,rgba(59,130,246,.16),transparent 36%),radial-gradient(circle at top left,rgba(124,58,237,.18),transparent 32%);pointer-events:none;z-index:0}.parent-dashboard>*{position:relative;z-index:1}.parent-dashboard__notice{padding:14px 16px;border-radius:16px;background:#13213bd1;border:1px solid rgba(96,165,250,.22);color:#bfdbfe;font-size:14px;font-weight:600;box-shadow:0 16px 32px #0307122e}.parent-dashboard__notice--error{background:#450a0ac7;border-color:#f8717138;color:#fecaca}.parent-dashboard__hero{padding:28px 32px;border:1px solid rgba(71,85,105,.28);border-radius:28px;background:linear-gradient(145deg,#0e1428f5,#141c34e6);box-shadow:0 24px 48px #02061747}.parent-dashboard__hero h2{margin:0 0 6px;font-size:clamp(28px,3vw,44px);font-weight:800;letter-spacing:-.03em;color:#f8fafc}.parent-dashboard__hero p{margin:0;color:#94a3b8;font-size:15px}.parent-dashboard__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.parent-stat{background:#0f172ac2;border:1px solid rgba(59,130,246,.14);border-radius:22px;padding:22px 24px;box-shadow:0 18px 36px #0206173d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:10px}.parent-stat__header{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#94a3b8;font-weight:600}.parent-stat__icon{font-size:18px}.parent-stat__value{font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1;color:#f8fafc}.parent-stat__trend{font-size:13px;font-weight:600;color:#94a3b8}.parent-stat__trend.positive{color:#86efac}.parent-dashboard__grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.parent-card{background:#0f172ac7;border:1px solid rgba(59,130,246,.12);border-radius:28px;padding:24px;box-shadow:0 20px 40px #0206173d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.parent-card--wide{grid-column:span 1}.parent-card--accent{background:linear-gradient(180deg,#10182efa,#1c123efa);color:#fff;border:1px solid rgba(196,181,253,.18)}.parent-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.parent-card__header h3{margin:0;font-size:22px;font-weight:800;color:#f8fafc}.parent-progress{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#94a3b8}.parent-progress__button{border:1px solid rgba(96,165,250,.12);background:#0f172ad6;color:inherit;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.parent-progress__button.is-active{color:#ddd6fe;background:#5b21b63d;border-color:#c4b5fd57}.parent-progress__button:hover{border-color:#93c5fd47;color:#e2e8f0}.parent-fee{font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1;margin:8px 0 18px}.parent-fee__row{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:12px;color:#ffffffe0}.parent-primary{width:100%;background:linear-gradient(135deg,#fff,#ede9fe);color:#6d28d9;border:none;border-radius:16px;padding:14px;font-weight:800;cursor:pointer;margin-top:16px;box-shadow:0 14px 24px #0f172a33}.parent-link{width:100%;background:transparent;border:none;color:#ddd6fe;font-weight:700;cursor:pointer;margin-top:10px}.parent-primary:disabled,.parent-link:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.parent-message{display:flex;align-items:flex-start;gap:16px;padding:18px;border-radius:20px;background:#080f1f66;border:1px solid rgba(71,85,105,.26)}.parent-message h4{margin:0 0 4px;font-size:15px;font-weight:700;color:#f8fafc}.parent-message p{margin:0;font-size:13px;line-height:1.6;color:#94a3b8}.parent-avatar{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#fcd34d,#f59e0b);display:grid;place-items:center;font-weight:800;color:#1f2937;flex-shrink:0}.parent-attendance{display:flex;align-items:center;gap:18px;padding:8px 0 2px}.parent-attendance__ring{width:72px;height:72px;border-radius:50%;border:8px solid #22c55e;display:grid;place-items:center;font-weight:800;color:#86efac;background:#0f172ae0;box-shadow:inset 0 0 0 1px #22c55e29}.parent-attendance h4{margin:0 0 4px;font-size:16px;font-weight:700;color:#f8fafc}.parent-attendance p{margin:0;font-size:13px;color:#94a3b8;line-height:1.5}.link-button{background:transparent;border:none;color:#34d399;font-weight:700;cursor:pointer;white-space:nowrap}.parent-report{display:flex;flex-direction:column;gap:16px;margin-top:18px}.parent-report__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.parent-report__summary>div{padding:14px;border-radius:18px;background:#080f1f7a;border:1px solid rgba(71,85,105,.24)}.parent-report__summary strong{display:block;margin-top:4px;font-size:20px;color:#f8fafc}.parent-report__label{font-size:12px;font-weight:600;color:#94a3b8}.parent-report__table{display:flex;flex-direction:column;border:1px solid rgba(71,85,105,.24);border-radius:20px;overflow:hidden;background:#080f1f52}.parent-report__row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;background:transparent;border-bottom:1px solid rgba(71,85,105,.24);color:#cbd5e1}.parent-report__row:last-child{border-bottom:none}.parent-report__row .is-pass{color:#15803d;font-weight:700}.parent-report__row .is-fail{color:#b91c1c;font-weight:700}.parent-emptyState{margin-top:12px;color:#c4b5fd;font-size:14px;line-height:1.5}@media(max-width:1024px){.parent-dashboard__stats,.parent-dashboard__grid{grid-template-columns:1fr}}@media(max-width:768px){.parent-dashboard{gap:18px}.parent-dashboard:before{inset:-12px -12px auto;height:180px}.parent-dashboard__hero,.parent-card,.parent-stat{border-radius:22px}.parent-dashboard__hero{padding:22px}.parent-card,.parent-stat{padding:18px}.parent-card__header{flex-direction:column;align-items:flex-start}.parent-report__row{grid-template-columns:1fr;gap:8px}.parent-attendance{align-items:flex-start}}@media(max-width:540px){.parent-fee{font-size:36px}.parent-message,.parent-attendance{flex-direction:column}}.admin-dashboard{display:flex;flex-direction:column;gap:24px}.admin-dashboard--relative{position:relative;min-height:520px}.admin-dashboard__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-dashboard__breadcrumb{font-size:13px;color:#94a3b8;margin:0 0 6px}.admin-dashboard__breadcrumb span{margin:0 6px;color:#cbd5f5}.admin-dashboard__header h2{margin:0 0 6px;font-size:28px;font-weight:700;color:#0f172a}.admin-dashboard__subtitle{margin:0;font-size:14px;color:#64748b}.admin-dashboard__actions{display:flex;gap:12px}.button-primary{background:#047857;color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:600;cursor:pointer}.button-secondary{background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:12px;padding:10px 16px;font-weight:600;cursor:pointer}.admin-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.admin-stat{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;box-shadow:0 10px 24px #0f172a0a;display:flex;flex-direction:column;gap:6px}.admin-stat__header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#64748b;font-weight:600}.admin-stat__value{font-size:26px;font-weight:700;color:#0f172a}.admin-stat__trend{font-size:12px;font-weight:600;color:#047857}.admin-dashboard__grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.admin-dashboard__side{display:flex;flex-direction:column;gap:24px}.admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:0 10px 24px #0f172a0a}.admin-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-card__header h3{margin:0;font-size:16px;font-weight:700}.admin-activity{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid #e2e8f0}.admin-activity:last-child{border-bottom:none}.admin-activity__avatar{width:38px;height:38px;border-radius:50%;background:#e2e8f0;display:grid;place-items:center;font-weight:700;color:#1f2937}.admin-activity__info h4{margin:0 0 4px;font-size:14px;font-weight:600}.admin-activity__info p{margin:0;font-size:12px;color:#64748b}.admin-activity__time{font-size:12px;color:#94a3b8;white-space:nowrap}.admin-card--accent{background:#047857;color:#fff;border:none}.admin-card--accent p{color:#d1fae5}.admin-calendar__item{display:flex;gap:12px;background:#ffffff29;border-radius:12px;padding:12px;margin-top:12px}.admin-calendar__icon{width:36px;height:36px;border-radius:10px;background:#fff3;display:grid;place-items:center}.admin-calendar__item h4{margin:0 0 4px;font-size:14px;font-weight:600}.admin-calendar__item p{margin:0;font-size:12px;color:#d1fae5}.admin-quick{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-quick button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 10px;font-weight:600;cursor:pointer}.link-button{background:transparent;border:none;color:#047857;font-weight:600;cursor:pointer}.admin-empty-state{margin:8px 0 0;color:#64748b;font-size:13px}.admin-empty-state--on-accent{color:#d1fae5}@media(max-width:1024px){.admin-dashboard__grid{grid-template-columns:1fr}}@media(max-width:900px){.admin-dashboard__header{flex-direction:column;align-items:flex-start}}:root[data-theme=dark] .admin-dashboard__header h2,:root[data-theme=dark] .admin-stat__value{color:#e5e7eb}:root[data-theme=dark] .admin-dashboard__subtitle,:root[data-theme=dark] .admin-stat__header,:root[data-theme=dark] .admin-empty-state,:root[data-theme=dark] .admin-activity__info p,:root[data-theme=dark] .admin-activity__time{color:#94a3b8}:root[data-theme=dark] .button-secondary{background:#0f172a;color:#e5e7eb;border-color:#334155}:root[data-theme=dark] .admin-stat,:root[data-theme=dark] .admin-card{background:#111a2c;border-color:#243041;box-shadow:0 10px 24px #00000059}:root[data-theme=dark] .admin-activity{border-bottom-color:#243041}:root[data-theme=dark] .admin-activity__avatar{background:#1e293b;color:#e5e7eb}:root[data-theme=dark] .admin-quick button{background:#0f172a;border-color:#334155;color:#e2e8f0}.admin-import-panel{margin-bottom:24px;padding:20px;border:1px solid #263348;border-radius:20px;background:#0f172aa3;display:grid;gap:16px}.admin-import-panel__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.admin-import-panel__header h2{margin:0 0 6px}.admin-import-panel__header p{margin:0}.admin-import-panel__eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc}.admin-import-panel__actions{display:flex;flex-wrap:wrap;gap:12px}.admin-import-panel__fileButton{position:relative;overflow:hidden}.admin-import-panel__fileButton input{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-import-panel__meta{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #263348;border-radius:14px;background:#0f172a73;color:#cbd5e1}.admin-import-panel__mapping{display:grid;gap:16px}.admin-import-panel__mapGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.admin-import-panel__field{display:grid;gap:8px;color:#e2e8f0;font-weight:600}.admin-import-panel__field select{width:100%;border-radius:14px;border:1px solid #334155;background:#0f172a;color:#f8fafc;padding:12px 14px}@media(max-width:900px){.admin-import-panel__header{flex-direction:column}}.student-form-page{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.student-form-page__header{display:flex;flex-direction:column;gap:6px}.student-form-page__header p{margin:0;color:#64748b}.student-form-page__header h1{margin:0;font-size:2rem;color:#0f172a}.student-form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}.student-form-main{display:flex;flex-direction:column;gap:16px}.student-form-card{background:#fff;border:1px solid #dbe3f0;border-radius:14px;box-shadow:0 2px 8px #0f172a0d;overflow:hidden}.student-form-card__head{padding:16px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.student-form-card__head h2{margin:0 0 4px;color:#0f172a;font-size:1.05rem}.student-form-card__head p{margin:0;color:#64748b;font-size:.82rem}.student-grid{display:grid;gap:14px;padding:16px 18px 18px}.student-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.student-field{display:flex;flex-direction:column;gap:8px}.student-field--full{grid-column:1 / -1}.student-field span{font-size:.88rem;font-weight:600;color:#334155}.student-field input,.student-field select{border:1px solid #d1dae8;border-radius:10px;background:#f8fafc;color:#0f172a;padding:11px 13px;font-size:.95rem}.student-field input:focus,.student-field select:focus{outline:none;border-color:#2b6cee;box-shadow:0 0 0 3px #2b6cee1f;background:#fff}.student-gender-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-gender-chip{border:1px solid #d1dae8;border-radius:10px;padding:10px 12px;text-align:center;background:#f8fafc;cursor:pointer}.student-gender-chip input{display:none}.student-gender-chip span{color:#475569;font-weight:600}.student-gender-chip.is-active{border-color:#2b6cee;background:#2b6cee1a}.student-gender-chip.is-active span{color:#2459bc}.student-form-side{position:sticky;top:76px}.student-form-side__card{border:1px solid #dbe3f0;border-radius:14px;background:#fff;box-shadow:0 2px 8px #0f172a0d;padding:16px;display:flex;flex-direction:column;gap:12px}.student-form-side__card h3{margin:0;color:#0f172a}.student-form-side__card p{margin:0;color:#64748b;font-size:.86rem}.student-form-side__status{border:1px solid #dbe3f0;border-radius:10px;background:#f8fafc;display:flex;justify-content:space-between;padding:10px 12px;font-size:.86rem;color:#475569}.student-form-side__status strong{color:#0f9f6e}.student-form-side__note{border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:.8rem;padding:10px}.student-form-side__buttons{display:flex;flex-direction:column;gap:8px}@media(max-width:1080px){.student-form-layout{grid-template-columns:1fr}.student-form-side{position:static}}@media(max-width:760px){.student-grid--two,.student-gender-row{grid-template-columns:1fr}}:root[data-theme=dark] .student-form-page__header h1,:root[data-theme=dark] .student-form-card__head h2,:root[data-theme=dark] .student-form-side__card h3{color:#e5e7eb}:root[data-theme=dark] .student-form-page__header p,:root[data-theme=dark] .student-form-card__head p,:root[data-theme=dark] .student-form-side__card p{color:#94a3b8}:root[data-theme=dark] .student-form-card,:root[data-theme=dark] .student-form-side__card{background:#111a2c;border-color:#243041;box-shadow:0 10px 24px #00000059}:root[data-theme=dark] .student-form-card__head{border-bottom-color:#243041;background:#0f172a}:root[data-theme=dark] .student-field span,:root[data-theme=dark] .student-gender-chip span{color:#cbd5e1}:root[data-theme=dark] .student-field input,:root[data-theme=dark] .student-field select,:root[data-theme=dark] .student-gender-chip,:root[data-theme=dark] .student-form-side__status{border-color:#334155;background:#0f172a;color:#e5e7eb}:root[data-theme=dark] .student-field input:focus,:root[data-theme=dark] .student-field select:focus{background:#111a2c}:root[data-theme=dark] .student-gender-chip.is-active{background:#3b82f638;border-color:#3b82f6}:root[data-theme=dark] .student-gender-chip.is-active span{color:#bfdbfe}:root[data-theme=dark] .student-form-side__status{color:#cbd5e1}:root[data-theme=dark] .student-form-side__status strong{color:#6ee7b7}:root[data-theme=dark] .student-form-side__note{border-color:#1d4ed8;background:#172554;color:#bfdbfe}.teacher-form-page{max-width:1024px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.teacher-form-header{display:flex;flex-direction:column;gap:6px}.teacher-form-breadcrumb{margin:0;color:#6b7280;font-size:.86rem}.teacher-form-header h1{margin:0;font-size:2rem;color:#0f172a}.teacher-form-header p{margin:0;color:#64748b}.teacher-form-card{border:1px solid #dbe3f0;border-radius:16px;background:#fff;box-shadow:0 2px 8px #0f172a0d;padding:24px;display:flex;flex-direction:column;gap:20px}.teacher-grid{display:grid;gap:14px}.teacher-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-field{display:flex;flex-direction:column;gap:8px}.teacher-field--full{grid-column:1 / -1}.teacher-field span{font-size:.9rem;font-weight:600;color:#334155}.teacher-field input,.teacher-field select{border:1px solid #d1dae8;border-radius:10px;background:#f8fafc;color:#0f172a;padding:11px 13px;font-size:.95rem}.teacher-field input:focus,.teacher-field select:focus{outline:none;border-color:#2b6cee;box-shadow:0 0 0 3px #2b6cee1f;background:#fff}.teacher-subjects{border:1px solid #dbe3f0;border-radius:12px;background:#f8fafc;padding:14px}.teacher-subjects__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.teacher-subjects__header label{font-size:.9rem;font-weight:600;color:#334155}.teacher-subjects__header span{font-size:.78rem;color:#64748b}.teacher-tags{border:1px solid #d1dae8;border-radius:10px;background:#fff;min-height:48px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px}.teacher-tag{display:inline-flex;align-items:center;gap:8px;background:#2b6cee1f;color:#2459bc;border:1px solid rgba(43,108,238,.24);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:600}.teacher-tag button{border:none;background:transparent;color:inherit;font-size:.92rem;line-height:1;cursor:pointer;padding:0}.teacher-tags input{border:none;outline:none;min-width:140px;flex:1;padding:6px;font-size:.9rem;background:transparent}.teacher-subjects p{margin:10px 0 0;color:#64748b;font-size:.78rem}.teacher-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid #e2e8f0}@media(max-width:860px){.teacher-grid--two{grid-template-columns:1fr}}:root[data-theme=dark] .teacher-form-header h1{color:#e5e7eb}:root[data-theme=dark] .teacher-form-breadcrumb,:root[data-theme=dark] .teacher-form-header p,:root[data-theme=dark] .teacher-subjects__header span,:root[data-theme=dark] .teacher-subjects p{color:#94a3b8}:root[data-theme=dark] .teacher-form-card{border-color:#243041;background:#111a2c;box-shadow:0 10px 24px #00000059}:root[data-theme=dark] .teacher-field span,:root[data-theme=dark] .teacher-subjects__header label{color:#cbd5e1}:root[data-theme=dark] .teacher-field input,:root[data-theme=dark] .teacher-field select,:root[data-theme=dark] .teacher-subjects{border-color:#334155;background:#0f172a;color:#e5e7eb}:root[data-theme=dark] .teacher-field input:focus,:root[data-theme=dark] .teacher-field select:focus{background:#111a2c}:root[data-theme=dark] .teacher-tags{border-color:#334155;background:#111a2c}:root[data-theme=dark] .teacher-tags input{color:#e5e7eb}:root[data-theme=dark] .teacher-tag{background:#3b82f633;color:#bfdbfe;border-color:#3b82f659}:root[data-theme=dark] .teacher-form-actions{border-top-color:#243041}.admin-create-class{display:flex;flex-direction:column;gap:24px}.admin-create-class header h1{font-size:2rem;margin-bottom:8px}.admin-create-class header p{color:var(--color-text-secondary)}.admin-create-class__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-create-class__card{background:#192233;border:1px solid #324467;border-radius:16px;padding:24px;color:#fff;display:flex;flex-direction:column;gap:16px}.admin-create-class__card h2{margin:0}.admin-create-class__field{display:flex;flex-direction:column;gap:8px}.admin-create-class__field label{color:#e2e8f0;font-weight:600}.admin-create-class__field input,.admin-create-class__field select{padding:12px 14px;border-radius:10px;border:1px solid #324467;background:#111722;color:#fff}@media(max-width:900px){.admin-create-class__grid{grid-template-columns:1fr}}.account-page{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.account-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:14px;padding:20px;box-shadow:0 8px 24px #0f172a0a}.account-card h1,.account-card h2{margin:0 0 10px;color:var(--color-text-primary)}.account-card p{margin:0;color:var(--color-text-secondary)}.account-card--branding{display:grid;gap:24px}.account-meta{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-meta__item{border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;background:var(--color-surface-muted)}.account-meta__label{font-size:12px;color:var(--color-text-secondary)}.account-meta__value{margin-top:4px;font-weight:600;color:var(--color-text-primary);word-break:break-word}.branding-editor{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:24px;align-items:start}.branding-logoPanel{display:grid;gap:14px;padding:20px;border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(180deg,#2563eb14,#0f172a0a)}.branding-logoPreview{width:112px;height:112px;display:grid;place-items:center;border-radius:24px;border:1px solid var(--color-border);background:var(--color-bg-card);overflow:hidden;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.branding-logoPreview img{width:100%;height:100%;object-fit:contain}.branding-uploadButton{display:inline-flex;width:fit-content;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(59,130,246,.35);background:#3b82f61f;color:#2563eb;font-weight:600;cursor:pointer}.branding-uploadButton input{display:none}.branding-uploadHint{font-size:.92rem}.branding-form{display:grid;gap:16px}.branding-field{display:grid;gap:8px}.branding-field span,.branding-domainLabel{font-size:.9rem;font-weight:600;color:var(--color-text-secondary)}.branding-field input{width:100%;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-muted);color:var(--color-text-primary);padding:14px 16px;font:inherit}.branding-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.branding-domainCard{display:grid;gap:8px;padding:16px 18px;border-radius:16px;border:1px solid var(--color-border);background:var(--color-surface-muted)}.branding-domainCard strong{font-size:1.05rem;color:var(--color-text-primary)}.branding-status{min-height:24px}.account-actions{display:flex;justify-content:flex-end;margin-top:8px}.primary-button{border:1px solid #2563eb;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:12px;padding:12px 16px;font-weight:600;cursor:pointer;box-shadow:0 14px 30px #2563eb33}.primary-button:disabled{opacity:.72;cursor:not-allowed}.danger-button{border:1px solid #ef4444;background:#ef4444;color:#fff;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}.danger-button:disabled{opacity:.7;cursor:not-allowed}:root[data-theme=dark] .account-card{box-shadow:0 10px 24px #00000059}:root[data-theme=dark] .branding-logoPanel{background:linear-gradient(180deg,#1e40af33,#0f172a47)}:root[data-theme=dark] .branding-uploadButton{border-color:#60a5fa80;background:#2563eb33;color:#bfdbfe}:root[data-theme=dark] .branding-field input,:root[data-theme=dark] .branding-domainCard,:root[data-theme=dark] .branding-logoPreview{background:#0f172aa6}@media(max-width:760px){.account-meta,.branding-editor{grid-template-columns:1fr}.branding-logoPanel{justify-items:start}}.ns-page{min-height:100vh;background:var(--color-bg-main);color:var(--color-text-primary)}.ns-page--flat{background:var(--color-bg-main)}.ns-shell{width:min(1180px,92vw);margin:0 auto}.ns-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:800;letter-spacing:-.01em}.ns-brand img{height:38px;width:auto;display:block}.ns-btn{border:1px solid transparent;border-radius:12px;padding:11px 18px;font-weight:700;cursor:pointer;font-size:.94rem;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.ns-btn--solid{background:#2b6cee;border-color:#2b6cee;color:#fff}.ns-btn--solid:hover{filter:brightness(1.06)}.ns-btn:disabled{opacity:.7;cursor:not-allowed}.ns-btn--ghost{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)}.nsl-page{background:radial-gradient(circle at top right,rgba(79,70,229,.16),transparent 28%),radial-gradient(circle at 20% 20%,rgba(16,185,129,.12),transparent 24%),var(--nsl-page-bg);color:var(--nsl-text);font-family:Public Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--nsl-page-bg: #f7f8fc;--nsl-section-bg: #ffffff;--nsl-panel-bg: #eef2ff;--nsl-surface: rgba(255, 255, 255, .84);--nsl-surface-strong: #ffffff;--nsl-surface-soft: #eef2ff;--nsl-surface-muted: #e9eefb;--nsl-border: rgba(15, 23, 42, .08);--nsl-border-strong: rgba(79, 70, 229, .18);--nsl-text: #111827;--nsl-text-soft: #4b5563;--nsl-text-dim: #6b7280;--nsl-indigo: #4f46e5;--nsl-indigo-strong: #4338ca;--nsl-indigo-soft: rgba(79, 70, 229, .1);--nsl-emerald: #10b981;--nsl-emerald-soft: rgba(16, 185, 129, .12);--nsl-shadow: 0 24px 60px rgba(15, 23, 42, .08);--nsl-glass: rgba(255, 255, 255, .72);--nsl-grid-dot: rgba(79, 70, 229, .14)}:root[data-theme=dark] .nsl-page{--nsl-page-bg: #020617;--nsl-section-bg: #020617;--nsl-panel-bg: #0f172a;--nsl-surface: rgba(15, 23, 42, .82);--nsl-surface-strong: #0f172a;--nsl-surface-soft: #111827;--nsl-surface-muted: #1e293b;--nsl-border: rgba(148, 163, 184, .16);--nsl-border-strong: rgba(99, 102, 241, .35);--nsl-text: #e2e8f0;--nsl-text-soft: #94a3b8;--nsl-text-dim: #64748b;--nsl-indigo: #6366f1;--nsl-indigo-strong: #818cf8;--nsl-indigo-soft: rgba(99, 102, 241, .14);--nsl-emerald: #10b981;--nsl-emerald-soft: rgba(16, 185, 129, .16);--nsl-shadow: 0 24px 70px rgba(2, 6, 23, .55);--nsl-glass: rgba(15, 23, 42, .74);--nsl-grid-dot: rgba(99, 102, 241, .3)}.nsl-shell{width:min(1280px,calc(100vw - 48px));margin:0 auto}.nsl-nav{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--nsl-page-bg) 82%,transparent);border-bottom:1px solid var(--nsl-border)}.nsl-navRow{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nsl-brand{display:inline-flex;align-items:center}.nsl-brandLogo{height:38px;width:auto}.nsl-brandLogo--footer{height:34px}.nsl-navLinks,.nsl-navActions,.nsl-heroActions,.nsl-socials,.nsl-trustRow,.nsl-footerBottom,.nsl-status,.nsl-terminalDots,.nsl-glassHeader,.nsl-eventHeader,.nsl-eventMeta,.nsl-pricingValue,.nsl-securityFeatures,.nsl-steps,.nsl-pricingGrid{display:flex}.nsl-navLinks{gap:32px}.nsl-navLinks a,.nsl-linkButton,.nsl-footerGrid a{color:var(--nsl-text-soft);text-decoration:none;transition:color .18s ease}.nsl-navLinks a:hover,.nsl-linkButton:hover,.nsl-footerGrid a:hover{color:var(--nsl-indigo)}.nsl-navActions{align-items:center;gap:14px}.nsl-themeToggle,.nsl-button,.nsl-linkButton{border-radius:14px;font:inherit;font-weight:700}.nsl-themeToggle{border:1px solid var(--nsl-border);background:var(--nsl-surface);color:var(--nsl-text);padding:12px 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.nsl-linkButton{padding:12px 8px}.nsl-button{border:1px solid transparent;padding:15px 24px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.nsl-button:hover,.nsl-themeToggle:hover{transform:translateY(-1px)}.nsl-button--primary{background:var(--nsl-indigo);color:#fff;box-shadow:0 18px 40px #4f46e547}.nsl-button--primary:hover{background:var(--nsl-indigo-strong)}.nsl-button--secondary{background:var(--nsl-surface);border-color:var(--nsl-border);color:var(--nsl-text)}.nsl-button--secondary:hover,.nsl-button--outline:hover{background:var(--nsl-surface-soft)}.nsl-button--outline{background:transparent;border-color:var(--nsl-border-strong);color:var(--nsl-indigo)}.nsl-button--inverted{background:#fff;color:var(--nsl-indigo)}:root[data-theme=light] .nsl-button--inverted{background:var(--nsl-surface-strong)}.nsl-hero{padding:56px 0 88px;background:linear-gradient(180deg,rgba(79,70,229,.08),transparent 45%)}.nsl-heroGrid,.nsl-canvasGrid,.nsl-securityGrid,.nsl-footerGrid{display:grid}.nsl-heroGrid{grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr);gap:56px;align-items:center}.nsl-heroContent h1,.nsl-sectionIntro h2,.nsl-canvasContent h2,.nsl-securityCopy h2,.nsl-ctaCard h2{margin:0;letter-spacing:-.04em;line-height:1}.nsl-heroContent h1{max-width:11ch;font-size:clamp(3.2rem,8vw,5.7rem);color:var(--nsl-text)}.nsl-heroContent h1 span{color:var(--nsl-indigo)}.nsl-pill,.nsl-kicker,.nsl-pricingBadge,.nsl-status strong{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.nsl-pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--nsl-indigo-soft);color:var(--nsl-indigo);padding:9px 14px;margin-bottom:26px}.nsl-heroContent p,.nsl-sectionIntro p,.nsl-canvasContent p,.nsl-securityCopy p,.nsl-footerBrand p,.nsl-ctaCard p,.nsl-pricingTop p,.nsl-stepCard p,.nsl-securityFeature p,.nsl-featureBody p,.nsl-checkList p{color:var(--nsl-text-soft);line-height:1.7}.nsl-heroContent p{max-width:34rem;margin:24px 0 0;font-size:1.15rem}.nsl-heroActions{margin-top:34px;gap:16px;flex-wrap:wrap;align-items:center}.nsl-heroActions--center{justify-content:center}.nsl-dashboardWrap{position:relative;min-height:580px;display:flex;align-items:center;justify-content:center}.nsl-dashboardGlow{position:absolute;inset:8% 7%;border-radius:999px;background:linear-gradient(135deg,#4f46e557,#10b9814d);filter:blur(120px)}.nsl-dashboard{position:relative;z-index:1;width:100%;min-height:500px;display:grid;grid-template-columns:76px minmax(0,1fr);background:var(--nsl-surface-strong);border:1px solid var(--nsl-border);border-radius:28px;overflow:hidden;box-shadow:var(--nsl-shadow)}.nsl-dashboardSidebar{padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:20px;background:color-mix(in srgb,var(--nsl-surface-strong) 82%,transparent);border-right:1px solid var(--nsl-border)}.nsl-sidebarIcon,.nsl-featureIcon,.nsl-checkIcon,.nsl-securityIcon{display:inline-flex;align-items:center;justify-content:center}.nsl-sidebarIcon{width:42px;height:42px;border-radius:14px;color:var(--nsl-text-dim)}.nsl-sidebarIcon.is-active{color:var(--nsl-indigo);background:var(--nsl-indigo-soft)}.nsl-dashboardMain{padding:28px;background:color-mix(in srgb,var(--nsl-page-bg) 75%,transparent)}.nsl-dashboardTop,.nsl-statsRow{display:grid}.nsl-dashboardTop{grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:28px}.nsl-statsRow{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.nsl-statCard,.nsl-listCard,.nsl-featureCard,.nsl-pricingCard,.nsl-stepCard,.nsl-terminalCard{border:1px solid var(--nsl-border);background:var(--nsl-surface);box-shadow:var(--nsl-shadow)}.nsl-statCard,.nsl-listCard{padding:18px;border-radius:18px}.nsl-listStack{display:grid;gap:12px}.nsl-skeleton{background:linear-gradient(90deg,#94a3b82e,#94a3b857,#94a3b82e);border-radius:999px}.nsl-skeleton--title{width:220px;height:26px}.nsl-skeleton--avatar{width:36px;height:36px;border-radius:50%}.nsl-skeleton--label{width:64px;height:8px;margin-bottom:14px}.nsl-skeleton--value{width:96px;height:18px}.nsl-skeleton--wide{width:100%;height:16px;margin-bottom:18px}.nsl-skeleton--row{width:100%;height:34px;border-radius:12px}.nsl-section{padding:96px 0}.nsl-section--base{background:var(--nsl-section-bg)}.nsl-section--panel{background:var(--nsl-panel-bg)}.nsl-sectionIntro{text-align:center;max-width:720px;margin:0 auto 64px}.nsl-sectionIntro h2,.nsl-canvasContent h2,.nsl-securityCopy h2,.nsl-ctaCard h2{font-size:clamp(2.3rem,5vw,3.5rem);color:var(--nsl-text)}.nsl-sectionIntro p{margin:16px 0 0;font-size:1.08rem}.nsl-featureGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.nsl-featureCard{position:relative;padding:30px;border-radius:28px;overflow:hidden;min-height:260px;background:var(--nsl-surface)}.nsl-featureCard--tall{grid-row:span 2;background:linear-gradient(180deg,#4f46e5,#4338ca);color:#fff}.nsl-featureCard--success{background:linear-gradient(180deg,#10b981,#059669);color:#fff}.nsl-featureCard--success p,.nsl-featureCard--tall p{color:#ffffffd6}.nsl-featureCard--indigo:hover{border-color:#4f46e552}.nsl-featureCard--emerald:hover{border-color:#10b98152}.nsl-featureCard--amber:hover{border-color:#f59e0b52}.nsl-featureCard--rose:hover{border-color:#f43f5e52}.nsl-featureCard--cyan:hover{border-color:#06b6d452}.nsl-featureCard--violet:hover{border-color:#8b5cf652}.nsl-featureIcon,.nsl-checkIcon,.nsl-securityIcon{width:52px;height:52px;border-radius:16px;margin-bottom:24px;background:var(--nsl-indigo-soft);color:var(--nsl-indigo)}.nsl-featureCard--emerald .nsl-featureIcon{background:var(--nsl-emerald-soft);color:var(--nsl-emerald)}.nsl-featureCard--amber .nsl-featureIcon{background:#f59e0b1f;color:#f59e0b}.nsl-featureCard--rose .nsl-featureIcon{background:#f43f5e1f;color:#f43f5e}.nsl-featureCard--cyan .nsl-featureIcon{background:#06b6d41f;color:#06b6d4}.nsl-featureCard--violet .nsl-featureIcon{background:#8b5cf61f;color:#8b5cf6}.nsl-featureCard--tall .nsl-featureIcon,.nsl-featureCard--success .nsl-featureIcon{background:#ffffff2e;color:#fff}.nsl-featureBody h3,.nsl-stepCard h3,.nsl-pricingTop h3,.nsl-securityFeature h3,.nsl-checkList h3,.nsl-directoryItem strong{margin:0 0 12px;font-size:1.35rem;color:inherit}.nsl-featureBody p,.nsl-stepCard p,.nsl-pricingTop p{margin:0}.nsl-featureMockup{position:absolute;left:30px;right:30px;bottom:0;height:210px;padding:24px 24px 0;border-radius:28px 28px 0 0;border:1px solid rgba(255,255,255,.18);background:#ffffff24;display:grid;gap:12px}.nsl-featureMockup div{height:40px;border-radius:12px;background:#ffffff24}.nsl-analyticsBars{margin-top:28px;display:flex;align-items:end;gap:8px;height:56px}.nsl-analyticsBars span{display:block;width:8px;border-radius:999px;background:#ffffffc7}.nsl-analyticsBars span:nth-child(1){height:32px}.nsl-analyticsBars span:nth-child(2){height:48px}.nsl-analyticsBars span:nth-child(3){height:40px}.nsl-analyticsBars span:nth-child(4){height:24px}.nsl-canvasGrid{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:72px;align-items:center}.nsl-floatingCanvas{position:relative;min-height:520px}.nsl-glassCard{position:absolute;border:1px solid var(--nsl-border);background:var(--nsl-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:28px;box-shadow:var(--nsl-shadow)}.nsl-glassCard--main{inset:56px auto auto 0;width:min(100%,470px);padding:28px;z-index:3}.nsl-glassCard--events{right:0;bottom:36px;width:min(62vw,280px);padding:24px;z-index:4}.nsl-glassCard--chart{top:0;right:20px;width:min(58vw,240px);padding:24px;z-index:2;opacity:.94}.nsl-glassHeader,.nsl-eventHeader{align-items:center;justify-content:space-between;gap:12px}.nsl-glassHeader{margin-bottom:20px}.nsl-glassHeader h4,.nsl-eventHeader h4{margin:0;font-size:1rem}.nsl-directoryList{display:grid;gap:14px}.nsl-directoryItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border-radius:18px;background:color-mix(in srgb,var(--nsl-surface-strong) 86%,transparent);border:1px solid var(--nsl-border)}.nsl-avatarBadge{width:42px;height:42px;border-radius:50%;font-size:.9rem;font-weight:800}.nsl-avatarBadge--indigo{background:var(--nsl-indigo-soft);color:var(--nsl-indigo)}.nsl-avatarBadge--amber{background:#f59e0b24;color:#f59e0b}.nsl-directoryItem strong{display:block;margin-bottom:2px;font-size:.96rem}.nsl-directoryItem span,.nsl-directoryItem em{color:var(--nsl-text-soft);font-size:.82rem;font-style:normal}.nsl-directoryItem em{font-weight:700;color:#10b981}.nsl-directoryItem em.is-muted{color:var(--nsl-text-dim)}.nsl-eventHeader{justify-content:flex-start;margin-bottom:18px}.nsl-eventHeader span{color:var(--nsl-indigo)}.nsl-progressTrack{width:100%;height:8px;border-radius:999px;background:color-mix(in srgb,var(--nsl-surface-muted) 76%,transparent);overflow:hidden}.nsl-progressTrack span{display:block;width:60%;height:100%;background:var(--nsl-indigo)}.nsl-eventMeta{justify-content:space-between;gap:10px;margin-top:12px;color:var(--nsl-text-soft);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nsl-chartBlock{min-height:132px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--nsl-surface-strong) 86%,transparent);color:var(--nsl-text-dim)}.nsl-canvasContent h2,.nsl-securityCopy h2{margin-bottom:26px}.nsl-checkList{list-style:none;margin:0;padding:0;display:grid;gap:24px}.nsl-checkList li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.nsl-checkIcon{width:34px;height:34px;border-radius:50%;margin-top:4px;background:var(--nsl-indigo);color:#fff}.nsl-checkList h3{font-size:1.3rem;color:var(--nsl-text)}.nsl-checkList p{margin:0}.nsl-steps{justify-content:space-between;gap:28px;position:relative}.nsl-steps:before{content:"";position:absolute;top:32px;left:10%;right:10%;height:1px;background:var(--nsl-border)}.nsl-stepCard{position:relative;z-index:1;flex:1;padding:0 14px;text-align:center;background:transparent;border:none;box-shadow:none}.nsl-stepNumber{width:64px;height:64px;border-radius:50%;margin:0 auto 24px;display:grid;place-items:center;background:var(--nsl-surface);border:1px solid var(--nsl-border);box-shadow:0 0 0 10px var(--nsl-section-bg);color:var(--nsl-indigo);font-size:1.65rem;font-weight:800}.nsl-stepCard h3{font-size:1.35rem}.nsl-pricingGrid{gap:24px;align-items:stretch}.nsl-pricingCard{position:relative;flex:1;padding:38px;border-radius:30px;display:flex;flex-direction:column;background:var(--nsl-surface-strong)}.nsl-pricingCard--featured{background:linear-gradient(180deg,#4f46e5,#4338ca);color:#fff;transform:scale(1.04)}.nsl-pricingBadge{position:absolute;top:0;right:0;padding:10px 14px;border-radius:0 30px 0 18px;background:#10b981;color:#fff}.nsl-pricingTop{margin-bottom:30px}.nsl-pricingTop h3{font-size:1.35rem}.nsl-pricingValue{align-items:flex-end;gap:8px;margin-bottom:16px}.nsl-pricingValue span{font-size:3rem;font-weight:800;letter-spacing:-.04em}.nsl-pricingValue small{color:inherit;opacity:.74;font-size:1rem}.nsl-pricingCard--featured .nsl-pricingTop p,.nsl-pricingCard--featured .nsl-pricingList li{color:#ffffffe0}.nsl-pricingList{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:16px;flex:1}.nsl-pricingList li{display:flex;align-items:center;gap:10px;color:var(--nsl-text)}.nsl-pricingList span{color:#10b981}.nsl-security{position:relative;overflow:hidden}.nsl-security:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--nsl-grid-dot) 1px,transparent 1px);background-size:20px 20px;opacity:.55;pointer-events:none}.nsl-securityGrid{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:64px;align-items:center}.nsl-kicker{display:block;color:var(--nsl-indigo);margin-bottom:18px}.nsl-securityCopy>p{margin:0 0 34px;font-size:1.08rem}.nsl-securityFeatures{gap:24px;flex-wrap:wrap}.nsl-securityFeature{flex:1;min-width:220px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}.nsl-securityIcon{margin-bottom:0}.nsl-securityFeature h3{font-size:1.05rem;margin-bottom:6px;color:var(--nsl-text)}.nsl-securityFeature p{margin:0}.nsl-terminalCard{position:relative;padding:28px;border-radius:32px;background:color-mix(in srgb,var(--nsl-surface-strong) 88%,transparent)}.nsl-terminalTop{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.nsl-terminalDots{gap:8px}.nsl-terminalDots span,.nsl-status span{display:inline-block;border-radius:50%}.nsl-terminalDots span:nth-child(1){width:12px;height:12px;background:#f43f5e}.nsl-terminalDots span:nth-child(2){width:12px;height:12px;background:#f59e0b}.nsl-terminalDots span:nth-child(3){width:12px;height:12px;background:#10b981}.nsl-terminalTop strong{color:var(--nsl-indigo);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.74rem;letter-spacing:.14em}.nsl-terminalBody{display:grid;gap:10px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem;color:color-mix(in srgb,var(--nsl-indigo) 72%,var(--nsl-text))}.nsl-terminalBody .is-dim{color:var(--nsl-text-dim)}.nsl-terminalBody .is-accent{color:var(--nsl-indigo)}.nsl-ctaWrap{max-width:920px}.nsl-ctaCard{position:relative;padding:72px 40px;text-align:center;border-radius:40px;background:linear-gradient(180deg,#4f46e51f,#4f46e50a);border:1px solid var(--nsl-border-strong);overflow:hidden}.nsl-ctaMark{position:absolute;top:0;right:0;padding:28px;opacity:.12;transform:rotate(12deg)}.nsl-ctaMark img{width:92px;height:92px}.nsl-ctaCard p{margin:20px auto 0;max-width:640px;font-size:1.14rem}.nsl-trustRow{justify-content:center;gap:16px;flex-wrap:wrap;margin-top:38px}.nsl-trustRow span{border:1px solid var(--nsl-border);background:var(--nsl-surface);color:var(--nsl-text-soft);padding:10px 14px;border-radius:999px;font-size:.82rem;font-weight:700}.nsl-footer{border-top:1px solid var(--nsl-border);background:var(--nsl-section-bg);padding:72px 0 28px}.nsl-footerGrid{grid-template-columns:minmax(0,2fr) repeat(4,minmax(120px,1fr));gap:32px}.nsl-footerBrand{max-width:360px}.nsl-footerBrand p{margin:22px 0}.nsl-socials{gap:12px}.nsl-socials a{width:40px;height:40px;border-radius:50%;border:1px solid var(--nsl-border);background:var(--nsl-surface);display:inline-flex;align-items:center;justify-content:center}.nsl-footerGrid h4{margin:0 0 20px;color:var(--nsl-text);font-size:1rem}.nsl-footerGrid ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.nsl-footerBottom{justify-content:space-between;align-items:center;gap:18px;margin-top:44px;padding-top:24px;border-top:1px solid var(--nsl-border);color:var(--nsl-text-dim);font-size:.9rem}.nsl-status{align-items:center;gap:10px}.nsl-status span{width:9px;height:9px;background:#10b981;box-shadow:0 0 10px #10b98173}.nsl-status strong{color:var(--nsl-text-soft)}.ns-authWrap{min-height:100vh;display:flex;flex-direction:column}.ns-authHeader{border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-card) 88%,transparent)}.ns-authHeader .ns-shell{min-height:72px;display:flex;justify-content:space-between;align-items:center}.ns-authMain{width:min(520px,92vw);margin:34px auto}.ns-authCard{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:18px;padding:26px;box-shadow:0 16px 36px #0f172a12}.ns-authBrand{text-align:center;margin-bottom:20px}.ns-authBrand img{width:82px;height:82px;object-fit:contain}.ns-authBrand h1{margin:10px 0 8px;font-size:1.7rem}.ns-authBrand p{margin:0;color:var(--color-text-secondary)}.ns-formGrid{display:grid;gap:14px}.ns-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ns-gridEmailRole{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:14px}.ns-field{display:grid;gap:7px}.ns-field label{font-size:.9rem;font-weight:700}.ns-field input,.ns-field select,.ns-field textarea{width:100%;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-card) 75%,var(--color-surface-soft));color:var(--color-text-primary);border-radius:11px;padding:12px 14px;font:inherit}.ns-help{color:var(--color-text-secondary);font-size:.82rem;margin-top:8px}.ns-alert{padding:10px 12px;border-radius:10px;font-size:.9rem;border:1px solid transparent}.ns-alert--error{background:#ffe8e7;border-color:#fecdca;color:#b42318}.ns-alert--success{background:#ecfdf3;border-color:#abefc6;color:#027a48}.ns-progress{margin-bottom:18px}.ns-progressTop{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--color-text-secondary);font-size:.87rem;font-weight:700}.ns-progressBar{width:100%;height:10px;border-radius:999px;background:var(--color-surface-soft);overflow:hidden}.ns-progressBar span{display:block;height:100%;background:#2b6cee}.ns-stepActions{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}.ns-stepActionsRight{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.ns-complete{text-align:center}.ns-complete .ns-authBrand img{width:64px;height:64px}.ns-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.ns-stats>div{border:1px solid var(--color-border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--color-bg-card) 75%,var(--color-surface-soft))}.ns-stats p{margin:0;color:var(--color-text-secondary);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.ns-stats strong{display:block;margin-top:6px;font-size:1.25rem}.nsl-contactGrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:start}.nsl-contactCopy{display:grid;gap:18px}.nsl-contactCopy h2{margin:0}.nsl-contactCopy p{margin:0;color:var(--nsl-text-muted)}.nsl-contactCard{display:grid;gap:18px;padding:28px;border-radius:28px;border:1px solid var(--nsl-border);background:#ffffffe0;box-shadow:0 22px 48px #0f172a14}.nsl-contactFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nsl-contactFields label{display:grid;gap:8px;color:var(--nsl-text-main);font-weight:600}.nsl-contactFields span{font-size:.92rem}.nsl-contactFields input,.nsl-contactFields select,.nsl-contactFields textarea{width:100%;border-radius:16px;border:1px solid var(--nsl-border);background:#fffffff0;padding:14px 16px;font:inherit}.nsl-contactField--full{grid-column:1 / -1}.nsl-contactFields textarea{resize:vertical;min-height:132px}.nsl-contactStatus{margin:0;font-size:.95rem;font-weight:600}.nsl-contactStatus--error{color:#b42318}.nsl-contactStatus--success{color:#047857}@media(max-width:1120px){.nsl-heroGrid,.nsl-canvasGrid,.nsl-securityGrid,.nsl-footerGrid,.nsl-contactGrid{grid-template-columns:1fr}.nsl-featureGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.nsl-glassCard--events,.nsl-glassCard--chart{right:0}.nsl-pricingGrid,.nsl-steps{flex-direction:column}.nsl-pricingCard--featured{transform:none}}@media(max-width:920px){.nsl-navRow{flex-wrap:wrap;justify-content:center;padding:16px 0}.nsl-navLinks{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:18px}.nsl-navActions{flex-wrap:wrap;justify-content:center}.nsl-hero{padding-top:40px}.nsl-dashboardWrap{min-height:440px}.nsl-floatingCanvas{min-height:auto;display:grid;gap:18px}.nsl-glassCard{position:static;width:100%}.nsl-steps:before{display:none}.nsl-stepCard{text-align:left;padding:0}.nsl-stepNumber{margin-left:0;box-shadow:none}.nsl-footerBottom{flex-direction:column;align-items:flex-start}.ns-gridEmailRole{grid-template-columns:1fr}}@media(max-width:700px){.nsl-shell{width:min(100vw - 24px,1280px)}.nsl-button,.nsl-themeToggle,.nsl-navActions,.nsl-heroActions{width:100%}.nsl-featureGrid,.nsl-dashboard,.nsl-statsRow,.nsl-footerGrid,.ns-stats,.nsl-contactFields{grid-template-columns:1fr}.nsl-dashboardSidebar{flex-direction:row;justify-content:center;border-right:0;border-bottom:1px solid var(--nsl-border)}.nsl-featureCard--tall{grid-row:auto}.nsl-pricingCard,.nsl-ctaCard,.nsl-terminalCard,.nsl-featureCard{padding:24px}.nsl-section{padding:72px 0}.nsl-sectionIntro{margin-bottom:40px}.nsl-heroContent h1{max-width:none}.ns-authCard{padding:20px}.ns-stepActions{flex-direction:column-reverse}.ns-stepActionsRight{width:100%;margin-left:0}.ns-stepActions .ns-btn,.ns-stepActionsRight .ns-btn{width:100%}}.app-init-loader{min-height:100vh;background:#eceff3;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:24px}.app-init-loader__center{width:min(360px,90vw);display:flex;flex-direction:column;align-items:center;gap:24px}.app-init-loader__logo{width:220px;height:auto;display:block}.app-init-loader__progress{width:100%}.app-init-loader__track{width:100%;height:4px;border-radius:999px;background:#d8dee8;overflow:hidden}.app-init-loader__fill{height:100%;background:linear-gradient(90deg,#00b8a9,#26b874);border-radius:999px;transition:width .12s linear}.app-init-loader__meta{margin-top:10px;display:flex;justify-content:space-between;font-size:.95rem;letter-spacing:.08em;color:#8a95a7}.app-init-loader__meta span:last-child{letter-spacing:0;color:#6f7b8c}.app-init-loader__footer{position:absolute;bottom:30px;margin:0;font-size:.95rem;color:#96a1b1;letter-spacing:.02em}@media(prefers-color-scheme:dark){.app-init-loader{background:#0b1220}.app-init-loader__track{background:#243247}.app-init-loader__meta{color:#94a3b8}.app-init-loader__meta span:last-child{color:#cbd5e1}.app-init-loader__footer{color:#7b8798}}:root[data-theme=dark] .app-init-loader{background:#0b1220}:root[data-theme=dark] .app-init-loader__track{background:#243247}:root[data-theme=dark] .app-init-loader__meta{color:#94a3b8}:root[data-theme=dark] .app-init-loader__meta span:last-child{color:#cbd5e1}:root[data-theme=dark] .app-init-loader__footer{color:#7b8798}@media(max-width:600px){.app-init-loader__logo{width:180px}.app-init-loader__meta,.app-init-loader__footer{font-size:.82rem}}:root{color-scheme:light;--color-bg-main: #f9fafb;--color-bg-card: #ffffff;--color-primary: #16a34a;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-surface-muted: #f8fafc;--color-surface-soft: #f1f5f9;--color-overlay-surface: rgba(255, 255, 255, .92);--dashboard-bg-superadmin: #f4f6fb;--dashboard-bg-teacher: #f5f7fb;--dashboard-bg-student: #f5f3f4;--dashboard-bg-parent: #f6f5fb;--dashboard-bg-admin: #f5f7fb;--student-hero-title: #0f172a;--student-hero-subtitle: #64748b;--student-card-bg: #ffffff;--student-card-border: #e2e8f0;--student-card-shadow: 0 10px 24px rgba(15, 23, 42, .04);--student-title: #0f172a;--student-muted: #64748b;--student-dim: #94a3b8;--student-accent: #7f1d1d;--student-accent-soft: #f1f5f9;--student-button-bg: #f8fafc;--student-link: #7f1d1d;--sidebar-width: 260px;--topbar-height: 64px;--radius-lg: 12px;--radius-md: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px}:root[data-theme=dark]{color-scheme:dark;--color-bg-main: #0b1220;--color-bg-card: #111a2c;--color-text-primary: #e5e7eb;--color-text-secondary: #94a3b8;--color-border: #243041;--color-surface-muted: #0f172a;--color-surface-soft: #131f33;--color-overlay-surface: rgba(13, 20, 36, .9);--dashboard-bg-superadmin: #0a1324;--dashboard-bg-teacher: #0b1528;--dashboard-bg-student: #140e14;--dashboard-bg-parent: #111229;--dashboard-bg-admin: #0b1528;--student-hero-title: #e5e7eb;--student-hero-subtitle: #94a3b8;--student-card-bg: #101827;--student-card-border: #233144;--student-card-shadow: 0 10px 24px rgba(0, 0, 0, .35);--student-title: #f8fafc;--student-muted: #94a3b8;--student-dim: #7f8ca1;--student-accent: #fca5a5;--student-accent-soft: #1a2436;--student-button-bg: #18243a;--student-link: #fecaca}.button-primary{background:#2b6cee;border:none;color:#fff;padding:12px 18px;border-radius:10px;font-weight:600;cursor:pointer}.button-primary:disabled{opacity:.6;cursor:not-allowed}.button-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary);padding:12px 18px;border-radius:10px;font-weight:600;cursor:pointer}.form-message{padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:.9rem}.form-message--error{background:#ffe8e7;color:#b42318;border:1px solid #fecdca}.form-message--success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-primary);background:var(--color-bg-main)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;line-height:1;vertical-align:middle}input,textarea,select{color:var(--color-text-primary);caret-color:var(--color-text-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}
