@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--primary: #5b6cff;--primary-hover: #4a5ae8;--primary-soft: #eef0ff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--accent: #1E44DC;--accent-600: #1736B8;--accent-300: #3a57e8;--accent-glow: rgba(30,68,220,.18);--ok: #10b981;--warn: #f59e0b;--line: rgba(15,23,42,.08);--line-soft: rgba(15,23,42,.05);--text: #111827;--text-sub: #4b5563;--text-dim: #9ca3af;--surface-1: #ffffff;--surface-3: #f0f1f4;--radius-btn: 14px;--radius-card: 18px;--radius-pill: 999px;--font: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--gray-50: #fafafa;--gray-100: #f4f5f7;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .1);--shadow-xl: 0 20px 50px rgba(15, 23, 42, .15);--shadow-glow: 0 0 0 3px rgba(30, 68, 220, .18);--surface: #ffffff;--surface-2: #f4f5f7;--nav: #0E2038;--overlay: rgba(255, 255, 255, .75);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{color-scheme:dark;--gray-50: #1c1e21;--gray-100: #24272c;--gray-200: #3a3f49;--gray-300: #4a505b;--gray-400: #a7adb6;--gray-500: #c0c6ce;--gray-600: #d7dbe1;--gray-700: #e7eaee;--gray-800: #f4f6f8;--gray-900: #ffffff;--surface: #232629;--surface-1: #232629;--surface-2: #2A2D32;--surface-3: #2f333a;--nav: #1a1d21;--overlay: rgba(0, 0, 0, .4);--primary: #4f6cf0;--primary-hover: #6e86f5;--primary-soft: rgba(30, 68, 220, .2);--accent-300: #4f6cf0;--accent-glow: rgba(30, 68, 220, .22);--ok: #3ecb87;--warn: #e0a73a;--line: rgba(255, 255, 255, .08);--line-soft: rgba(255, 255, 255, .05);--text: #ffffff;--text-sub: rgba(255, 255, 255, .6);--text-dim: rgba(255, 255, 255, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .55);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .6);background:var(--gray-50);color:var(--gray-800)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Manrope,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";color:var(--gray-800);background:var(--gray-50)}#root{width:100%;height:100%}button{font-family:inherit;transition:transform .15s var(--ease-smooth),box-shadow .15s var(--ease-smooth),background .15s var(--ease-smooth),color .15s var(--ease-smooth)}button:active{transform:scale(.96)}input,textarea,select{font-family:inherit;color:inherit;transition:border-color .15s var(--ease-smooth),box-shadow .15s var(--ease-smooth)}input::placeholder,textarea::placeholder{color:var(--gray-400)}[data-theme=dark] select option{background:var(--surface);color:var(--gray-800)}input:focus,textarea:focus,select:focus{border-color:var(--primary)!important;outline:none;box-shadow:var(--shadow-glow)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}::-webkit-scrollbar-track{background:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideRight{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.anim-fade{animation:fadeIn .2s var(--ease-smooth)}.anim-slide-up{animation:fadeSlideUp .25s var(--ease-spring)}.anim-slide-down{animation:fadeSlideDown .25s var(--ease-spring)}.anim-slide-right{animation:fadeSlideRight .25s var(--ease-spring)}.anim-scale{animation:scaleIn .18s var(--ease-spring)}.anim-pulse{animation:pulse 1.5s ease-in-out infinite}.spinner{width:28px;height:28px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}.mate{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased}.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;font-family:inherit;font-weight:700;font-size:14.5px;letter-spacing:.005em;color:#fff;border:none;border-radius:var(--radius-btn);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:transform .16s ease,box-shadow .25s ease,background .25s ease,filter .2s ease}.btn:active{transform:translateY(1px) scale(.99)}.btn svg{width:17px;height:17px;flex:none}.btn.sm{height:36px;padding:0 15px;font-size:13px;border-radius:11px}.btn.sm svg{width:15px;height:15px}.btn.lg{height:52px;padding:0 30px;font-size:16px;border-radius:16px}.btn--accent{background:linear-gradient(180deg,#2a52ec 0%,var(--accent) 55%,var(--accent-600) 100%);box-shadow:inset 0 1px #ffffff73,inset 0 -10px 18px #0000002e,0 3px 9px var(--accent-glow)}.btn--accent:hover{background:linear-gradient(180deg,#335bf0,#2547e2 55%,#1c3fc9);box-shadow:inset 0 1px #ffffff80,0 4px 11px var(--accent-glow)}.btn--accent-glass{background:linear-gradient(180deg,#2a52ecf5,#1e44dcd6);-webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4);box-shadow:inset 0 1px #ffffff57,inset 0 0 22px #96c8ff33,inset 0 -8px 16px #0814466b,0 3px 10px var(--accent-glow)}.btn--accent-glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.2px;z-index:-1;background:linear-gradient(135deg,#fff9,#bed7ff66 38%,#ffffff24 62%,#96beff80);opacity:.42;transition:opacity .3s ease;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.btn--accent-glass:hover{background:linear-gradient(180deg,#3a62f5fa,#2850e6e0)}.btn--accent-glass:hover:before{opacity:.95}.btn--glass{background:linear-gradient(180deg,#ffffff1f,#ffffff08);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px #ffffff4d,inset 0 -8px 16px #00000042,0 6px 18px #00000052;color:#fff}.btn--glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;z-index:-1;background:linear-gradient(140deg,#ffffff8c,#ffffff29 38%,#ffffff1f 62%,#bed2f573);opacity:.42;transition:opacity .3s ease;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.btn--glass:hover:before{opacity:.95}.btn--glass:hover{background:linear-gradient(180deg,#ffffff2b,#ffffff0d)}.btn--ghost{background:#ffffff08;border:1px solid rgba(255,255,255,.14);color:var(--text);box-shadow:inset 0 1px #ffffff14}.btn--ghost:hover{background:#ffffff12;border-color:#ffffff3d}.btn--subtle{background:var(--surface-2);border:1px solid var(--line);color:var(--text-sub);box-shadow:inset 0 1px #ffffff0d}.btn--subtle:hover{color:var(--text);border-color:#ffffff2e}.btn--disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.btn--disabled:active{transform:none}.iconbtn{position:relative;isolation:isolate;width:38px;height:38px;flex:none;border-radius:11px;cursor:pointer;display:grid;place-items:center;color:var(--text-sub);border:none;background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:inset 0 1px #ffffff1a;transition:color .18s ease}.iconbtn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none}.iconbtn:hover{color:var(--text)}.iconbtn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;z-index:-1;background:linear-gradient(140deg,#ffffff4d,#ffffff0a);opacity:.5;transition:opacity .3s ease;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.iconbtn:hover:before{opacity:1}.card{position:relative;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:inset 0 1px #ffffff0a}.card--grad{background:radial-gradient(420px 220px at 100% 0%,rgba(30,68,220,.22),transparent 60%),linear-gradient(150deg,#232a33,#1a2330);border-color:#78aaff24}.card--accent{background:radial-gradient(560px 300px at 90% 50%,rgba(30,68,220,.3),transparent 62%),linear-gradient(120deg,#20242b,#1b2330 48%,#16233c);border-color:#78aaff2e}.field{height:44px;padding:0 15px;width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:12px;font-family:inherit;font-size:14px;outline:none;box-shadow:inset 0 1px #ffffff0a;transition:border-color .18s ease,box-shadow .18s ease}.field::placeholder{color:var(--text-dim)}.field:focus{border-color:#78a0ff80;box-shadow:inset 0 1px #ffffff0a,0 0 0 3px #1e44dc2e}textarea.field{height:auto;padding:12px 15px;resize:none;line-height:1.5}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff80' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}.flabel{font-size:13px;font-weight:700;color:var(--text);margin-bottom:9px;display:block}.chip{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--text-sub);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.chip:hover{color:var(--text)}.chip .x{color:var(--text-dim);font-size:15px;line-height:1}.chip.active{color:#fff;background:linear-gradient(180deg,#2a52ec6b,#1e44dc33);border-color:#78aaff59;box-shadow:inset 0 1px #ffffff2e,0 3px 12px var(--accent-glow)}.chip--add{width:36px;padding:0;justify-content:center;color:var(--text-sub)}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:700;letter-spacing:.01em}.badge--student{color:#bcd0ff;background:#1e44dc2e;border:1px solid rgba(120,160,255,.25)}.badge--parent{color:#d6c7ff;background:#785adc29;border:1px solid rgba(160,140,240,.22)}.badge--ok{color:#7ef0bb;background:#3ecb8724;border:1px solid rgba(62,203,135,.25)}.badge--off{color:var(--text-dim);background:#ffffff0d;border:1px solid var(--line)}.avatar{border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none;color:#fff;background:linear-gradient(160deg,#2a52ec,#1736b8);box-shadow:inset 0 1px #fff6,0 4px 12px var(--accent-glow)}.avatar.a-violet{background:linear-gradient(160deg,#7b5cf0,#4a32b8)}.avatar.a-teal{background:linear-gradient(160deg,#1eb6c4,#137a8a)}.avatar.a-rose{background:linear-gradient(160deg,#e0688c,#a83a5e)}.avatar.a-amber{background:linear-gradient(160deg,#e0a73a,#a8722a)}.avatar .status{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;border:2.5px solid var(--surface-1)}.avatar.online .status{background:var(--ok)}.avatar.offline .status{background:var(--text-dim)}.page-title{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:18px}.tab{position:relative;padding:12px 16px;font-size:15px;font-weight:700;color:var(--text-sub);cursor:pointer;background:none;border:none;font-family:inherit}.tab:hover,.tab.active{color:var(--text)}.tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2.5px;border-radius:2px;background:linear-gradient(90deg,#6e8bff,var(--accent))}.tab.outlined.active{color:var(--accent-300)}.tab.outlined.active:after{display:none}.tab.outlined.active{border:1px solid rgba(120,160,255,.45);border-radius:9px;box-shadow:0 0 0 3px #1e44dc24}.sidebar{position:relative;width:256px;height:100%;flex:none;display:flex;flex-direction:column;padding:14px 12px;background:radial-gradient(360px 300px at 50% 99%,rgba(30,68,220,.26),transparent 68%),linear-gradient(180deg,#21252c,#1a1d21);border-right:1px solid rgba(255,255,255,.06)}.sb-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 14px}.sb-logo{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;background:linear-gradient(150deg,#2a52ec,#1736b8);font-weight:800;font-size:18px;color:#fff;box-shadow:inset 0 1px #fff6,0 5px 14px var(--accent-glow)}.sb-wm{font-weight:800;font-size:19px;letter-spacing:-.01em;line-height:1;color:#fff}.sb-wm small{display:block;font-size:10.5px;font-weight:600;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-top:4px}.sb-sec{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);padding:4px 12px 9px}.sb-nav{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto}.sb-item{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:11px;color:var(--text-sub);font-size:14px;font-weight:600;cursor:pointer;border:none;background:transparent;font-family:inherit;width:100%;text-align:left;transition:background .16s ease,color .16s ease}.sb-ic{width:20px;height:20px;flex:none;color:var(--text-dim);display:grid;place-items:center;transition:color .16s ease}.sb-ic svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none}.sb-item:hover{background:#ffffff0b;color:var(--text)}.sb-item:hover .sb-ic{color:var(--text-sub)}.sb-item.active{color:#fff;background:linear-gradient(180deg,#2a52ecf5,#1e44dcd6);box-shadow:inset 0 1px #ffffff57,inset 0 0 22px #96c8ff33,inset 0 -8px 16px #0814466b,0 3px 12px var(--accent-glow)}.sb-item.active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.2px;z-index:-1;background:linear-gradient(135deg,#fff9,#bed7ff66 38%,#ffffff24 62%,#96beff80);opacity:.6;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.sb-item.active .sb-ic{color:#fff}.sb-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:7px;font-size:11px;font-weight:800;display:grid;place-items:center}.sb-count.accent{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.sb-count.muted{background:#ffffff17;color:var(--text-sub)}.sb-count.danger{background:#ef4444;color:#fff}.sb-item.active .sb-count.accent,.sb-item.active .sb-count.muted{background:#ffffff40;color:#fff;box-shadow:none}.sb-spacer{flex:1 1 auto;min-height:14px;overflow-y:auto}.sb-foot{display:flex;flex-direction:column;gap:8px}.sb-util{display:flex;align-items:center;gap:6px}.sb-support2{flex:1;display:flex;align-items:center;gap:11px;height:40px;padding:0 12px;border-radius:10px;color:var(--text-sub);font-size:13.5px;font-weight:600;cursor:pointer;transition:.16s;border:none;background:transparent;font-family:inherit}.sb-support2 svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none}.sb-support2:hover{background:#ffffff0b;color:var(--text)}.sb-iconbtn{width:40px;height:40px;flex:none;border-radius:10px;display:grid;place-items:center;color:var(--text-dim);cursor:pointer;transition:.16s;border:none;background:transparent}.sb-iconbtn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none}.sb-iconbtn:hover{background:#ffffff0b;color:var(--text)}.sb-profile2{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:12px;background:#ffffff09;border:1px solid var(--line);cursor:pointer}.sb-profile2 .who{flex:1;min-width:0}.sb-profile2 .nm{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.sb-profile2 .rl{font-size:11.5px;color:var(--text-sub);margin-top:2px}.sb-profile2 .pbtn{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--text-dim);cursor:pointer;transition:.16s;border:none;background:transparent}.sb-profile2 .pbtn svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none}.sb-profile2 .pbtn:hover{background:#ffffff12;color:#fff}
