*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-page:#f5f6fa;--bg-surface:#fff;--bg-elevated:#f8f9fa;--bg-card:#fff;--bg-input:#fafafa;--bg-input-focus:#fff;--bg-muted:#f4f4f5;--bg-hover:#f0f0f0;--bg-sidebar:linear-gradient(135deg, #0a1628, #132044 50%, #1a2d5a);--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--text-dim:#d4d4d8;--border:#e5e5e5;--border-light:#f0f0f0;--accent:#6366f1;--accent-hover:#4f46e5;--success:#16a34a;--success-bg:#dcfce7;--error:#dc2626;--error-bg:#fef2f2;--warning:#d97706;--warning-bg:#fef3c7;--shadow-sm:0 1px 2px #00000008;--shadow-md:0 1px 3px #0000000a, 0 4px 24px #0000000a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--sidebar-bg:linear-gradient(160deg, #eef0ff 0%, #f5f6ff 40%, #e6e8fa 100%);--sidebar-bg-overlay:radial-gradient(ellipse at 20% 25%,#6366f10f 0%,transparent 55%),radial-gradient(ellipse at 75% 70%,#6366f108 0%,transparent 45%);--sidebar-text:#18181b;--sidebar-text-muted:#6b7280;--sidebar-border:#0000000f;--sidebar-brand-text:linear-gradient(90deg, #4f46e5, #c084fc, #6366f1);--sidebar-brand-shadow:#6366f133;--sidebar-brand-shadow-hover:#6366f159;--sidebar-nav-hover:linear-gradient(135deg,#6366f114,#6366f10a);--sidebar-nav-active:linear-gradient(135deg,#6366f138,#6366f11a);--sidebar-nav-active-text:#4f46e5;--sidebar-nav-active-border:#6366f1;--sidebar-nav-color:#00000080;--sidebar-nav-color-hover:#000000d9;--sidebar-footer-hover-bg:#0000000d;--sidebar-footer-hover-text:#000000bf;--sidebar-avatar-bg:linear-gradient(135deg,#6366f114,#6366f126);--sidebar-avatar-border:#6366f126;--sidebar-user-name-color:#000000d9;--sidebar-gradient-name:linear-gradient(270deg,#1e1b4b,#6366f1,#1e1b4b,#6366f1);--sidebar-badge-admin-bg:#38bdf826;--sidebar-badge-admin-text:#38bdf8;--sidebar-badge-tech-bg:#f9731626;--sidebar-badge-tech-text:#ea580c;--sidebar-badge-master-bg:#10b98126;--sidebar-badge-master-text:#059669;--main-bg:linear-gradient(135deg, #e8eaff 0%, var(--bg-page) 35%);--accent-border:#6366f173;--accent-fade:#6366f11f;--sidebar-glow:#6366f12e}[data-theme=dark]{--bg-page:#0d0d14;--bg-surface:#16161f;--bg-elevated:#20202d;--bg-card:#1c1c28;--bg-input:#1a1a28;--bg-input-focus:#20202d;--bg-muted:#20202d;--bg-hover:#2a2a3e;--text-primary:#e4e4ed;--text-secondary:#a1a1aa;--text-muted:#6b7280;--text-dim:#4b5563;--border:#363650;--border-light:#2a2a3e;--shadow-sm:0 1px 2px #0003;--shadow-md:0 1px 3px #00000040, 0 4px 24px #00000040;--success-bg:#16a34a1a;--error-bg:#dc26261a;--warning-bg:#d977061a;--sidebar-bg:linear-gradient(160deg, #00182a 0%, #001020 40%, #000c18 100%);--sidebar-bg-overlay:radial-gradient(ellipse at 20% 25%,#a8e6ff1a 0%,transparent 55%),radial-gradient(ellipse at 75% 70%,#a8e6ff0d 0%,transparent 45%);--sidebar-text:#fff;--sidebar-text-muted:#ffffff80;--sidebar-border:#ffffff0f;--sidebar-brand-text:linear-gradient(90deg, #3b82f6, #c7e8ff, #818cf8);--sidebar-brand-shadow:#a8e6ff40;--sidebar-brand-shadow-hover:#a8e6ff66;--sidebar-nav-hover:linear-gradient(135deg,#a8e6ff22,#00102044);--sidebar-nav-active:linear-gradient(135deg,#a8e6ff33,#00102055);--sidebar-nav-active-text:#a8e6ff;--sidebar-nav-active-border:#a8e6ff;--sidebar-nav-color:#ffffff80;--sidebar-nav-color-hover:#ffffffe6;--sidebar-footer-hover-bg:#ffffff0f;--sidebar-footer-hover-text:#fffc;--sidebar-avatar-bg:linear-gradient(135deg,#ffffff14,#ffffff29);--sidebar-avatar-border:#ffffff1f;--sidebar-user-name-color:#ffffffe6;--sidebar-gradient-name:linear-gradient(270deg,#fff,#818cf8,#fff,#818cf8);--sidebar-badge-admin-bg:#38bdf82e;--sidebar-badge-admin-text:#38bdf8;--sidebar-badge-tech-bg:#a78bfa2e;--sidebar-badge-tech-text:#a78bfa;--sidebar-badge-master-bg:#81c7842e;--sidebar-badge-master-text:#81c784;--main-bg:linear-gradient(135deg, #001020 0%, #0d0d14 35%);--accent-border:#a8e6ff40;--accent-fade:#a8e6ff0d;--sidebar-glow:#00102080}html[data-font=small]{zoom:.92}html[data-font=large]{zoom:1.12}h1,h2,h3,h4,h5,h6,.login-title,.topbar h1,.card h2,.card h3,.calendar-month,.td-top-name,.td-top-role,.rd-top-name,.rd-top-role,.set-rl-title,.td-h2,.rd-h2,.admin-card-head,.export-section h3,.sc-section-title,.group-sep-name,.course-header{font-family:var(--font-heading), sans-serif}html,body{background:var(--bg-page);height:100%;color:var(--text-primary);overflow:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}#app{background:var(--bg-page);height:100%;display:flex;overflow:hidden}#app.login-page{background:#0f2444;justify-content:center;align-items:center;display:flex}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes brandFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.main{background:var(--main-bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.main:before{content:"";background:linear-gradient(90deg, var(--accent-border) 0%, var(--accent-fade) 40%, transparent 80%);pointer-events:none;z-index:1;height:1px;position:absolute;top:0;left:0;right:0}.main:after{content:"";background:linear-gradient(90deg, var(--sidebar-glow) 0%, transparent 100%);pointer-events:none;z-index:0;width:320px;position:absolute;top:0;bottom:0;left:0}.topbar{background:linear-gradient(135deg, var(--accent) 0%, var(--bg-surface) 50%);align-items:center;gap:16px;padding:12px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.topbar{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, var(--bg-surface)) 0%, var(--bg-surface) 50%)}}.topbar{border-bottom:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.topbar{border-bottom:1px solid color-mix(in srgb, var(--accent) 15%, var(--border-light))}}.topbar h1{flex:1;font-size:18px;font-weight:600}.menu-btn{color:#2c3e50;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:none}.menu-btn:hover{background:#f0f0f0}.content{scrollbar-width:none;flex:1;overflow-y:auto}.content::-webkit-scrollbar{display:none}.content-inner{padding:24px;position:relative}.content-inner.full{padding:0;overflow:hidden}.content-inner.view-dashboard:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(680px 440px at 15% 20%,#38bdf88c 0%,#0000 55%),radial-gradient(600px 400px at 78% 28%,#a78bfa73 0%,#0000 50%),radial-gradient(500px 360px at 45% 72%,#22d3ee66 0%,#0000 50%),radial-gradient(400px 300px at 92% 55%,#f472b64d 0%,#0000 50%);animation:12s ease-in-out infinite alternate bgDrift;position:absolute;inset:-80px -100px 0}@keyframes bgDrift{0%{transform:translate(0)rotate(0)scale(1)}33%{transform:translate(15px,-10px)rotate(1deg)scale(1.02)}66%{transform:translate(-10px,8px)rotate(-.5deg)scale(.98)}to{transform:translate(5px,-5px)rotate(.5deg)scale(1.01)}}.overlay{display:none}@media (max-width:700px){.overlay{z-index:180;background:#00000080;animation:.3s both overlayFade;display:block;position:fixed;inset:0}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}input,select,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}button.success{color:#fff;background:#27ae60}button.success:hover{background:#219a52}button.secondary{color:#52525b;cursor:pointer;background:#f4f4f5;border:1px solid #e5e5e5;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex}button.secondary:hover{color:#18181b;background:#e4e4e7;border-color:#d4d4d8}button svg{fill:currentColor;flex-shrink:0;width:16px;height:16px}.search-bar{flex-wrap:wrap;gap:12px;margin-bottom:24px;animation:.4s cubic-bezier(.16,1,.3,1) both tdS;display:flex}.search-wrap{flex:1;min-width:200px;position:relative}.search-wrap .search-icon{color:var(--text-dim);pointer-events:none;z-index:1;transition:all .25s;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-wrap:focus-within .search-icon{color:var(--accent)}.search-wrap input{border:2px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:14px;outline:none;padding:14px 18px 14px 48px;font-family:inherit;font-size:15px;transition:all .25s}.search-wrap input::placeholder{color:var(--text-dim);transition:opacity .2s}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-fade)}.search-wrap input:focus::placeholder{opacity:.35}.search-clear{background:var(--bg-elevated);cursor:pointer;width:30px;height:30px;color:var(--text-muted);border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;transition:all .2s;animation:.2s cubic-bezier(.34,1.56,.64,1) both scIn;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)scale(1)}.search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.search-count{color:var(--text-muted);margin-top:-16px;margin-bottom:16px;font-size:12px;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) both tdS}@keyframes scIn{0%{opacity:0;transform:translateY(-50%)scale(.6)}to{opacity:1;transform:translateY(-50%)scale(1)}}.multi-select{min-width:160px;position:relative}.multi-select-trigger{cursor:pointer;color:#2c3e50;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e4e7ec;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;font-size:14px;transition:all .15s;display:flex}.multi-select-trigger:hover{border-color:#cdd1d8}.multi-select.open .multi-select-trigger,.multi-select-trigger:focus{border-color:#1e5bb8;box-shadow:0 0 0 3px #1e5bb81a}.multi-select-placeholder{color:#8e99a4}.multi-select-count{color:#1e5bb8;font-weight:500}.multi-select-arrow{color:#8e99a4;flex-shrink:0;transition:transform .2s}.multi-select-arrow.open{transform:rotate(180deg)}.multi-select-dropdown{z-index:100;background:#fff;border:1px solid #e4e7ec;border-radius:12px;max-height:300px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001a}.multi-select-option{cursor:pointer;color:#2c3e50;align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:background .1s;display:flex}.multi-select-option:hover{background:#f5f7fa}.multi-select-option:first-child{border-radius:12px 12px 0 0}.multi-select-option:last-child{border-radius:0 0 12px 12px}.multi-select-check{color:#fff;border:2px solid #d0d5dd;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;transition:all .12s;display:inline-flex}.multi-select-check.checked{color:#fff;background:#1e5bb8;border-color:#1e5bb8}.actions-row{flex-wrap:wrap;gap:10px;margin:1rem 0;display:flex}.action-btn{cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.action-btn:hover{color:#4f46e5;background:#f8fafc;border-color:#c7d2fe}.action-btn svg{flex-shrink:0;width:15px;height:15px}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:7px;padding:0;display:inline-flex}.toggle-switch:hover{background:0 0}.toggle-switch input{display:none}.toggle-track{background:#d0d5dd;border-radius:10px;flex-shrink:0;width:34px;height:20px;transition:background .2s;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-track{background:var(--accent)}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(14px)}.toggle-label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.sidebar{background:var(--sidebar-bg);width:240px;min-width:240px;color:var(--sidebar-text);scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;transition:width .2s;display:flex;position:relative;overflow-y:auto}.sidebar-bg{background:var(--sidebar-bg-overlay);pointer-events:none;z-index:0;position:absolute;inset:0}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);z-index:1;align-items:center;gap:12px;padding:24px 16px 14px;display:flex;position:relative}.sidebar-brand-icon{width:48px;height:48px;filter:drop-shadow(0 2px 8px var(--sidebar-brand-shadow));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .3s,box-shadow .3s;display:flex}.sidebar-brand:hover .sidebar-brand-icon{filter:drop-shadow(0 4px 16px var(--sidebar-brand-shadow-hover));transform:scale(1.05)rotate(-2deg)}.sidebar-brand-text{letter-spacing:-.3px;background:var(--sidebar-brand-text);-webkit-text-fill-color:transparent;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;font-size:19px;font-weight:700;line-height:1.2;animation:2.5s ease-in-out infinite brandFlow}.gradient-name{background:var(--sidebar-gradient-name);-webkit-text-fill-color:transparent;background-size:400% 100%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientShift}.sidebar-user{border-bottom:1px solid var(--sidebar-border);z-index:1;align-items:center;gap:12px;padding:14px 18px;display:flex;position:relative}.sidebar-user-avatar{background:var(--sidebar-avatar-bg);border:2px solid var(--sidebar-avatar-border);letter-spacing:.5px;width:46px;height:46px;color:var(--sidebar-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.sidebar-user-avatar span{background:var(--sidebar-gradient-name);-webkit-text-fill-color:transparent;background-size:400% 100%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientShift}.sidebar-user-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.sidebar-user-info{min-width:0}.sidebar-user-name{word-break:break-word;color:var(--sidebar-user-name-color);margin-bottom:3px;font-size:14px;font-weight:600;line-height:1.3}.sidebar-user-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:20px;align-items:center;padding:2px 10px;font-size:10px;font-weight:600;display:inline-flex}.sidebar-user-badge.admin{background:var(--sidebar-badge-admin-bg);color:var(--sidebar-badge-admin-text)}.sidebar-user-badge.tech{background:var(--sidebar-badge-tech-bg);color:var(--sidebar-badge-tech-text)}.sidebar-user-badge.master{background:var(--sidebar-badge-master-bg);color:var(--sidebar-badge-master-text)}.sidebar-nav{z-index:1;flex-direction:column;flex:1;gap:1px;padding:8px 0;display:flex;position:relative}.sidebar-nav a{color:var(--sidebar-nav-color);cursor:pointer;letter-spacing:-.2px;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:12px;margin:0 8px;padding:9px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:all .12s;animation:.35s ease-out both sidebarSlideIn;display:flex;position:relative}.sidebar-nav a:hover{background:var(--sidebar-nav-hover);color:var(--sidebar-nav-color-hover)}.sidebar-nav a.active{background:var(--sidebar-nav-active);color:var(--sidebar-nav-active-text);border-left-color:var(--sidebar-nav-active-border)}.sidebar-nav a.active .nav-icon{color:var(--sidebar-nav-active-text)}.sidebar-nav .nav-icon,.sidebar-support .nav-icon,.sidebar-logout .nav-icon{opacity:.7;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex}.sidebar-support .nav-icon,.sidebar-logout .nav-icon{width:16px;height:16px}.sidebar-nav .nav-icon{width:20px;height:20px}.sidebar-nav a.active .nav-icon,.sidebar-nav a:hover .nav-icon,.sidebar-support:hover .nav-icon,.sidebar-logout:hover .nav-icon{opacity:1}.sidebar-nav a:hover .nav-icon,.sidebar-support:hover .nav-icon,.sidebar-logout:hover .nav-icon{transform:translate(3px)}.sidebar-nav .nav-icon svg{width:20px;height:20px}.sidebar-nav a.settings-item{margin-top:0}.sidebar-footer{border-top:1px solid var(--sidebar-border);z-index:1;flex-direction:column;gap:3px;padding:6px 8px;display:flex;position:relative}.sidebar-apk,.sidebar-logout,.sidebar-support{cursor:pointer;color:var(--sidebar-nav-color);letter-spacing:-.1px;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;margin:0 8px;padding:7px 16px;font-family:inherit;font-size:11.5px;font-weight:500;line-height:1;text-decoration:none;transition:all .12s;display:flex}.sidebar-apk{display:none}.sidebar-sim-banner{text-transform:uppercase;letter-spacing:.5px;color:#f59e0b;background:#f59e0b14;border-bottom:1px solid #f59e0b1f;align-items:center;gap:8px;padding:8px 18px;font-size:11px;font-weight:600;display:flex}.sidebar-sim-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite simPulse}.sidebar-sim-dot.on{box-shadow:0 0 6px #f59e0b80}.sidebar-sim-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}@keyframes simPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.sidebar-apk:hover,.sidebar-logout:hover,.sidebar-support:hover{background:var(--sidebar-footer-hover-bg);color:var(--sidebar-footer-hover-text)}.sidebar-logout.active{background:var(--sidebar-nav-active);color:var(--sidebar-nav-active-text)!important}.sidebar-logout.active svg{color:var(--sidebar-nav-active-text)}.sidebar-support{position:relative}.sidebar-badge{color:#fff;background:#f59e0b;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.sidebar-support .nav-icon svg,.sidebar-logout .nav-icon svg{fill:none!important;width:16px!important;height:16px!important}.sidebar-apk .apk-label{line-height:1}.sidebar-apk .apk-version{color:var(--sidebar-nav-color);opacity:.6;background:#80808024;border-radius:8px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:600;line-height:1.2}.sidebar-logout:hover{color:var(--sidebar-footer-hover-text);background:var(--sidebar-footer-hover-bg)}.sidebar-logout:hover svg{color:var(--sidebar-footer-hover-text)}#app.login-page,.login-page{z-index:9999;background:#f0f4f8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#8debf326 0%,#0000 60%);border-radius:50%;width:600px;height:600px;position:absolute;top:-10%;left:-5%}.login-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#baf3ed1f 0%,#0000 60%);border-radius:50%;width:500px;height:500px;position:absolute;bottom:-5%;right:-5%}.login-page-glow{pointer-events:none;background:radial-gradient(circle,#8debf38c 0%,#8debf326 40%,#0000 65%);border-radius:50%;width:400px;height:400px;transition:all 2s cubic-bezier(.4,0,.2,1);position:absolute;transform:translate(-50%,-50%)}.login-page-glow.g2{background:radial-gradient(circle,#baf3ed80 0%,#baf3ed1f 40%,#0000 65%);width:320px;height:320px}.login-page-glow.g3{background:radial-gradient(circle,#8debf366 0%,#8debf31a 40%,#0000 65%);width:260px;height:260px}.login-page-blur{-webkit-backdrop-filter:blur(20px);pointer-events:none;z-index:0;position:absolute;inset:0}@keyframes meshMove{0%,to{transform:translate(0)scale(1)}33%{transform:translate(60px,-60px)scale(1.1)}66%{transform:translate(-40px,40px)scale(.9)}}@keyframes loginIn{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loginSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes loginShake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}input[type=password]::-ms-reveal{display:none}input[type=password]::-ms-clear{display:none}input[type=password]::-webkit-credentials-auto-fill-button{display:none!important}input[type=text]::-webkit-credentials-auto-fill-button{display:none!important}@keyframes loginSpin{to{transform:rotate(360deg)}}@media (max-width:480px){.login-card{border-radius:16px;width:100%;max-width:94vw;padding:32px 20px 24px}.login-title{font-size:24px}.login-input{padding:12px 12px 12px 40px;font-size:14px}.login-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef444440;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:500;animation:.4s loginShake;display:flex}[data-theme=dark] .login-error{color:#fca5a5;background:#ef44441a;border-color:#ef444440}}.login-card{-webkit-backdrop-filter:blur(24px);z-index:1;background:#ffffffd9;border:1px solid #fff6;border-radius:20px;width:100%;max-width:380px;padding:36px 28px 28px;animation:.5s cubic-bezier(.16,1,.3,1) both loginCardIn;position:relative;box-shadow:0 8px 40px #00000014,0 2px 8px #0000000a}@keyframes loginCardIn{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}[data-theme=dark] .login-card{background:#16161fd9;border-color:#ffffff14;box-shadow:0 8px 40px #0003}.login-title{text-align:center;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#0d9488 0%,#8debf3 30%,#e0fdfd 50%,#8debf3 70%,#0d9488 100%) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;margin:16px 0 20px;font-size:22px;font-weight:700;animation:.4s .1s both loginIn,3s ease-in-out .5s infinite brandFlow}.login-desc{color:var(--text-muted);text-align:center;margin:0 0 20px;font-size:13px;animation:.4s .15s both loginIn}.login-logo{text-align:center;animation:.4s both loginIn}.login-field{margin-bottom:12px;animation:.4s .2s both loginIn}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-dim);pointer-events:none;z-index:1;transition:color .2s;position:absolute;left:14px}.login-input-wrap:focus-within .login-input-icon{color:#8debf3}.login-label{color:var(--text-dim);pointer-events:none;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.3px;text-rendering:optimizelegibility;background:0 0;padding:0 2px;font-size:12px;font-weight:700;transition:all .2s;position:absolute;left:40px}.login-label.always-float,.login-input:focus~.login-label,.login-input:not(:placeholder-shown)~.login-label,.login-label.always-float,.login-input:focus~.login-label,.login-input:not(:placeholder-shown)~.login-label{color:#8debf3;padding:0;transform:translateY(-28px)scale(.85)}.login-input:focus::placeholder,.login-input:not(:placeholder-shown)::placeholder{color:#0000}.login-input{background:var(--bg-card);width:100%;color:var(--text-primary);border:1.5px solid #d4d9e0;border-radius:12px;outline:none;padding:18px 12px 10px 40px;font-family:inherit;font-size:14px;transition:all .2s}.login-input:focus{border-color:#64748b!important;box-shadow:0 0 0 3px #64748b26!important}.login-eye{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:8px;padding:6px;transition:all .15s;display:flex;position:absolute;right:10px}.login-eye:hover{background:var(--bg-muted);color:var(--text-muted)}.login-pw-fade{opacity:.3;transition:opacity 80ms}button.login-btn{cursor:pointer;color:#0a1a1a;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);animation:.4s .25s both loginIn;display:flex;background:linear-gradient(135deg,#8debf3 0%,#5dd4d8 100%)!important}button.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #8debf359}button.login-btn:active:not(:disabled){transform:translateY(0)}button.login-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite loginSpin}.stats{flex-wrap:wrap;gap:14px;margin:24px 24px 28px;display:flex}.stat-card{background:var(--bg-card);border-radius:16px;flex-direction:column;flex:1;gap:4px;min-width:140px;padding:22px 26px 20px;transition:transform .22s,box-shadow .22s;display:flex;box-shadow:0 4px 20px #0000000d,0 1px 3px #0000000a}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000012,0 2px 6px #0000000a}.stat-card .value{color:var(--text-primary);font-family:Inter,system-ui,sans-serif;font-size:26px;font-weight:700;line-height:1.15}.value .trend-up,.trend-up{color:#16a34a}.value .trend-down,.trend-down{color:#e11d48}.stat-load{align-items:center;gap:5px;height:28px;display:inline-flex}.stat-load span{background:#cbd5e1;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite statBounce}.stat-load span:nth-child(2){animation-delay:.2s}.stat-load span:nth-child(3){animation-delay:.4s}@keyframes statBounce{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:.8;transform:scale(1)}}.stat-card{animation:.5s cubic-bezier(.16,1,.3,1) both tdS}.stat-card:first-child{animation-delay:40ms}.stat-card:nth-child(2){animation-delay:80ms}.stat-card:nth-child(3){animation-delay:.12s}.stat-card:nth-child(4){animation-delay:.16s}.stat-card:nth-child(5){animation-delay:.2s}.stat-card:nth-child(6){animation-delay:.24s}.stat-card:nth-child(7){animation-delay:.28s}@keyframes staggerIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stat-card .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:11px;font-weight:600}.stat-sub{color:var(--text-dim);margin-top:1px;font-size:12px;font-weight:500}.stat-sub-row{grid-template-columns:1fr 1fr;gap:6px;width:100%;margin-top:10px;display:grid}.stat-sub-chip{background:var(--bg-muted,#f4f4f5);border:1px solid var(--border,#eef0f4);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.stat-sub-chip span{color:var(--text-muted,#a1a1aa);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;font-weight:600;line-height:1.1;overflow:hidden}.stat-sub-chip b{color:var(--text-primary,#18181b);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1}.stat-card.present .value{color:var(--success)}.stat-card.absent .value{color:var(--error)}.stat-card.academic .value{color:var(--warning)}.stat-add-btn{color:#1e5bb8;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;margin-top:10px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.stat-add-btn:hover{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe;transform:translateY(-1px)}.table-wrap{scrollbar-width:none;background:#fff;border:1px solid #eef0f4;border-radius:14px;overflow:auto;box-shadow:0 2px 12px #0000000d}.table-wrap::-webkit-scrollbar{display:none}.table-wrap table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}.table-wrap thead{z-index:5;position:sticky;top:0}.table-wrap thead th{text-align:center;text-transform:uppercase;color:#64748b;white-space:nowrap;letter-spacing:.4px;background:linear-gradient(#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;padding:10px 8px;font-size:10px;font-weight:700;position:relative}.table-wrap thead th:first-child{text-align:center;border-radius:14px 0 0}.table-wrap thead th:last-child{border-radius:0 14px 0 0}.table-wrap thead th svg{display:none}.table-wrap td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 8px;font-size:13px;transition:background .12s}.table-wrap tbody tr{cursor:pointer;transition:all .15s;animation:.45s cubic-bezier(.16,1,.3,1) both tdS}.table-wrap tbody tr:first-child{animation-delay:30ms}.table-wrap tbody tr:nth-child(2){animation-delay:50ms}.table-wrap tbody tr:nth-child(3){animation-delay:70ms}.table-wrap tbody tr:nth-child(4){animation-delay:90ms}.table-wrap tbody tr:nth-child(5){animation-delay:.11s}.table-wrap tbody tr:nth-child(6){animation-delay:.13s}.table-wrap tbody tr:nth-child(7){animation-delay:.15s}.table-wrap tbody tr:nth-child(8){animation-delay:.17s}.table-wrap tbody tr:nth-child(9){animation-delay:.19s}.table-wrap tbody tr:nth-child(10){animation-delay:.21s}.table-wrap tbody tr:nth-child(n+11){animation-delay:.23s}.table-wrap tbody tr:nth-child(2n) td{background:#fafbfd}.table-wrap tbody tr:hover td{background:#eef2ff!important}.table-wrap tbody tr:last-child td{border-bottom:none}.table-wrap tbody tr:not(.group-sep){border-left:3px solid #0000}.table-wrap tbody tr:not(.group-sep):hover{border-left-color:#6366f1}.table-wrap .edit-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;transition:all .15s;display:inline-flex}.table-wrap .edit-btn:hover{color:#6366f1;background:#eef2ff}.table-wrap .edit-btn svg{width:15px;height:15px}.table-wrap th.col-num{width:36px}.table-wrap th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-wrap th.sortable:hover{color:#1e5bb8;background:linear-gradient(#eef2ff,#e0e7ff)}.sort-arrow{vertical-align:middle;margin-left:2px;font-size:8px}[data-theme=dark] .table-wrap th.sortable:hover{color:var(--accent);background:var(--bg-muted)}.table-wrap th.target-filter.active{color:#4f46e5;background:linear-gradient(#eef2ff,#e0e7ff)}.table-wrap th.target-filter.active:hover{color:#4f46e5}[data-theme=dark] .table-wrap th.target-filter.active{color:var(--accent);background:var(--bg-muted)}.target-filter-menu{z-index:1200;background:#fff;border:1px solid #e5e5e5;border-radius:12px;min-width:180px;animation:.12s ease-out csOpen;position:fixed;overflow:hidden;box-shadow:0 8px 30px #0000001f}.target-filter-menu .tf-title{letter-spacing:.5px;text-transform:uppercase;color:#94a3b8;padding:8px 16px 4px;font-size:10px;font-weight:700}.target-filter-menu .tf-opt{color:#52525b;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;font-size:13px;font-weight:500;transition:background 80ms;display:flex}.target-filter-menu .tf-opt:hover{background:#f5f5f5}.target-filter-menu .tf-opt.sel{color:#4f46e5;background:#eef2ff;font-weight:600}.target-filter-menu .tf-count{color:#94a3b8;background:#f1f5f9;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:600}.target-filter-menu .tf-opt.sel .tf-count{color:#4f46e5;background:#e0e7ff}.target-filter-menu .tf-empty{color:#94a3b8;text-align:center;padding:12px 16px;font-size:13px}.target-filter-menu .tf-search{border:1.5px solid var(--border);background:var(--bg-elevated);width:calc(100% - 24px);color:var(--text-primary);border-radius:8px;outline:none;margin:6px 12px 2px;padding:7px 10px;font-family:inherit;font-size:13px}.target-filter-menu .tf-search:focus{border-color:var(--accent)}.target-filter-menu .tf-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.target-filter-menu .col-enterprise.enterprise-filter{cursor:pointer;-webkit-user-select:none;user-select:none}[data-theme=dark] .target-filter-menu{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .target-filter-menu .tf-title{color:var(--text-muted)}[data-theme=dark] .target-filter-menu .tf-opt{color:var(--text-secondary)}[data-theme=dark] .target-filter-menu .tf-opt:hover{background:var(--bg-hover)}[data-theme=dark] .target-filter-menu .tf-opt.sel{background:var(--bg-elevated);color:var(--accent)}[data-theme=dark] .target-filter-menu .tf-count{color:var(--text-muted);background:var(--bg-muted)}[data-theme=dark] .target-filter-menu .tf-opt.sel .tf-count{color:var(--accent);background:var(--bg-muted)}.stat-card.year-card{gap:2px;min-width:128px;padding:14px 16px 12px}.stat-card.year-card .value{font-size:20px}.stat-card.year-card .label{font-size:10px}.stat-card.year-card .year-card-value{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;display:flex}.stat-card.year-card .year-card-value .year-card-chev{color:var(--text-dim,#a1a1aa);transition:transform .15s}.stat-card.year-card .year-card-value .year-card-chev.open{transform:rotate(180deg)}.stat-card.year-card.active{background:linear-gradient(#eef2ff,#fff);border:1.5px solid #c7d2fe}.stat-card.year-card.active .value,.stat-card.year-card.active .label{color:#4f46e5}.stat-card.year-card .year-card-controls{flex-wrap:wrap;align-items:center;gap:5px;min-height:18px;margin-top:3px;display:flex}.stat-card.year-card .year-sort-btn{border:1px solid var(--border,#e2e8f0);background:var(--bg-card,#fff);width:24px;height:18px;color:var(--text-dim,#94a3b8);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;font-family:inherit;font-size:10px;transition:all .15s;display:inline-flex}.stat-card.year-card .year-sort-btn:hover{background:var(--bg-muted,#f1f5f9);color:#1e5bb8}.stat-card.year-card .year-sort-btn.active{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.stat-card.year-card .year-target-badge{color:#4f46e5;text-transform:uppercase;letter-spacing:.3px;background:#eef2ff;border-radius:20px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.stat-card.year-card .year-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:inline-flex}.stat-card.year-card .year-clear-btn:hover{color:#dc2626;background:#fee2e2}[data-theme=dark] .stat-card.year-card.active{border-color:var(--accent);background:var(--bg-elevated)}[data-theme=dark] .stat-card.year-card.active .value,[data-theme=dark] .stat-card.year-card.active .label{color:var(--accent)}[data-theme=dark] .stat-card.year-card .year-sort-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .stat-card.year-card .year-sort-btn:hover{background:var(--bg-muted);color:var(--accent)}[data-theme=dark] .stat-card.year-card .year-sort-btn.active{background:var(--bg-elevated);border-color:var(--accent);color:var(--accent)}[data-theme=dark] .stat-card.year-card .year-target-badge{background:var(--bg-elevated);color:var(--accent)}[data-theme=dark] .stat-card.year-card .year-clear-btn:hover{color:#f87171;background:#dc262626}.target-filter-menu .tf-opt.tf-toggle{border-bottom:1px solid var(--border,#eef0f4);justify-content:flex-start;gap:10px}.target-filter-menu .tf-opt.tf-toggle .tf-check{color:#fff;border:1.5px solid #cbd5e1;border-radius:5px;justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;font-size:10px;transition:all .15s;display:inline-flex}.target-filter-menu .tf-opt.tf-toggle.on .tf-check{background:#6366f1;border-color:#6366f1}[data-theme=dark] .target-filter-menu .tf-opt.tf-toggle.on .tf-check{background:var(--accent);border-color:var(--accent)}.table-wrap th.col-name{text-align:left;width:150px;padding-left:12px}.table-wrap td.col-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.table-wrap th.col-status{width:70px}.table-wrap th.col-group{width:105px}.table-wrap th.col-enterprise{text-align:left;width:140px;padding-left:12px}.table-wrap th.col-action{width:42px}.row-num{color:#94a3b8;background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:inline-flex}.group-tag{color:#6366f1;letter-spacing:.2px;background:#eef2ff;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.icn{border-radius:50%;justify-content:center;align-items:center;width:8px;height:8px;display:inline-flex}.mg-status{text-align:center;cursor:pointer;padding:8px 6px}.mg-badge{border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.mg-badge.on{color:#16a34a;background:#16a34a14}.mg-badge.off{color:#dc2626;background:#dc262614}.icn.yes{background:#22c55e;box-shadow:0 0 0 2px #dcfce7}.icn.no{background:#e2e8f0}.icn.expelled{background:#ef4444;width:8px;height:8px;box-shadow:0 0 0 2px #fee2e2}.icn.target{background:#6366f1;box-shadow:0 0 0 2px #e0e7ff}.icn.paid{background:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.icn.employed{background:#f59e0b;box-shadow:0 0 0 2px #fef3c7}.icn.practice{background:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.icn.academic{background:#f97316;box-shadow:0 0 0 2px #ffedd5}.icn-text{align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.icn-text.yes{color:#16a34a}.icn-text.no{color:#cbd5e1}.icn-text.expelled{color:#dc2626}.icn-text.target{color:#6366f1}.icn-text.paid{color:#0d9488}.icn-text.employed{color:#d97706}.icn-text.academic{color:#ea580c}.tag{letter-spacing:.2px;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.tag.target{color:#1e5bb8;background:#eef3ff}.tag.target:before{content:"";background:#1e5bb8;border-radius:50%;width:6px;height:6px}.tag.not-target{color:#adb5bd;background:#f5f5f5}.tag.employed{color:#2e7d32;background:#e8f5e9}.tag.employed:before{content:"";background:#2e7d32;border-radius:50%;width:6px;height:6px}.tag.not-employed{color:#adb5bd;background:#f5f5f5}.tag.expelled{color:#dc2626;background:#fef2f2}.tag.expelled:before{content:"";background:#dc2626;border-radius:50%;width:6px;height:6px}.ent-cell{text-overflow:ellipsis;white-space:nowrap;color:#64748b;max-width:160px;font-size:12px;overflow:hidden}.ent-none{color:#e2e8f0}tr.expelled-row td{opacity:.7;background:#fef2f2!important}tr.expelled-row:hover td{opacity:1;background:#fee2e2!important}.card{background:#fff;border:none;border-radius:20px;margin-bottom:20px;padding:24px;box-shadow:0 1px 2px #00000008,0 8px 32px #0000000a}.card h2{color:#0f172a;letter-spacing:-.2px;border-bottom:none;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:0;font-size:18px;font-weight:700;display:flex}.card h2 svg{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;flex-shrink:0;width:40px;height:40px;padding:9px}.card h3{color:#0f172a;letter-spacing:-.1px;margin-bottom:16px;font-size:15px;font-weight:700}.field{border-bottom:1px solid #f5f5f5;flex-direction:column;gap:4px;margin-bottom:0;padding:12px 0;display:flex}.field:last-child{border-bottom:none}.field label{color:#a1a1aa;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:600}.field input[type=text],.field input[type=number],.field input[type=date]{color:#18181b;background:#fafafa;border:1px solid #e4e4e7;border-radius:12px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:all .2s}.field input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 4px #6366f114}.field .value{color:#27272a;padding:2px 0;font-size:14px;font-weight:500}.checkbox-wrap{align-items:center;gap:12px;padding:4px 0;display:flex}.checkbox-wrap input[type=checkbox]{display:none}.checkbox-track{cursor:pointer;background:#e4e4e7;border-radius:13px;flex-shrink:0;width:44px;height:26px;transition:background .25s;position:relative}.checkbox-track.checked{background:#6366f1}.checkbox-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000001f}.checkbox-track.checked .checkbox-thumb{transform:translate(18px)}.checkbox-label{color:#3f3f46;font-size:14px;font-weight:500}.actions{gap:10px;margin-top:20px;display:flex}.att-btn{cursor:pointer;letter-spacing:-.1px;border:none;border-radius:14px;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.att-btn.present{color:#16a34a;background:#f0fdf4}.att-btn.present:hover{background:#dcfce7}.att-btn.absent{color:#dc2626;background:#fef2f2}.att-btn.absent:hover{background:#fee2e2}.att-btn:active{transform:scale(.97)}.att-indicator{border-radius:8px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;transition:all .12s;display:inline-flex}.att-indicator.present{color:#16a34a;background:#f0fdf4}.att-indicator.present:hover{background:#dcfce7}.att-indicator.absent{color:#dc2626;background:#fef2f2}.att-indicator.absent:hover{background:#fee2e2}.course-section{margin-bottom:28px}.course-section:last-child{margin-bottom:0}.course-header{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--bg-surface);border:1.5px solid var(--accent);border-radius:20px;align-items:center;gap:7px;margin-bottom:16px;padding:5px 16px 5px 14px;font-size:11px;font-weight:700;display:inline-flex}.course-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.group-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.group-card{background:var(--bg-card);text-align:center;cursor:pointer;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:20px 16px 16px;transition:all .22s,opacity .35s,transform .35s;animation:.4s cubic-bezier(.16,1,.3,1) both cardIn;display:flex;box-shadow:0 1px 3px #0000000f}.group-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.group-card.card-fade{opacity:0;pointer-events:none;transform:scale(.92)}.group-avatar{background:linear-gradient(135deg, var(--accent) 0%, var(--accent) 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:4px;display:flex;box-shadow:0 2px 8px #0000001f}@supports (color:color-mix(in lab, red, red)){.group-avatar{background:linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 70%, #000) 100%)}}.group-avatar span{color:#fff;font-size:17px;font-weight:700;line-height:1}.group-card .name{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.2}.group-card .count{color:var(--text-muted);font-size:12px;font-weight:500}.group-gradebook{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .18s;display:inline-flex}.group-card:hover .group-gradebook{opacity:1}.group-gradebook:hover{color:var(--accent);background:var(--accent-fade)}.group-card.hidden-group{opacity:.45}.group-card.hidden-group:hover{opacity:.7}.group-card{position:relative}.group-edit{width:26px;height:26px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;transition:all .15s;display:inline-flex;position:absolute;top:8px;right:8px}.group-card:hover .group-edit{opacity:1}.group-edit:hover{background:var(--accent-fade);color:var(--accent)}@media (hover:none){.group-edit{opacity:1}}.gr-rename-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:360px;max-width:92vw;padding:24px;box-shadow:0 20px 60px #0003}.gr-rename-modal h3{color:var(--text-primary);margin:0 0 6px;font-size:18px}.gr-rename-desc{color:var(--text-muted);margin:0 0 16px;font-size:12.5px;line-height:1.45}.gr-rename-modal input{box-sizing:border-box;border:1.5px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px}.gr-rename-modal input:focus{border-color:var(--accent)}.gr-rename-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.gr-rename-actions .add-btn{flex:none;padding:10px 18px}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ctx-menu{z-index:9999;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;min-width:190px;padding:6px;animation:.12s both ctxIn;position:fixed;overflow:hidden;box-shadow:0 8px 30px #00000026}.ctx-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .1s;display:flex}.ctx-item:hover{background:var(--bg-elevated)}.ctx-item svg{color:var(--text-muted);flex-shrink:0}@keyframes ctxIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.history-tab{padding:8px 0}.history-actions{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 2px;display:flex}.history-clear-btn{color:#dc2626;cursor:pointer;background:#ef44440f;border:1px solid #ef444433;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.history-clear-btn:hover{background:#ef44441f;border-color:#ef444459;transform:translateY(-1px);box-shadow:0 2px 12px #ef444426}.history-clear-btn:active{box-shadow:none;transform:scale(.97)}.history-clear-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.history-count{color:#94a3b8;font-size:11px;font-weight:500}.history-list{flex-direction:column;gap:6px;display:flex}.history-item{background:#fafafa;border:1px solid #0000;border-radius:12px;padding:12px 14px;font-size:13px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.35s cubic-bezier(.16,1,.3,1) both historySlideIn;position:relative;overflow:hidden}.history-item:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#ef444414,#0000);transition:opacity .3s;position:absolute;inset:0}.history-item:hover{background:#f4f4f5;border-color:#0000000a}.history-item:hover .history-delete-btn{opacity:1;transform:scale(1)}.history-item.removing{animation:.4s cubic-bezier(.4,0,.2,1) forwards historyRemove}.history-item-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.history-item-meta{align-items:center;gap:10px;display:flex}.history-date{color:#27272a;font-size:12px;font-weight:500}.history-user{color:#6366f1;font-size:12px;font-weight:600}.history-delete-btn{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;transform:scale(.7)}.history-delete-btn:hover{color:#dc2626;background:#ef44441a;transform:scale(1.1)!important}.history-delete-btn:active{transform:scale(.9)!important}.history-item-change{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.history-field{color:#6366f1;text-transform:uppercase;letter-spacing:.3px;background:#6366f114;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.history-old{color:#dc2626}.history-new{color:#16a34a;font-weight:600}@keyframes historySlideIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes historyRemove{0%{opacity:1;max-height:120px;margin-bottom:6px;padding:12px 14px;transform:translate(0)scale(1)}40%{opacity:0;border-color:#ef44444d;transform:translate(40px)scale(.95)}to{opacity:0;border-color:#0000;max-height:0;margin-bottom:0;padding:0 14px;transform:translate(60px)scale(.9)}}.export-section{background:#fff;border:1px solid #eef0f4;border-radius:14px;flex-direction:column;gap:14px;margin-bottom:24px;padding:20px;transition:box-shadow .15s;display:flex;box-shadow:0 1px 4px #00000008}.export-section:hover{box-shadow:0 2px 12px #0000000f}.export-section:last-child{margin-bottom:0}.export-section h3{color:#0f2444;margin-bottom:0;font-size:15px;font-weight:600}.export-icon{color:#1e5bb8;background:#eef3ff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:0;display:inline-flex}.export-icon svg{width:18px;height:18px}.export-desc{color:#7f8c8d;margin-bottom:0;font-size:13px}.export-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.export-row label{color:#2c3e50;font-size:13px;font-weight:500}.export-row select,.export-row input[type=date],.export-search{background:#fff;border:2px solid #e4e7ec;border-radius:10px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.export-row select:focus,.export-row input:focus{border-color:#1e5bb8;box-shadow:0 0 0 3px #1e5bb81a}.export-row select{min-width:140px}.export-student-select{background:#fff;border:2px solid #e4e7ec;border-radius:10px;outline:none;flex:1;min-width:200px;padding:8px 12px;font-size:14px}.export-actions{flex-wrap:wrap;gap:10px;display:flex}.export-row button:disabled{opacity:.5;cursor:not-allowed}.sel-fields-head{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.sel-fields-head .link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:12.5px;font-weight:600}.sel-fields-head .link-btn:hover{text-decoration:underline}.sel-fields-head .sel-count{color:var(--text-muted);margin-left:auto;font-size:12px}.sel-fields{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.sel-field{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:all .15s;display:flex}.sel-field:hover{border-color:var(--accent)}.sel-field.on{border-color:var(--accent);background:var(--accent-fade);color:var(--accent);font-weight:600}.sel-field input{accent-color:var(--accent);cursor:pointer;width:16px;height:16px}.sel-mode-toggle{border:1.5px solid var(--border);border-radius:10px;margin-bottom:4px;display:inline-flex;overflow:hidden}.sel-mode-toggle button{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border:none;padding:9px 22px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.sel-student-list{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;gap:4px;max-height:220px;padding:8px;display:flex;overflow-y:auto}.sel-student{color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;transition:background .1s;display:flex}.sel-student:hover{background:var(--accent-fade)}.sel-student.on{background:var(--accent-fade);color:var(--accent);font-weight:600}.sel-student input{accent-color:var(--accent);cursor:pointer;width:16px;height:16px}.sel-preview{border:1.5px solid var(--border);background:var(--bg-card);border-radius:10px;overflow:hidden}.sel-preview-head{background:var(--bg-elevated);border-bottom:1.5px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.sel-preview-meta{color:var(--text-muted);font-size:12px;font-weight:500}.sel-preview-scroll{max-height:320px;overflow:auto}.sel-preview-table{border-collapse:collapse;width:100%;font-size:12px}.sel-preview-table th{z-index:1;background:var(--bg-elevated);text-align:left;color:var(--text-primary);border-bottom:1.5px solid var(--border);white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.sel-preview-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:7px 10px;overflow:hidden}.sel-preview-table tr:hover td{background:var(--accent-fade)}.sel-preview-empty{text-align:center;color:var(--text-muted);padding:24px;font-style:italic}.sel-preview-more{color:var(--text-muted);background:var(--bg-elevated);border-top:1.5px solid var(--border);padding:8px 14px;font-size:12px}.sel-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.sel-modal{flex-direction:column;width:100%;max-width:1280px;max-height:calc(100vh - 48px);animation:.2s ease-out selSlideUp;display:flex}.sel-modal .admin-card{flex-direction:column;max-height:calc(100vh - 48px);display:flex}.sel-modal .admin-card-body{flex:1;padding:0;overflow-y:auto}.sel-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-left:8px;font-size:22px;line-height:1;transition:background .15s;display:flex}.sel-modal-close:hover{background:#ffffff59}@keyframes selSlideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.sel-modal-grid{grid-template-columns:420px 1fr;gap:0;min-height:0;display:grid}.sel-modal-left{border-right:1.5px solid var(--border);flex-direction:column;gap:4px;padding:20px 24px;display:flex;overflow-y:auto}.sel-modal-right{flex-direction:column;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.sel-modal-right .sel-preview{flex-direction:column;flex:1;min-height:0;display:flex}.sel-modal-right .sel-preview-scroll{flex:1;max-height:none}.sel-modal .admin-export-btns{padding-top:16px;margin-top:auto!important}.sel-card{border-color:var(--accent)}.sel-card .admin-card-head{background:linear-gradient(135deg, var(--accent) 0%, #6366f1 100%);color:#fff}.sel-card-badge{letter-spacing:.5px;background:#ffffff40;border-radius:20px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:700}.sel-section{border-top:1.5px solid var(--border);margin-top:18px;padding-top:16px}.sel-section:first-of-type{border-top:none;margin-top:14px;padding-top:0}.sel-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;font-size:12px;font-weight:700}.sel-mode-toggle{border:1.5px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.sel-mode-toggle button{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border:none;align-items:center;gap:7px;padding:9px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.sel-mode-toggle button.on{background:var(--accent);color:#fff}.sel-student-toolbar{align-items:center;gap:10px;margin-top:10px;display:flex}.sel-student-search{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px}.sel-student-search:focus{border-color:var(--accent)}.sel-student-actions{gap:4px;display:flex}.sel-student-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:13px}.sel-student-name{flex:1}.sel-col-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.sel-col-search{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px}.sel-col-search:focus{border-color:var(--accent)}.sel-col-actions{gap:4px;display:flex}.sel-field-groups{flex-direction:column;gap:8px;display:flex}.sel-field-group{border:1.5px solid var(--border);border-radius:10px;overflow:hidden}.sel-field-group-head{background:var(--bg-elevated);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.sel-group-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.sel-group-check{border:1.5px solid var(--border);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.sel-group-toggle.on .sel-group-check{background:var(--accent);border-color:var(--accent)}.sel-group-toggle.on .sel-group-check:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.sel-group-toggle.partial .sel-group-check{background:var(--accent);border-color:var(--accent);opacity:.4}.sel-group-count{color:var(--text-muted);font-size:11px;font-weight:600}.sel-field-group-body{background:var(--bg-card);flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.sel-row-num{font-variant-numeric:tabular-nums;text-align:center;background:var(--bg-elevated);min-width:36px;color:var(--text-muted)!important}.batch-actions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.batch-actions .action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.batch-present{color:#2e7d32;background:#e8f5e9}.batch-present:hover{background:#c8e6c9}.batch-absent{color:#d84315;background:#fbe9e7}.batch-absent:hover{background:#ffccbc}.data-management{background:#fffdf5!important;border:2px solid #fff3cd!important}.export-errors{color:#e74c3c;background:#fef2f2;border:1px solid #fde8e8;border-radius:10px;max-height:200px;padding:12px 16px;font-size:13px;overflow-y:auto}.export-errors div{padding:2px 0}.empty-state{text-align:center;color:#c8ced6;padding:60px 20px;animation:.5s cubic-bezier(.16,1,.3,1) both tdS}.empty-state svg{fill:currentColor;opacity:.5;width:56px;height:56px;margin-bottom:16px}.empty-state p{font-size:15px;font-weight:500}.date-picker{align-items:center;gap:10px;margin-bottom:18px;display:flex}.date-picker label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.8px;font-size:12px;font-weight:600}.date-picker input[type=date]{cursor:pointer;color:#18181b;background:#fafafa;border:1px solid #e4e4e7;border-radius:12px;outline:none;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s}.date-picker input[type=date]:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 4px #6366f114}.date-pill{color:#7f8c8d;white-space:nowrap;background:#ecf0f1;border-radius:20px;padding:6px 14px;font-size:13px}.sc{flex-direction:column;gap:2px;display:flex}.sc-header{background:linear-gradient(135deg,#18181b 0%,#27272a 100%);border-radius:20px 20px 0 0;align-items:center;gap:16px;padding:24px;display:flex}.sc-avatar{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#6366f1,#a78bfa);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:18px;font-weight:700;display:flex}.sc-info{flex:1;min-width:0}.sc-name{color:#fff;letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:700;line-height:1.2;overflow:hidden}.sc-group{color:#a1a1aa;margin-top:3px;font-size:13px;font-weight:500}.sc-status{flex-shrink:0;gap:6px;display:flex}.sc-tag{letter-spacing:.1px;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:600}.sc-tag.expelled{color:#fca5a5;background:#ef444426}.sc-tag.academic{color:#fcd34d;background:#f59e0b26}.sc-section{background:#fff;padding:0 24px}.sc-section:last-child{border-radius:0 0 20px 20px;padding-bottom:24px}.sc-section-title{color:#a1a1aa;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;padding:20px 0 12px;font-size:12px;font-weight:700;display:flex}.sc-count{color:#71717a;background:#f4f4f5;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.sc-attendance{background:#fafafa;border-radius:14px;padding:16px}.sc-att-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sc-att-label{color:#27272a;font-size:14px;font-weight:600}.sc-att-btn{cursor:pointer;letter-spacing:-.1px;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex}.sc-att-btn.on{color:#16a34a;background:#f0fdf4}.sc-att-btn.on:hover{background:#dcfce7}.sc-att-btn.off{color:#dc2626;background:#fef2f2}.sc-att-btn.off:hover{background:#fee2e2}.sc-att-btn:active{transform:scale(.98)}.sc-att-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.sc-att-indicator.on{background:#16a34a;box-shadow:0 0 8px #16a34a66}.sc-att-indicator.off{background:#dc2626;box-shadow:0 0 8px #dc262666}.sc-fields{background:#f5f5f5;border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.sc-field{background:#fff;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.sc-field-label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:600}.sc-field-value{color:#27272a;font-size:14px;font-weight:500}.sc-field-value.accent{color:#6366f1}.sc-exports{gap:8px;display:flex}.sc-export-btn{color:#52525b;cursor:pointer;background:#fff;border:1px solid #e4e4e7;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.sc-export-btn:hover{color:#18181b;background:#f4f4f5;border-color:#d4d4d8}.sc-export-btn:active{transform:scale(.97)}.sc-empty{text-align:center;color:#d4d4d8;padding:32px 16px;font-size:14px;font-weight:500}.sc-history{flex-direction:column;gap:2px;display:flex}.sc-hist-item{border-radius:10px;align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:flex}.sc-hist-item:hover{background:#fafafa}.sc-hist-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sc-hist-dot.ok{background:#22c55e}.sc-hist-dot.no{background:#ef4444}.sc-hist-date{color:#71717a;flex-shrink:0;font-size:13px;font-weight:500}.sc-hist-label{margin-left:auto;font-size:13px;font-weight:600}.sc-hist-item.ok .sc-hist-label{color:#16a34a}.sc-hist-item.no .sc-hist-label{color:#dc2626}.sc-hist-more{text-align:center;color:#a1a1aa;padding:12px;font-size:13px;font-weight:500}.m-student{background:var(--bg-card,#fff);cursor:pointer;border:1px solid var(--border,#eef0f4);border-left:3px solid var(--accent,#6366f1);border-radius:16px;margin-bottom:10px;padding:14px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);animation:.45s cubic-bezier(.16,1,.3,1) both tdS;display:none;box-shadow:0 1px 3px #0000000a,0 4px 16px #00000008}.m-student:first-child{animation-delay:30ms}.m-student:nth-child(2){animation-delay:50ms}.m-student:nth-child(3){animation-delay:70ms}.m-student:nth-child(4){animation-delay:90ms}.m-student:nth-child(5){animation-delay:.11s}.m-student:nth-child(6){animation-delay:.13s}.m-student:nth-child(7){animation-delay:.15s}.m-student:nth-child(8){animation-delay:.17s}.m-student:nth-child(9){animation-delay:.19s}.m-student:nth-child(10){animation-delay:.21s}.m-student:nth-child(n+11){animation-delay:.23s}.m-student:active{background:var(--bg-hover,#f8f9fa);transform:scale(.97)}.m-student:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000012}.m-student.expelled{background:var(--error-bg,#fef9f9);border-left-color:#e74c3c}.m-student .m-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.m-student .m-num{background:var(--bg-muted,#f0f2f5);width:24px;height:24px;color:var(--text-muted,#8e99a4);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.m-student .m-name{color:var(--text-primary,#2c3e50);flex:1;font-size:14px;font-weight:600;line-height:1.25}.m-student .m-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.m-student .m-group{color:var(--accent,#6366f1);background:var(--accent,#6366f1);border-radius:20px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.m-student .m-group{background:color-mix(in srgb, var(--accent,#6366f1) 10%, transparent)}}.m-student .m-badges{flex-wrap:wrap;gap:4px;display:flex}.m-student .m-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:8px;padding:2px 8px;font-size:9px;font-weight:700}.m-student .m-badge.target{color:#4f46e5;background:#e0e7ff}.m-student .m-badge.employed{color:#d97706;background:#fef3c7}.m-student .m-badge.practice{color:#0d9488;background:#ccfbf1}.m-student .m-badge.expelled{color:#dc2626;background:#fef2f2}.m-student .m-badge.paid{color:#0d9488;background:#ccfbf1}.m-student .m-badge.academic{color:#ea580c;background:#ffedd5}.m-student .m-details{color:var(--text-muted,#8e99a4);border-top:1px solid var(--border,#f0f2f5);flex-wrap:wrap;gap:4px 16px;margin-top:8px;padding-top:8px;font-size:12px;display:flex}.m-student .m-details span{align-items:center;gap:4px;display:flex}.m-student .m-details .m-label{color:var(--text-dim,#bdc3c7);font-weight:500}.m-student .m-details .m-val{color:var(--text-secondary,#2c3e50);font-weight:600}.m-student .m-chevron{color:var(--text-dim,#d0d5dd);flex-shrink:0;transition:transform .15s}.m-student:active .m-chevron{transform:translate(2px)}.m-sep{text-transform:uppercase;letter-spacing:.6px;color:var(--accent,#6366f1);align-items:center;gap:10px;padding:14px 4px 8px;font-size:11px;font-weight:700;display:flex}.m-sep:before,.m-sep:after{content:"";background:linear-gradient(to right, transparent, var(--accent,#6366f1), transparent);flex:1;height:1px}@supports (color:color-mix(in lab, red, red)){.m-sep:before,.m-sep:after{background:linear-gradient(to right, transparent, color-mix(in srgb, var(--accent,#6366f1) 30%, transparent), transparent)}}.group-sep td{background:0 0!important;border:none!important;padding:0!important}.group-sep:hover td{background:0 0!important}.group-sep-header{align-items:center;gap:12px;padding:12px 0 4px;display:flex}.group-sep-header:before,.group-sep-header:after{content:"";background:linear-gradient(90deg,#0000,#c7d2fe,#0000);flex:1;height:1px}.group-sep-header:after{background:linear-gradient(270deg,#0000,#c7d2fe,#0000)}.group-sep-name{text-transform:uppercase;letter-spacing:1px;color:#6366f1;white-space:nowrap;background:#eef2ff;border-radius:20px;padding:3px 14px;font-size:11px;font-weight:700}.bottom-nav{z-index:170;background:var(--bg-card);border-top:1px solid var(--border);padding:4px 0 env(safe-area-inset-bottom,0);justify-content:space-around;align-items:stretch;animation:.3s ease-out bnSlide;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000f}@keyframes bnSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bn-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 8px;font-family:inherit;font-size:9px;font-weight:600;transition:all .15s;display:flex}.bn-btn span{white-space:nowrap;line-height:1.2}.bn-btn.active{color:var(--accent)}.bn-btn:active{transform:scale(.92)}.bn-btn svg{width:20px;height:20px;transition:transform .15s}.bn-btn.active svg{transform:scale(1.1)}.bn-more svg{width:20px;height:20px}.bottom-nav.hidden{display:none!important}.attendance-layout{align-items:flex-start;gap:24px;display:flex}.attendance-calendar{background:#fff;border:1px solid #eef0f4;border-radius:16px;flex-shrink:0;width:280px;padding:20px;position:sticky;top:20px;box-shadow:0 4px 20px #0000000f}.attendance-table{flex:1;min-width:0}.attendance-table .stats{margin-bottom:16px}.attendance-table .stat-card{min-width:100px;padding:14px 18px}.attendance-table .stat-card .value{font-size:22px}.calendar-controls.compact button{padding:4px 8px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:10px;display:grid}.cal-header{text-align:center;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;padding:6px 0 4px;font-size:10px;font-weight:700}.cal-day{aspect-ratio:1;cursor:pointer;color:#334155;border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.cal-day.empty{cursor:default;background:0 0}.cal-day.all-present{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);font-weight:600;box-shadow:0 2px 6px #22c55e40}.cal-day.partial{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);font-weight:600;box-shadow:0 2px 6px #f59e0b40}.cal-day.all-absent{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);font-weight:600;box-shadow:0 2px 6px #ef444440}.cal-day.no-data{color:#94a3b8;background:#f1f5f9}.cal-day.today{font-weight:700;position:relative}.cal-day.today:after{content:"";opacity:.5;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.cal-day.today.all-present,.cal-day.today.partial,.cal-day.today.all-absent{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #0000001a}.cal-day.today.no-data{box-shadow:inset 0 0 0 2px #3b82f6}.cal-day.selected{z-index:1;transform:scale(1.08);box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #3b82f6}.cal-day:hover:not(.empty){z-index:1;transform:scale(1.1)}.cal-day:hover:not(.empty).no-data{background:#e2e8f0}.cal-day.all-present:hover,.cal-day.partial:hover,.cal-day.all-absent:hover{filter:brightness(1.08)}.cal-legend{border-top:1px solid #eef2f6;flex-wrap:wrap;gap:12px;padding-top:12px;display:flex}.cal-legend .legend-item{color:#64748b;align-items:center;gap:5px;font-size:11px;display:flex}.cal-legend .legend-color{border-radius:3px;width:10px;height:10px}.cal-legend .legend-color.all-present{background:#22c55e}.cal-legend .legend-color.partial{background:#f59e0b}.cal-legend .legend-color.all-absent{background:#ef4444}.cal-legend .legend-color.no-data{background:#e2e8f0}.toast{color:#fff;z-index:1000;background:#2c3e50;border-radius:8px;padding:12px 24px;font-size:14px;animation:.2s ease-out toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.calendar-controls{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month{color:#1e293b;font-size:16px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.calendar-header{text-align:center;color:#7f8c8d;text-transform:uppercase;padding:8px 0;font-size:12px;font-weight:600}.calendar-day{aspect-ratio:1;color:#2c3e50;background:#f5f6fa;border-radius:8px;justify-content:center;align-items:center;font-size:15px;font-weight:500;transition:all .15s;display:flex}.calendar-day.empty{background:0 0}.calendar-day.present{color:#fff;background:#27ae60;font-weight:700}.calendar-day.absent{color:#fff;background:#e74c3c;font-weight:700}.calendar-day.clickable{cursor:pointer}.calendar-day.clickable:hover,.calendar-day:hover:not(.empty){transform:scale(1.05)}.report-period{margin-top:16px}.report-period-inputs{gap:10px;display:flex}.report-period-inputs .field input[type=date]{border:2px solid #e0e0e0;border-radius:6px;outline:none;width:100%;padding:6px 10px;font-size:13px}.report-period-inputs .field input[type=date]:focus{border-color:#1e5bb8}.report-period-inputs .field label{font-size:11px}.calendar-legend{border-top:1px solid #ecf0f1;flex-wrap:wrap;gap:16px;padding-top:12px;display:flex}.legend-item{color:#7f8c8d;align-items:center;gap:6px;font-size:13px;display:flex}.legend-color{border-radius:4px;width:16px;height:16px}.legend-color.present{background:#27ae60}.legend-color.absent{background:#e74c3c}.legend-color.unknown{background:#f5f6fa}.student-layout{align-items:flex-start;gap:20px;display:flex}.student-form{flex:1;min-width:0}.student-calendar{flex-shrink:0;width:320px;position:sticky;top:20px}.calendar-card{padding:16px}.calendar-card h3{align-items:center;gap:6px;margin-bottom:12px;font-size:15px;display:flex}.calendar-controls{margin-bottom:12px}.calendar-controls button{padding:6px 10px}.calendar-month{font-size:14px;font-weight:600}.calendar-grid-compact{gap:3px;margin-bottom:12px}.calendar-grid-compact .calendar-header{padding:4px 0;font-size:11px}.calendar-grid-compact .calendar-day{aspect-ratio:1;justify-content:center;align-items:center;font-size:12px;display:flex}.calendar-legend-compact{gap:12px;padding-top:10px}.calendar-legend-compact .legend-item{gap:4px;font-size:12px}.calendar-legend-compact .legend-color{width:14px;height:14px}.att-nav{background:#f5f5f5;border-radius:14px;justify-content:space-between;align-items:center;gap:2px;margin-bottom:16px;padding:4px;display:flex}.att-nav-btn{cursor:pointer;color:#71717a;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.att-nav-btn:hover{color:#18181b;background:#fff;box-shadow:0 1px 3px #0000000f}.att-nav-btn:active{transform:scale(.9)}.att-nav-label{align-items:baseline;gap:6px;padding:0 8px;display:flex}.att-nav-month{color:#18181b;letter-spacing:-.2px;font-size:15px;font-weight:700}.att-nav-year{color:#a1a1aa;font-size:12px;font-weight:500}.att-nav-today{color:#6366f1;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.att-nav-today:hover{background:#eef2ff}.att-nav-today:active{transform:scale(.95)}.att-grid{gap:4px;margin-bottom:12px;grid-template-columns:repeat(7,1fr)!important;display:grid!important}.att-hdr{text-align:center;color:#a1a1aa;text-transform:uppercase;letter-spacing:.8px;padding:6px 0 4px;font-size:10px;font-weight:700}.att-day{aspect-ratio:1;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:38px;font-weight:500;transition:all .15s;display:flex;position:relative}.att-day.empty{cursor:default;background:0 0}.att-day.present{color:#16a34a;background:#dcfce7;font-weight:600}.att-day.present .att-day-num{color:#15803d}.att-day.sick{color:#d97706;background:#fef3c7;font-weight:600}.att-day.sick .att-day-num{color:#b45309}.att-day.dayoff{color:#a1a1aa;background:#f5f5f5}.att-day.dayoff .att-day-num{color:#a1a1aa}.att-day.absent{color:#dc2626;background:#fef2f2;font-weight:600}.att-day.absent .att-day-num{color:#b91c1c}.att-day.nodata{color:#d4d4d8;background:#fafafa}.att-day.nodata .att-day-num{color:#d4d4d8}.att-day:hover:not(.empty){z-index:2;transform:scale(1.08)}.att-day:hover.nodata{background:#f0f0f0}.att-day.sel{z-index:2;box-shadow:0 0 0 2px #6366f1}.att-day.drag{z-index:1;background:#e0e7ff;border-radius:8px}.att-day.drag .att-day-num{color:#4338ca;font-weight:600}.att-day.today .att-day-num:after{content:"";background:#a1a1aa;border-radius:50%;width:5px;height:5px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.att-day.today.present .att-day-num:after{background:#16a34a}.att-day.today.absent .att-day-num:after{background:#dc2626}.att-day.today.sick .att-day-num:after{background:#d97706}.att-day.today.nodata .att-day-num:after{background:#a1a1aa}.att-day-num{font-size:13px;line-height:1;position:relative}.att-day-mark{color:inherit;opacity:.6;font-size:9px;font-weight:700;position:absolute;bottom:3px;right:5px}.att-legend{border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:16px;margin-bottom:8px;padding:12px 4px 8px;display:flex}.att-legend-item{color:#71717a;align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.att-dot{border-radius:6px;flex-shrink:0;width:10px;height:10px}.att-dot.present{background:#dcfce7;border:1px solid #86efac}.att-dot.sick{background:#fef3c7;border:1px solid #fcd34d}.att-dot.dayoff{background:#f5f5f5;border:1px solid #d4d4d8}.att-dot.absent{background:#fef2f2;border:1px solid #fca5a5}.att-dot.nodata{background:#fafafa;border:1px solid #e5e5e5}.att-dot.range{background:#e0e7ff;border:1px solid #6366f1}.att-report{margin-top:8px}.att-report-inputs{gap:10px;margin-bottom:12px;display:flex}.att-field{flex-direction:column;flex:1;gap:4px;display:flex}.att-field label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:600}.att-field input[type=date]{color:#18181b;background:#fafafa;border:1px solid #e5e5e5;border-radius:10px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.att-field input[type=date]:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.att-pdf-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 8px #6366f140}.att-pdf-btn:hover{box-shadow:0 4px 14px #6366f159}.att-pdf-btn:active{transform:scale(.98)}.att-pp{z-index:1001;background:#fff;border-radius:14px;min-width:220px;padding:14px;animation:.15s ease-out attFadeIn;position:fixed;transform:translate(-50%);box-shadow:0 12px 40px #00000026,0 0 0 1px #0000000a}.att-pp.range{min-width:260px}@keyframes attFadeIn{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.att-pp-arrow{background:#fff;border-top:1px solid #0000000f;border-left:1px solid #0000000f;border-radius:2px;width:10px;height:10px;position:absolute;top:-6px;left:calc(50% - 5px);transform:rotate(45deg)}.att-pp-date{color:#a1a1aa;text-align:center;margin-bottom:10px;font-size:11px;font-weight:600}.att-pp-acts{gap:4px;display:flex}.att-pp-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 6px;font-family:inherit;font-size:11px;font-weight:600;transition:all .12s;display:flex}.att-pp-btn.present{color:#16a34a;background:#f0fdf4}.att-pp-btn.present:hover{background:#dcfce7}.att-pp-btn.sick{color:#d97706;background:#fffbeb}.att-pp-btn.sick:hover{background:#fef3c7}.att-pp-btn.dayoff{color:#52525b;background:#f5f5f5}.att-pp-btn.dayoff:hover{background:#e5e5e5}.att-pp-btn.remove{color:#a1a1aa;background:#f5f5f5}.att-pp-btn.remove:hover{color:#52525b;background:#e5e5e5}.att-pp-btn.cancel{color:#71717a;background:#fafafa;border:1px solid #e5e5e5}.att-pp-btn.cancel:hover{background:#f0f0f0}.att-pp-btn.absent{color:#991b1b;background:#fee2e2}.att-pp-btn.absent:hover{background:#fecaca}.gc-wrap{margin-top:20px;padding-top:16px}.gc-head{color:#18181b;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.gc-head-date{color:#a1a1aa;font-size:12px;font-weight:500}.gc-table{background:#fff;border:1px solid #e5e5e5;border-radius:12px;overflow-x:auto}.gc-row{border-bottom:1px solid #f0f0f0;min-width:max-content;display:flex}.gc-row:last-child{border-bottom:none}.gc-row-hdr{z-index:2;position:sticky;top:0}.gc-cell{color:#52525b;border-right:1px solid #f0f0f0;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:500;display:flex}.gc-cell:last-child{border-right:none}.gc-cell.hdr{color:#a1a1aa;text-transform:uppercase;background:#f5f5f5;font-size:10px;font-weight:700}.gc-cell.num{color:#71717a;background:#f5f5f5;font-size:11px;font-weight:600}.gc-cell.name{color:#18181b;flex:1;justify-content:flex-start;width:auto;min-width:150px;padding:0 12px;font-size:12px;font-weight:600}.gc-cell.present{color:#16a34a;background:#f0fdf4;font-size:12px;font-weight:600}.gc-cell.sick{color:#d97706;background:#fffbeb;font-size:12px;font-weight:600}.gc-cell.dayoff{color:#a1a1aa;background:#f5f5f5;font-size:11px}.gc-cell.absent{color:#dc2626;background:#fef2f2;font-size:12px;font-weight:600}.gc-cell.empty{background:var(--bg-surface)}.gc-cell.u0438u0442u043eu0433u043e{color:#18181b;background:#f5f5f5;width:auto;min-width:54px;padding:0 12px;font-size:12px;font-weight:700}.gc-legend{color:#71717a;border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:14px;margin-top:10px;padding-top:10px;font-size:11px;display:flex}.gc-dot{vertical-align:middle;border-radius:4px;width:10px;height:10px;margin-right:4px;display:inline-block}.gc-dot.present{background:#dcfce7;border:1px solid #86efac}.gc-dot.sick{background:#fef3c7;border:1px solid #fcd34d}.gc-dot.dayoff{background:#f5f5f5;border:1px solid #d4d4d8}.gc-dot.absent{background:#fef2f2;border:1px solid #fca5a5}.gc-dot.empty{background:#fff;border:1px solid #e5e5e5}.gc-download{color:#52525b;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.gc-download:hover{color:#18181b;background:#f5f5f5;border-color:#d4d4d8}.gc-download:active{transform:scale(.97)}.cs-head{border-bottom:1px solid #eef0f4;padding:16px 20px}.cs-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.cs-head-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cs-head-acts{gap:6px;display:flex}.cs-month-nav{background:#f1f5f9;border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex}.cs-month-title{text-align:center;color:#0f2444;min-width:130px;padding:0 14px;font-size:15px;font-weight:700}.cs-group-name{color:#475569;padding:0 6px;font-size:14px;font-weight:500}.cs-nav-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .12s;display:flex}.cs-nav-btn:hover{color:#0f2444;background:#fff}.cs-table-scroll{padding:0;overflow-x:auto}.cs-table{border-collapse:collapse;table-layout:fixed;font-size:12px}.cs-table th,.cs-table td{text-align:center;border:1px solid #e2e8f0;padding:4px 2px;line-height:1.2}.cs-table thead th{color:#fff;z-index:1;white-space:nowrap;background:#0f2444;padding:5px 1px;font-size:11px;font-weight:600;position:sticky;top:0;overflow:hidden}.cs-col-num{width:30px}.cs-col-fio{width:150px}.cs-col-day{width:26px}.cs-col-total{width:48px}.cs-th-fio{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:left!important;padding:5px 8px!important}.cs-th-total{background:#1e3a5f!important}.cs-td-num{color:#475569;white-space:nowrap;font-weight:600}.cs-td-fio{white-space:nowrap;text-overflow:ellipsis;color:#0f2444;font-weight:500;overflow:hidden;text-align:left!important;padding:4px 8px!important}.cs-td-day{cursor:pointer;font-weight:700;position:relative;padding:0!important}.cs-td-day:hover{filter:brightness(.92)}.cs-td-sym{justify-content:center;align-items:center;height:26px;font-size:12px;display:flex}.cs-td-grade{color:#3b82f6;font-size:7px;font-weight:700;line-height:1;position:absolute;top:1px;right:2px}.cs-td-day.cs-present{background:#dcfce7}.cs-td-day.cs-present .cs-td-sym{color:#166534}.cs-td-day.cs-absent{background:#fee2e2}.cs-td-day.cs-absent .cs-td-sym{color:#991b1b}.cs-td-day.cs-sick{background:#fef3c7}.cs-td-day.cs-sick .cs-td-sym{color:#92400e}.cs-td-day.cs-dayoff{background:#dbeafe}.cs-td-day.cs-dayoff .cs-td-sym{color:#1e40af}.cs-td-day:not(.cs-present):not(.cs-absent):not(.cs-sick):not(.cs-dayoff){background:#fafafa}.cs-td-day:not(.cs-present):not(.cs-absent):not(.cs-sick):not(.cs-dayoff) .cs-td-sym{color:#d4d4d8}.cs-td-total{color:#0f2444;background:#f1f5f9;font-size:12px;font-weight:700}.cs-legend{background:#fafbfc;border-top:1px solid #eef0f4;flex-wrap:wrap;gap:14px;padding:12px 16px;font-size:12px;display:flex}.cs-legend-item{color:#475569;align-items:center;gap:5px;font-weight:500;display:flex}.cs-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.cs-legend-dot.cs-present{background:#22c55e}.cs-legend-dot.cs-absent{background:#ef4444}.cs-legend-dot.cs-sick{background:#f59e0b}.cs-legend-dot.cs-dayoff{background:#3b82f6}.cs-legend-dot.cs-nodata{background:#d4d4d8}.cs-popup{z-index:1100;background:#fff;border-radius:14px;min-width:200px;padding:12px 14px;animation:.12s ease-out csPopIn;position:fixed;box-shadow:0 12px 40px #00000026,0 0 0 1px #0000000a}@keyframes csPopIn{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.cs-popup-date{color:#64748b;text-align:center;margin-bottom:8px;font-size:11px;font-weight:600}.cs-popup-acts{gap:4px;margin-bottom:8px;display:flex}.cs-popup-btn{cursor:pointer;border:none;border-radius:8px;flex:1;height:32px;font-family:inherit;font-size:13px;font-weight:700;transition:all .1s}.cs-popup-btn:hover{filter:brightness(.92);transform:scale(1.05)}.cs-popup-btn:active{transform:scale(.93)}.cs-popup-btn.present{color:#166534;background:#dcfce7}.cs-popup-btn.absent{color:#991b1b;background:#fee2e2}.cs-popup-btn.sick{color:#92400e;background:#fef3c7}.cs-popup-btn.dayoff{color:#1e40af;background:#dbeafe}.cs-popup-grades{border-top:1px solid #eef0f4;margin-bottom:6px;padding-top:7px}.cs-popup-glabel{color:#64748b;text-align:center;margin-bottom:5px;font-size:11px;font-weight:600}.cs-popup-gbtns{justify-content:center;gap:4px;display:flex}.cs-popup-grade{cursor:pointer;color:#cbd5e1;background:#f1f5f9;border:none;border-radius:7px;width:30px;height:30px;font-family:inherit;font-size:12px;font-weight:700;transition:all .1s}.cs-popup-grade:hover{transform:scale(1.08)}.cs-popup-grade.on{color:#fff}.cs-popup-grade.on.g2{background:#ef4444}.cs-popup-grade.on.g3{background:#f59e0b}.cs-popup-grade.on.g4{background:#22c55e}.cs-popup-grade.on.g5{background:#3b82f6}.cs-popup-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;width:100%;margin-top:2px;padding:6px;font-family:inherit;font-size:11px;font-weight:600;transition:all .12s}.cs-popup-close:hover{color:#0f2444;background:#e2e8f0}.cs-overlay{z-index:1050;background:0 0;position:fixed;inset:0}[data-theme=dark] .cs-head{border-bottom-color:var(--border)}[data-theme=dark] .cs-month-nav{background:var(--bg-muted)}[data-theme=dark] .cs-month-title{color:var(--text-primary)}[data-theme=dark] .cs-group-name,[data-theme=dark] .cs-nav-btn{color:var(--text-muted)}[data-theme=dark] .cs-nav-btn:hover{background:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .cs-table th,[data-theme=dark] .cs-table td{border-color:var(--border)}[data-theme=dark] .cs-table thead th{background:var(--bg-muted)!important;color:var(--text-primary)!important}[data-theme=dark] .cs-th-total{background:var(--bg-elevated)!important}[data-theme=dark] .cs-td-num{color:var(--text-muted)}[data-theme=dark] .cs-td-fio{color:var(--text-primary)}[data-theme=dark] .cs-td-day.cs-present{background:var(--success-bg)}[data-theme=dark] .cs-td-day.cs-present .cs-td-sym{color:var(--success)}[data-theme=dark] .cs-td-day.cs-absent{background:var(--error-bg)}[data-theme=dark] .cs-td-day.cs-absent .cs-td-sym{color:var(--error)}[data-theme=dark] .cs-td-day.cs-sick{background:var(--warning-bg)}[data-theme=dark] .cs-td-day.cs-sick .cs-td-sym{color:var(--warning)}[data-theme=dark] .cs-td-day.cs-dayoff{background:var(--bg-muted)}[data-theme=dark] .cs-td-day.cs-dayoff .cs-td-sym{color:var(--text-muted)}[data-theme=dark] .cs-td-day:not(.cs-present):not(.cs-absent):not(.cs-sick):not(.cs-dayoff){background:var(--bg-surface)}[data-theme=dark] .cs-td-day:not(.cs-present):not(.cs-absent):not(.cs-sick):not(.cs-dayoff) .cs-td-sym{color:var(--text-dim)}[data-theme=dark] .cs-td-total{background:var(--bg-elevated);color:var(--text-primary)}[data-theme=dark] .cs-legend{background:var(--bg-elevated);border-top-color:var(--border)}[data-theme=dark] .cs-legend-item{color:var(--text-muted)}[data-theme=dark] .cs-legend-dot.cs-nodata{background:var(--text-dim)}[data-theme=dark] .cs-popup{background:var(--bg-card);box-shadow:0 12px 40px #0006}[data-theme=dark] .cs-popup-date{color:var(--text-muted)}[data-theme=dark] .cs-popup-btn.present{background:var(--success-bg);color:var(--success)}[data-theme=dark] .cs-popup-btn.absent{background:var(--error-bg);color:var(--error)}[data-theme=dark] .cs-popup-btn.sick{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .cs-popup-btn.dayoff{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .cs-popup-grades{border-top-color:var(--border)}[data-theme=dark] .cs-popup-glabel{color:var(--text-muted)}[data-theme=dark] .cs-popup-grade{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .cs-popup-close{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .cs-popup-close:hover{background:var(--bg-hover);color:var(--text-primary)}.grades-grid{flex-wrap:wrap;gap:4px;display:flex}.grades-day{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:2px;padding:2px 4px;display:flex}.grades-day-num{color:#64748b;text-align:center;min-width:14px;font-size:10px;font-weight:700}.grades-btns{gap:1px;display:flex}.grades-btn{cursor:pointer;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:9px;font-weight:700;line-height:1;transition:all .15s;display:flex}.grades-btn:hover{z-index:1;transform:scale(1.15)}.grades-btn.set{color:#fff}.grades-btn.g2.set{background:#ef4444}.grades-btn.g3.set{background:#f59e0b}.grades-btn.g4.set{background:#22c55e}.grades-btn.g5.set{background:#3b82f6}.grades-btn:not(.set){color:#cbd5e1;background:#f1f5f9}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.modal-content{box-sizing:border-box;background:#fff;border-radius:24px;width:100%;max-width:960px;max-height:90vh;padding:28px 28px 24px;animation:.35s cubic-bezier(.16,1,.3,1) modalSlideUp;position:relative;overflow-y:auto;box-shadow:0 32px 64px #0000001f,0 2px 8px #0000000a}.modal-content::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:2px}.modal-content::-webkit-scrollbar-track{background:0 0}.modal-close{cursor:pointer;z-index:10;color:#a1a1aa;background:#f4f4f5;border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{color:#27272a;background:#e4e4e7}.modal-close svg{fill:currentColor;width:16px;height:16px}.modal-expand{cursor:pointer;z-index:10;color:#a1a1aa;background:#f4f4f5;border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.modal-header .modal-close{position:absolute;top:16px;right:56px}.student-card-close{display:none}.modal-expand:hover{color:#27272a;background:#e4e4e7}.modal-expand svg{fill:currentColor;width:16px;height:16px}.modal-body{padding:0}.modal-header{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;padding:0 0 4px;display:flex}.modal-header-name{color:#18181b;letter-spacing:-.3px;padding-right:72px;font-size:20px;font-weight:700}.modal-badges{flex-wrap:wrap;gap:5px;display:flex}.modal-badge{border-radius:6px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.modal-badge.paid{color:#0d9488;background:#ecfdf5}.modal-badge.target{color:#4f46e5;background:#eef2ff}.modal-badge.employed{color:#d97706;background:#fffbeb}.modal-badge.practice{color:#0d9488;background:#ecfdf5}.modal-badge.academic{color:#c2410c;background:#fff7ed}.modal-badge.graduated{color:#16a34a;background:#f0fdf4}.modal-badge.expelled{color:#dc2626;background:#fef2f2}.modal-tabs{scrollbar-width:none;flex-wrap:wrap;gap:4px;margin:20px 0 0;display:flex;overflow-x:auto}.modal-tab{color:#71717a;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s;display:flex}.modal-tab:hover{color:#18181b;background:#f4f4f5}.modal-tab.active{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5)}.modal-tab svg{width:14px;height:14px}.draft-banner{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:center;gap:12px;margin:8px 0 0;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.draft-banner button{color:#92400e;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .1s;display:inline-flex}.draft-banner button:hover{background:#fef3c7}.draft-modal{z-index:10;background:#fff;border:1px solid #f0f2f5;border-radius:12px;width:100%;margin:0 0 12px;padding:14px 16px;animation:.25s ease-out draftSlideIn;position:relative;box-shadow:0 8px 32px #00000014}@keyframes draftSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.draft-modal-title{color:#0f2444;border-bottom:1px solid #f0f2f5;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;font-size:13px;font-weight:700;display:flex}.draft-modal-title svg{color:#f59e0b;flex-shrink:0}.draft-modal-list{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.draft-modal-row{background:#f8f9fc;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:5px 8px;font-size:11px;display:flex}.draft-modal-field{color:#64748b;text-transform:uppercase;letter-spacing:.3px;min-width:100%;font-size:10px;font-weight:600}.draft-modal-old{color:#dc2626;font-weight:500}.draft-modal-new{color:#16a34a;font-weight:600}.draft-modal-acts{gap:6px;display:flex}[data-theme=dark] .draft-modal{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .draft-modal-title{color:var(--text-primary);border-bottom-color:var(--border)}[data-theme=dark] .draft-modal-row{background:var(--bg-elevated)}[data-theme=dark] .draft-modal-field{color:var(--text-muted)}.modal-section{padding:20px 0 0;animation:.2s ease-out sectionFade}@keyframes sectionFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-fields>.field{background:#f8f8f8;border-radius:12px;flex-direction:column;gap:5px;padding:14px 16px;display:flex}.modal-fields>.field:only-child,.modal-fields>.field:nth-last-child(2):nth-child(odd){grid-column:1/-1}.status-card{background:#f8f8f8;border-radius:12px;padding:16px}.status-toggle{gap:8px;display:flex}.status-pill{color:#71717a;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e5e5e5;border-radius:8px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex}.status-pill:hover{border-color:#d4d4d8}.status-pill.on{color:#dc2626;background:#fef2f2;border-color:#fecaca}.status-pill.on.academic{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.status-pill-dot{background:#d4d4d8;border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-pill.on .status-pill-dot{background:#dc2626;box-shadow:0 0 0 3px #dc262626}.status-pill.on.academic .status-pill-dot{background:#c2410c;box-shadow:0 0 0 3px #c2410c26}.status-details{border-top:1px solid #e5e5e5;gap:10px;margin-top:12px;padding-top:12px;display:flex}.status-field{flex-direction:column;flex:1;gap:4px;display:flex}.status-field label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.status-field input{color:#18181b;background:#fff;border:1px solid #e5e5e5;border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.status-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.status-field input::placeholder{color:silver}.modal-section .field label{color:#a1a1aa;text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:600}.modal-section .field input[type=text],.modal-section .field input[type=number],.modal-section .field input[type=date]{color:#18181b;box-sizing:border-box;background:#fff;border:1px solid #e5e5e5;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.modal-section .field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.modal-fields-actions{grid-column:1/-1;gap:8px;margin-top:4px;display:flex}.modal-fields-actions .action-btn{color:#52525b;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex}.modal-fields-actions .action-btn:hover{color:#18181b;background:#f5f5f5;border-color:#d4d4d8}.modal-fields .field .checkbox-wrap{align-items:center;gap:10px;padding:0;display:flex}.modal-fields .field .checkbox-label{color:#18181b;font-size:14px;font-weight:500}.modal-actions{border-top:1px solid #f0f0f0;gap:10px;margin-top:8px;padding:20px 0 0;display:flex}.modal-actions button{border-radius:12px;flex:1;justify-content:center;padding:12px 20px;font-size:14px;font-weight:600}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none}.btn-primary:hover{box-shadow:0 2px 12px #6366f159}.btn-cancel{color:#71717a;background:#f4f4f5;border:1px solid #e5e5e5}.btn-cancel:hover{color:#27272a;background:#e4e4e7}body.modal-maximized .modal-overlay{pointer-events:none;background:0 0}body.modal-maximized .modal-content{pointer-events:auto;border-radius:0;flex-direction:column;width:auto;max-width:none;height:auto;max-height:none;animation:none;display:flex;position:fixed;inset:0 0 0 240px}body.modal-maximized .modal-header{flex-shrink:0;padding:18px 28px}body.modal-maximized .modal-badges{padding:0 28px}body.modal-maximized .modal-tabs{background:#fff;border-bottom:1px solid #f5f5f5;flex-shrink:0;margin-top:14px;padding:0 28px}body.modal-maximized .modal-section{flex:1;padding:24px 28px;overflow-y:auto}body.modal-maximized .modal-section.attendance-mode{overflow:visible!important}body.modal-maximized .modal-actions{border-top:1px solid #f5f5f5;flex-shrink:0;padding:16px 28px}body.modal-maximized .att-grid{grid-template-columns:repeat(7,1fr)!important;gap:6px!important}body.modal-maximized .att-day{border-radius:10px;min-height:52px}body.modal-maximized .att-day-num{font-size:15px}body.modal-maximized .att-day-mark{font-size:10px;bottom:3px;right:6px}body.modal-maximized .att-nav{margin-bottom:18px;padding:8px 12px}body.modal-maximized .gc-table{max-height:none}body.modal-maximized .gc-cell{width:40px;height:40px;font-size:13px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-modal{background:#fff;border-radius:20px;width:100%;max-width:440px;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp;position:relative;overflow:hidden;box-shadow:0 25px 80px #00000040}.add-modal-header{text-align:center;padding:28px 28px 0}.add-modal-icon{color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 14px;display:flex}.add-modal-header h2{color:#0f2444;margin:0 0 4px;font-size:20px;font-weight:700}.add-modal-header p{color:#94a3b8;margin:0 0 20px;font-size:13px}.add-modal-body{flex-direction:column;gap:14px;padding:0 28px;display:flex}.add-field label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.add-req{color:#dc2626}.add-field input{color:#0f2444;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .2s}.add-field input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.add-field-row{gap:12px;display:flex}.add-modal-footer{gap:10px;padding:20px 28px 24px;display:flex}.add-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.add-btn.cancel{color:#475569;background:#f1f4f9}.add-btn.cancel:hover{background:#e2e8f0}.add-btn.submit{color:#fff;background:linear-gradient(135deg,#1e5bb8,#4f46e5)}.add-btn.submit:hover{transform:translateY(-1px);box-shadow:0 4px 15px #4f46e559}.emp{flex-direction:column;gap:14px;display:flex}.emp-group{background:var(--bg-elevated,#f8f9fa);border:1px solid var(--border,#e5e5e5);border-left:3px solid #2563eb;border-radius:12px;padding:14px 16px;transition:box-shadow .2s}.emp-group:hover{box-shadow:0 4px 16px #0000000d}.emp-group-h{align-items:center;gap:8px;margin-bottom:12px;display:flex}.emp-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.emp-group-label{text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.emp-live{border-radius:20px;margin-left:auto;padding:2px 10px;font-size:10px;font-weight:600}.emp-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.emp-field{flex-direction:column;gap:4px;display:flex}.emp-field.toggle{background:var(--bg-card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:10px;flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding:10px 14px}.emp-field label{color:var(--text-muted,#a1a1aa);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.emp-field.toggle label{text-transform:none;letter-spacing:0;color:var(--text-primary,#18181b);margin:0;font-size:13px;font-weight:600}.emp-field input[type=text],.emp-field input[type=date]{border:1.5px solid var(--border,#e5e5e5);background:var(--bg-card,#fff);color:var(--text-primary,#18181b);box-sizing:border-box;border-radius:9px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.emp-field input:focus{border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f11a}.emp-field .checkbox-label{font-size:12px;font-weight:600}@media (max-width:700px){.emp-fields{grid-template-columns:1fr}}.emp-entries{border-top:1px dashed var(--border,#e5e5e5);margin-top:14px;padding-top:12px}.emp-entries-h{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.emp-entries-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted,#a1a1aa);font-size:11px;font-weight:700}.emp-add-btn{border:1.5px solid var(--border,#e5e5e5);background:var(--bg-card,#fff);color:var(--text-muted,#64748b);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.emp-add-btn:hover{border-color:var(--accent,#6366f1);color:var(--accent,#6366f1)}.emp-entries-empty{color:var(--text-dim,#a1a1aa);padding:6px 0;font-size:12px}.emp-entry{background:var(--bg-card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;padding:10px 12px;display:grid;position:relative}.emp-entry-row{flex-direction:column;gap:3px;display:flex}.emp-entry-row label{color:var(--text-muted,#a1a1aa);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.emp-entry-row input{border:1.5px solid var(--border,#e5e5e5);background:var(--bg-elevated,#f8f9fa);color:var(--text-primary,#18181b);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.emp-entry-row input:focus{border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f114}.emp-entry-period{flex-direction:row;grid-column:1/-1;align-items:center;gap:6px}.emp-entry-period label{flex-shrink:0}.emp-entry-period input{flex:1;min-width:0}.emp-entry-sep{color:var(--text-dim,#a1a1aa);font-size:12px}.emp-entry-del{cursor:pointer;opacity:.5;background:0 0;border:none;padding:3px;transition:all .15s;position:absolute;top:8px;right:8px}.emp-entry-del:hover{opacity:1;transform:scale(1.1)}@media (max-width:700px){.emp-entry{grid-template-columns:1fr}.emp-entry-period{grid-column:auto}}@keyframes tdS{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.td{max-width:560px;margin:0 auto;padding:4px 0 32px;font-family:inherit;position:relative}.td *,.td-sub *{box-sizing:border-box}.td-top{-webkit-backdrop-filter:blur(50px)saturate(1.6);backdrop-filter:blur(50px)saturate(1.6);color:#1d1d1f;z-index:1;background:#ffffff1f;border:1px solid #ffffff40;border-radius:24px;margin-bottom:28px;padding:32px 28px 24px;position:relative;box-shadow:0 8px 32px #0000000d,inset 0 1px #fff6}.td-top:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff26 0%,#0000 40%);position:absolute;inset:0}.td-body{width:100%}.td-top-bg{display:none}.td-top-in{align-items:center;gap:14px;margin-bottom:20px;display:flex;position:relative}.td-top-av{color:#1d1d1f;letter-spacing:.3px;background:linear-gradient(#e8e8ed,#d1d1d6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:15px;font-weight:500;display:flex;box-shadow:inset 0 1px #fffc}.td-top-txt{flex:1;min-width:0}.td-top-name{letter-spacing:-.3px;color:#1d1d1f;margin:0 0 1px;font-size:20px;font-weight:500;line-height:1.25}.td-top-role{letter-spacing:.2px;color:#86868b;background:#00000008;border:1px solid #0000000a;border-radius:5px;align-items:center;margin-bottom:2px;padding:1px 10px;font-size:10px;font-weight:500;transition:all .2s;display:inline-flex}.td-top-role[data-role=Администратор]{color:#38bdf8;background:#38bdf81a;border-color:#38bdf826}.td-top-role[data-role=Тех\.администратор]{color:#fb923c;background:#fb923c1a;border-color:#fb923c26}.td-top-role[data-role=Мастер]{color:#34d399;background:#34d3991a;border-color:#34d39926}.td-top-time{color:#86868b;letter-spacing:.15px;margin-top:3px;font-size:11px;display:block}.td-top .gradient-name{-webkit-text-fill-color:transparent;background:linear-gradient(270deg,#0f172a 0%,#6366f1 25%,#22d3ee 50%,#818cf8 75%,#0f172a 100%) 0 0/400% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;animation:6s ease-in-out infinite nameFlow;display:inline-block}@keyframes nameFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.td-top-stats{align-items:center;padding-top:16px;display:flex;position:relative}.td-top-stat{text-align:center;flex:1;animation:.5s cubic-bezier(.16,1,.3,1) both tdS}.td-top-stat-n{color:#1d1d1f;letter-spacing:-.3px;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-height:22px;font-size:20px;font-weight:500;line-height:1.2;display:flex}.td-top-stat-l{color:#86868b;letter-spacing:.3px;white-space:nowrap;margin-top:1px;font-size:9px;font-weight:400;display:block}.td-top-stat-n .stat-load{align-items:center;gap:4px;height:20px;display:inline-flex}.td-top-stat-n .stat-load span{background:#c7c7cc;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite tdB}.td-top-stat-n .stat-load span:nth-child(2){animation-delay:.2s}.td-top-stat-n .stat-load span:nth-child(3){animation-delay:.4s}@keyframes tdB{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:.8;transform:scale(1)}}.td-top-d{background:#0000000f;flex-shrink:0;width:1px;height:24px;margin:0 8px}.td-chart-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:20px 20px 18px;transition:opacity .6s ease-out,transform .6s cubic-bezier(.16,1,.3,1);position:relative}.td-chart-h{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.td-chart-h .td-h2{margin:0}.td-chart-badge{text-transform:uppercase;letter-spacing:.3px;background:var(--bg-muted);color:var(--text-muted);border-radius:20px;align-items:center;gap:5px;padding:2px 10px;font-size:9px;font-weight:600;display:inline-flex}.td-chart-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite tdPulse}@keyframes tdPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.td-chart{flex-direction:column;gap:0;display:flex}.td-chart-bars{align-items:flex-end;gap:6px;height:100px;padding:0 4px;display:flex}.td-cb-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.td-cb-bar{background:var(--bg-muted);border-radius:20px 20px 4px 4px;width:100%;max-width:28px;min-height:4px;transition:height 1s cubic-bezier(.34,1.56,.64,1);position:relative}.td-cb-bar.active{background:linear-gradient(180deg,var(--accent),var(--accent-hover))}.td-cb-bar-fill{border-radius:20px 20px 4px 4px;position:absolute;bottom:0;left:0;right:0}.td-cb-lbl{color:var(--text-muted);letter-spacing:.2px;font-size:9px;font-weight:600;transition:color .2s}.td-cb-lbl.active{color:var(--accent);font-weight:700}.td-cb-bar-wrap:hover .td-cb-lbl{color:var(--accent)}.td-chart-axis{border-top:1px solid var(--border);gap:6px;margin-top:8px;padding:8px 4px 0;display:flex}.td-chart-axis-v{text-align:center;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:1;font-size:9px;font-weight:500;transition:opacity .3s ease-out}.td-h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:11px;font-weight:600;animation:.4s cubic-bezier(.16,1,.3,1) both tdS;display:block}.td-g{flex-wrap:wrap;gap:8px;margin-bottom:0;display:flex}.td-c{-webkit-backdrop-filter:blur(20px)saturate(1.3);backdrop-filter:blur(20px)saturate(1.3);cursor:pointer;text-align:center;background:linear-gradient(#ffffff1f 0%,#ffffff08 100%);border:1px solid #0000000f;border-radius:16px;flex-direction:column;flex:1 0 72px;align-items:center;gap:6px;padding:16px 8px 14px;transition:all .25s cubic-bezier(.16,1,.3,1);animation:.4s cubic-bezier(.16,1,.3,1) both tdS;display:flex;position:relative;overflow:hidden}.td-c:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(135deg,#ffffff14 0%,#0000 50%);border-radius:16px;transition:opacity .25s;position:absolute;inset:0}.td-c:hover:before{opacity:1}.td-c:first-child{animation-delay:80ms}.td-c:nth-child(2){animation-delay:.12s}.td-c:nth-child(3){animation-delay:.16s}.td-c:nth-child(4){animation-delay:.2s}.td-c:nth-child(5){animation-delay:.24s}.td-c:nth-child(6){animation-delay:.28s}.td-c:hover{border-color:#ffffff59;transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.td-c:active{transform:scale(.95)}.td-ci{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .25s;display:flex}.td-c:hover .td-ci{transform:scale(1.1);color:#fff!important}.td-ci,.rd-ci{color:var(--text-muted);background:#0000000a}.td-c[data-view=admin] .td-ci,.rd-c[data-view=admin] .rd-ci,.rd-c[data-view=master] .rd-ci{color:#6366f1;background:#6366f11f}.td-c[data-view=adminGroups] .td-ci,.rd-c[data-view=adminGroups] .rd-ci{color:#06b6d4;background:#06b6d41f}.td-c[data-view=gradebook] .td-ci,.rd-c[data-view=gradebook] .rd-ci{color:#22c55e;background:#22c55e1f}.td-c[data-view=adminPanel] .td-ci,.rd-c[data-view=adminPanel] .rd-ci{color:#8b5cf6;background:#8b5cf61f}.td-c[data-view=masters] .td-ci,.rd-c[data-view=masters] .rd-ci{color:#ec4899;background:#ec48991f}.td-c[data-view=news] .td-ci{color:#eab308;background:#eab3081f}.td-c[data-view=users] .td-ci{color:#8b5cf6;background:#8b5cf61f}.td-c[data-view=simulation] .td-ci{color:#f59e0b;background:#f59e0b1f}.td-c[data-view=tickets] .td-ci{color:#eb5757;background:#eb57571f}.td-c[data-view=logs] .td-ci{color:#02b8cc;background:#02b8cc1f}.td-c[data-view=admin]:hover .td-ci,.rd-c[data-view=admin]:hover .rd-ci,.rd-c[data-view=master]:hover .rd-ci{background:#6366f1}.td-c[data-view=adminGroups]:hover .td-ci,.rd-c[data-view=adminGroups]:hover .rd-ci{background:#06b6d4}.td-c[data-view=gradebook]:hover .td-ci,.rd-c[data-view=gradebook]:hover .rd-ci{background:#22c55e}.td-c[data-view=adminPanel]:hover .td-ci,.rd-c[data-view=adminPanel]:hover .rd-ci{background:#8b5cf6}.td-c[data-view=masters]:hover .td-ci,.rd-c[data-view=masters]:hover .rd-ci{background:#ec4899}.td-c[data-view=master]:hover .td-ci{background:#06b6d4}.td-c[data-view=news]:hover .td-ci{background:#eab308}.td-c[data-view=users]:hover .td-ci{background:#8b5cf6}.td-c[data-view=simulation]:hover .td-ci{background:#f59e0b}.td-c[data-view=tickets]:hover .td-ci{background:#eb5757}.td-c[data-view=logs]:hover .td-ci{background:#02b8cc}.td-ct{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:60px;font-size:10px;font-weight:600;line-height:1.2;transition:color .2s;overflow:hidden}.td-c:hover .td-ct{color:var(--accent)}.td-sub{max-width:none!important;padding:0!important}.td-sub-h{align-items:center;gap:10px;margin-bottom:16px;display:flex}.td-sub-back{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.td-sub-back:hover{background:var(--bg-muted);border-color:var(--text-muted);transform:translate(-2px)}.td-sub-back:active{transform:translate(0)scale(.97)}.td-sub-title{color:var(--text-primary);flex:1;margin:0;font-size:16px;font-weight:700}.td-sub-add{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #6366f133}.td-sub-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.td-sub-add:active{transform:translateY(0)scale(.97)}.td-sim-bar{background:#f59e0b14;border:1px solid #f59e0b26;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.td-sim-status{color:#f59e0be6;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.td-sim-dot{background:#f59e0b66;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:all .3s}.td-sim-dot.on{background:#f59e0b;animation:1.5s ease-in-out infinite simPulse;box-shadow:0 0 8px #f59e0b80}.td-sim-toggle{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.td-sim-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.td-sim-toggle:active{transform:scale(.97)}.td-sim-tabs{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;gap:4px;margin-bottom:12px;padding:3px;display:flex}.td-sim-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:flex}.td-sim-tab.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 3px #0000000f}.td-sim-add-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.td-sim-add-row input{border:1.5px solid var(--border);background:var(--bg-input);min-width:120px;color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:7px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.td-sim-add-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f114}.td-sim-add-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.td-sim-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f140}.td-sim-add-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.td-sim-add-btn-s{background:#22c55e}.td-sim-add-btn-s:hover{box-shadow:0 4px 12px #22c55e40}.td-sim-add-btn-c{background:#64748b}.td-sim-add-btn-c:hover{box-shadow:0 4px 12px #64748b40}.td-sim-add-actions{gap:4px;display:flex}.td-sim-list{flex-direction:column;gap:4px;display:flex}.td-sim-empty{text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:12px;padding:24px;font-size:13px}.td-sim-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .15s;animation:.3s both simFadeIn;display:flex}.td-sim-item:hover{border-color:var(--accent);background:var(--bg-elevated)}.td-sim-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.td-sim-item-name{color:var(--text-primary);font-size:14px;font-weight:600}.td-sim-item-meta,.td-sim-item-count{color:var(--text-muted);font-size:11px}.td-sim-item-actions{flex-shrink:0;gap:4px;display:flex}.td-sim-item-del{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.td-sim-item-del:hover{color:#dc2626;background:#ef44441a}.td-sim-clear{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:6px;margin-top:12px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.td-sim-clear:hover{background:#ef444414;border-color:#ef444466}@keyframes simFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.td-users-empty{text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:12px;padding:24px;font-size:13px}.td-urow{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;animation:.35s cubic-bezier(.16,1,.3,1) both tdRowIn;display:flex;position:relative;overflow:hidden}.td-urow:before{content:"";background:var(--accent);opacity:0;border-radius:0 3px 3px 0;width:3px;height:60%;transition:all .2s;position:absolute;top:20%;left:0}.td-urow:hover:before{opacity:1;height:80%;top:10%}.td-urow:hover{border-color:var(--accent);transform:translate(3px);box-shadow:0 4px 16px #6366f10f}@keyframes tdRowIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.td-urow-av{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:10px;font-weight:700;display:flex}.td-urow-info{flex:1;min-width:0}.td-urow-name{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3;display:block}.td-urow-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:10px;display:flex}.td-urow-role{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:700;line-height:16px}.td-urow-acts{opacity:0;gap:2px;transition:all .15s;display:flex;transform:translate(8px)}.td-urow:hover .td-urow-acts{opacity:1;transform:translate(0)}.td-urow-btn{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.td-urow-btn:hover{color:var(--accent);background:#818cf81f;transform:scale(1.1)}.td-urow-btn:active{transform:scale(.9)}.td-urow-btn-d:hover{background:var(--error-bg);color:var(--error)}.td-edit-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;animation:.3s cubic-bezier(.16,1,.3,1) both tdS;overflow:hidden}.td-edit-h{color:var(--text-primary);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 18px;font-size:14px;font-weight:700;display:flex}.td-edit-h svg{color:var(--accent);flex-shrink:0}.td-edit-b{flex-direction:column;gap:10px;padding:14px 18px;display:flex}.td-edit-g{gap:10px;display:flex}.td-edit-f{flex-direction:column;flex:1;gap:4px;display:flex}.td-edit-f label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.td-edit-f input,.td-edit-f select{border:1.5px solid var(--border);box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:8px 11px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.td-edit-f input:hover,.td-edit-f select:hover{border-color:var(--text-muted)}.td-edit-f input:focus,.td-edit-f select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.td-edit-f input:disabled{background:var(--bg-muted);color:var(--text-dim);cursor:not-allowed}.td-edit-chips{flex-wrap:wrap;gap:4px;display:flex}.td-ec{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;background:var(--bg-surface);-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:4px;padding:5px 10px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.td-ec.on{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-card);transform:scale(1.02)}.td-ec:hover:not(.on){background:var(--bg-hover);border-color:var(--text-muted);transform:translateY(-1px)}.td-ec:active{transform:scale(.95)}.td-ec svg{vertical-align:middle;flex-shrink:0}.td-edit-f2{border-top:1px solid var(--border);gap:10px;padding:14px 18px 16px;display:flex}.td-edit-btn{cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.td-edit-btn-p{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;box-shadow:0 2px 8px #6366f140}.td-edit-btn-p:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.td-edit-btn-p:active{transform:translateY(0)scale(.97)}.td-edit-btn-s{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border)}.td-edit-btn-s:hover{background:var(--bg-muted);color:var(--text-primary);transform:translateY(-1px)}.td-edit-btn-s:active{transform:translateY(0)scale(.97)}.rd{max-width:560px;margin:0 auto;padding:4px 0 32px;font-family:inherit}.rd *{box-sizing:border-box}.rd-top{-webkit-backdrop-filter:blur(50px)saturate(1.6);backdrop-filter:blur(50px)saturate(1.6);color:#1d1d1f;z-index:1;background:#ffffff1f;border:1px solid #ffffff40;border-radius:24px;margin-bottom:28px;padding:32px 28px 24px;position:relative;box-shadow:0 8px 32px #0000000d,inset 0 1px #fff6}.rd-top:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff26 0%,#0000 40%);position:absolute;inset:0}.rd-top-bg{display:none}.rd-top-in{align-items:center;gap:14px;margin-bottom:20px;display:flex;position:relative}.rd-top-av{color:#1d1d1f;letter-spacing:.3px;background:linear-gradient(#e8e8ed,#d1d1d6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:15px;font-weight:500;display:flex;box-shadow:inset 0 1px #fffc}.rd-top-txt{flex:1;min-width:0}.rd-top-name{letter-spacing:-.3px;color:#1d1d1f;margin:0 0 1px;font-size:20px;font-weight:500;line-height:1.25}.rd-top-role{letter-spacing:.2px;color:#86868b;background:#00000008;border:1px solid #0000000a;border-radius:5px;align-items:center;margin-bottom:2px;padding:1px 10px;font-size:10px;font-weight:500;transition:all .2s;display:inline-flex}.rd-top-role[data-role=Администратор]{color:#38bdf8;background:#38bdf81a;border-color:#38bdf826}.rd-top-role[data-role=Тех\.администратор]{color:#fb923c;background:#fb923c1a;border-color:#fb923c26}.rd-top-role[data-role=Мастер]{color:#34d399;background:#34d3991a;border-color:#34d39926}.rd-top-time{color:#86868b;letter-spacing:.15px;margin-top:3px;font-size:11px;display:block}.rd-top .gradient-name{-webkit-text-fill-color:transparent;background:linear-gradient(270deg,#0f172a 0%,#6366f1 25%,#22d3ee 50%,#818cf8 75%,#0f172a 100%) 0 0/400% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;animation:6s ease-in-out infinite nameFlow;display:inline-block}.rd-top-stats{align-items:center;padding-top:16px;display:flex;position:relative}.rd-top-stat{text-align:center;flex:1;animation:.5s cubic-bezier(.16,1,.3,1) both tdS}.rd-top-stat-n{color:#1d1d1f;letter-spacing:-.3px;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-height:22px;font-size:20px;font-weight:500;line-height:1.2;display:flex}.rd-top-stat-l{color:#86868b;letter-spacing:.3px;white-space:nowrap;margin-top:1px;font-size:9px;font-weight:400;display:block}.rd-top-stat-n .stat-load{align-items:center;gap:4px;height:20px;display:inline-flex}.rd-top-stat-n .stat-load span{background:#c7c7cc;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite tdB}.rd-top-stat-n .stat-load span:nth-child(2){animation-delay:.2s}.rd-top-stat-n .stat-load span:nth-child(3){animation-delay:.4s}.rd-top-d{background:#0000000f;flex-shrink:0;width:1px;height:24px;margin:0 8px}.rd-body{width:100%}.rd-h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:11px;font-weight:600;animation:.4s cubic-bezier(.16,1,.3,1) both tdS;display:block}.rd-g{flex-wrap:wrap;gap:8px;display:flex}.rd-c{-webkit-backdrop-filter:blur(20px)saturate(1.3);backdrop-filter:blur(20px)saturate(1.3);cursor:pointer;text-align:center;background:linear-gradient(#ffffff1f 0%,#ffffff08 100%);border:1px solid #0000000f;border-radius:16px;flex-direction:column;flex:1 0 72px;align-items:center;gap:6px;padding:16px 8px 14px;transition:all .25s cubic-bezier(.16,1,.3,1);animation:.4s cubic-bezier(.16,1,.3,1) both tdS;display:flex;position:relative;overflow:hidden}.rd-c:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(135deg,#ffffff14 0%,#0000 50%);border-radius:16px;transition:opacity .25s;position:absolute;inset:0}.rd-c:hover:before{opacity:1}.rd-c:first-child{animation-delay:80ms}.rd-c:nth-child(2){animation-delay:.12s}.rd-c:nth-child(3){animation-delay:.16s}.rd-c:nth-child(4){animation-delay:.2s}.rd-c:nth-child(5){animation-delay:.24s}.rd-c:nth-child(6){animation-delay:.28s}.rd-c:nth-child(7){animation-delay:.32s}.rd-c:nth-child(8){animation-delay:.36s}.rd-c:hover{border-color:#ffffff59;transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.rd-c:active{transform:scale(.95)}.rd-ci{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .25s;display:flex}.rd-c:hover .rd-ci{transform:scale(1.1);color:#fff!important}.rd-ci svg{width:17px;height:17px}.rd-ct{color:var(--text-primary);white-space:nowrap;font-size:10px;font-weight:600;line-height:1.2;transition:color .2s}.admin-page{max-width:960px;margin:0 auto}.admin-tabs{scrollbar-width:none;gap:6px;margin-bottom:24px;padding:0 0 4px;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f4f9;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:flex}.admin-tab:hover{color:#0f2444;background:#e2e8f0}.admin-tab.active{color:#fff;background:#0f2444;box-shadow:0 2px 12px #0f244440}.admin-tab svg{flex-shrink:0;width:18px;height:18px}.admin-grid{flex-direction:column;gap:16px;display:flex}.admin-card{background:#fff;border:1px solid #eef0f4;border-radius:16px;transition:box-shadow .15s;overflow:hidden;box-shadow:0 2px 12px #0000000a}.admin-card:hover{box-shadow:0 4px 20px #00000012}.admin-card-danger{border-color:#fee2e2}.admin-card-head{color:#0f2444;border-bottom:1px solid #f0f2f5;align-items:center;gap:10px;padding:16px 20px;font-size:16px;font-weight:700;display:flex}.admin-card-head svg{color:#1e5bb8;flex-shrink:0;width:22px;height:22px}.admin-card-danger .admin-card-head,.admin-card-danger .admin-card-head svg{color:#dc2626}.admin-card-body{padding:16px 20px 20px}.admin-add-student-form{flex-direction:column;gap:14px;display:flex}.admin-add-student-row{gap:12px;display:flex}.admin-add-student-row .admin-field{flex:1}.admin-add-student-btn{border-radius:12px;justify-content:center;gap:8px;width:100%;padding:12px;font-size:14px}.admin-field-optional{opacity:.5;font-size:12px;font-weight:400}@media (max-width:600px){.admin-add-student-row{flex-direction:column;gap:0}}.admin-desc{color:#64748b;margin-bottom:14px;font-size:13px;line-height:1.5}.admin-field-row{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.admin-field-row:last-child{margin-bottom:0}.admin-field{flex-direction:column;flex:1;gap:4px;min-width:140px;display:flex}.admin-field label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.admin-field select,.admin-field input[type=text],.admin-field input[type=date]{color:#0f2444;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.admin-field select:focus,.admin-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-field select option{color:#0f2444}.admin-check-row{margin:10px 0}.admin-check{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.admin-check input[type=checkbox]{cursor:pointer;accent-color:#1e5bb8;width:16px;height:16px}.admin-export-btns{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.admin-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:inline-flex}.admin-btn:hover{color:#0f2444;background:#f8fafc;border-color:#cbd5e1}.admin-btn:active{transform:scale(.97)}.admin-btn-primary{color:#fff;background:#0f2444;border-color:#0f2444}.admin-btn-primary:hover{color:#fff;background:#1a3660;border-color:#1a3660}.admin-btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.admin-btn-danger:hover{color:#fff;background:#b91c1c;border-color:#b91c1c}.admin-btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.admin-btn-accent:hover{background:var(--accent-hover,#6366f1);border-color:var(--accent-hover,#6366f1);color:#fff}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn svg{flex-shrink:0;width:16px;height:16px}.admin-toggle{background:#f1f4f9;border-radius:10px;gap:4px;margin-bottom:14px;padding:3px;display:flex}.admin-toggle button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s}.admin-toggle button.on{color:#0f2444;background:#fff;box-shadow:0 1px 4px #00000014}.admin-import-area{text-align:center;padding:8px 0}.admin-upload-zone{cursor:pointer;border:2px dashed #e2e8f0;border-radius:16px;padding:32px 20px;transition:all .15s;position:relative}.admin-upload-zone:hover{background:#f8fafc;border-color:#3b82f6}.admin-upload-zone p{color:#94a3b8;margin-top:8px;font-size:14px}.admin-upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.admin-import-google{gap:10px;display:flex}.admin-import-google input{border:1.5px solid #e2e8f0;border-radius:10px;outline:none;flex:1;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.admin-import-google input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-sheets{margin-top:14px}.admin-sheets label{color:#475569;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.admin-sheet-list{flex-wrap:wrap;gap:6px;display:flex}.admin-sheet-opt{cursor:pointer;color:#475569;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s}.admin-sheet-opt:hover{color:#1e40af;border-color:#3b82f6}.admin-sheet-opt.sel{color:#fff;background:#0f2444;border-color:#0f2444}.admin-result{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:14px;display:flex}.load-more-wrap{justify-content:center;padding:20px 0 8px;display:flex}.load-more-btn{color:#475569;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;padding:10px 28px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.load-more-btn:hover{color:#4f46e5;background:#f8faff;border-color:#4f46e5;transform:translateY(-1px)}.load-more-btn svg{transition:transform .15s}.load-more-btn:hover svg{transform:translateY(2px)}.vc{flex-direction:column;gap:16px;display:flex;position:relative}.vc-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.vc-top-info{align-items:center;gap:12px;display:flex}.vc-top-icon{color:#fff;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.vc-top-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.vc-top-desc{color:var(--text-muted);margin:2px 0 0;font-size:12px}.vc-top-actions{gap:6px;display:flex}.vc-btn{border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:5px;padding:7px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.vc-btn:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.vc-btn:active{transform:scale(.97)}.vc-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.vc-btn-p{background:var(--accent);border-color:var(--accent);color:#fff}.vc-btn-p:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;box-shadow:0 3px 10px #6366f140}.vc-btn-c{color:#fff;background:#22c55e;border-color:#22c55e}.vc-btn-c:hover{color:#fff;background:#16a34a;border-color:#16a34a;box-shadow:0 3px 10px #22c55e40}.vc-compare-bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.vc-sel{flex:1;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.vc-sel-placeholder{color:var(--text-muted)}.vc-sel-one{color:var(--accent);font-size:12px;font-weight:600}.vc-sel-two{flex-wrap:wrap;align-items:center;gap:5px;font-weight:600;display:flex}.vc-sel-tag{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#6366f11a;border-radius:5px;max-width:140px;padding:2px 8px;font-size:10px;font-weight:700;overflow:hidden}.vc-diff{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;animation:.3s cubic-bezier(.16,1,.3,1) both diffSlideIn;overflow:hidden}.vc-diff-h{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.vc-diff-h-title{color:var(--text-primary);flex:1;font-size:13px;font-weight:700}.vc-diff-h-actions{align-items:center;gap:6px;display:flex}.vc-diff-h-info{gap:5px;font-family:SF Mono,Cascadia Code,JetBrains Mono,monospace;font-size:11px;font-weight:700;display:flex}.vc-diff-h-add{color:#22c55e}.vc-diff-h-del{color:#dc2626}.vc-diff-h-chg{color:#f59e0b}.vc-diff-copy{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex}.vc-diff-copy:hover{color:var(--accent);background:#6366f11a}.vc-diff-h-close{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex}.vc-diff-h-close:hover{color:#dc2626;background:#ef44441a}.vc-diff-body,.vc-diff-body.scroll{max-height:70vh;overflow-y:auto}.vc-diff-body::-webkit-scrollbar{width:6px}.vc-diff-body::-webkit-scrollbar-track{background:0 0}.vc-diff-body::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.vc-diff-body::-webkit-scrollbar-thumb:hover{background:#00000040}.vc-diff-file{border-bottom:1px solid var(--border)}.vc-diff-file:last-child{border-bottom:none}.vc-diff-file.empty .vc-diff-file-h{cursor:default;border-bottom:none}.vc-diff-file-h{background:var(--bg-elevated);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:9px 14px;transition:background .12s;display:flex}.vc-diff-file-h:hover{background:var(--bg-muted)}.vc-diff-file-h-left{align-items:center;gap:8px;min-width:0;display:flex}.vc-diff-file-h-left svg{color:var(--text-muted);flex-shrink:0}.vc-diff-file-name{color:var(--text-primary);font-size:12px;font-weight:700}.vc-diff-file-badge{gap:4px;margin-left:4px;display:flex}.vc-file-b-add{color:#22c55e;font-family:SF Mono,monospace;font-size:10px;font-weight:700}.vc-file-b-del{color:#dc2626;font-family:SF Mono,monospace;font-size:10px;font-weight:700}.vc-file-b-chg{color:#f59e0b;font-family:SF Mono,monospace;font-size:10px;font-weight:700}.vc-diff-file-h-right{align-items:center;gap:8px;display:flex}.vc-diff-file-counts{align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.vc-diff-file-old{color:#dc2626}.vc-diff-file-new{color:#22c55e}.vc-diff-file-counts svg{color:var(--text-muted)}.vc-diff-chevron{color:var(--text-muted);align-items:center;transition:transform .2s;display:flex}.vc-diff-chevron.down{transform:rotate(180deg)}.vc-diff-lines-wrap{border-bottom:1px solid var(--border);overflow:hidden}.vc-diff-lines{font-family:SF Mono,Cascadia Code,JetBrains Mono,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.vc-diff-line{align-items:center;min-height:22px;padding:0 12px;transition:background .1s;animation:.25s both diffLineIn;display:flex}.vc-diff-line.add{background:#22c55e0f}.vc-diff-line.add:hover{background:#22c55e1f}.vc-diff-line.del{background:#ef44440d}.vc-diff-line.del:hover{background:#ef44441a}.vc-diff-line.chg{background:#f59e0b0f}.vc-diff-line.chg:hover{background:#f59e0b1f}.vc-diff-line-prefix{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:18px;font-size:11px;font-weight:700}.vc-diff-line.add .vc-diff-line-prefix{color:#22c55e}.vc-diff-line.del .vc-diff-line-prefix{color:#dc2626}.vc-diff-line.chg .vc-diff-line-prefix{color:#f59e0b}.vc-diff-line-num{text-align:right;width:28px;color:var(--text-muted);-webkit-user-select:none;user-select:none;opacity:.4;flex-shrink:0;padding-right:10px;font-size:10px}.vc-diff-line-code{color:var(--text-primary);white-space:pre;padding:1px 0}.vc-grp{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.vc-grp-name{color:var(--text-primary);align-items:center;gap:4px;font-weight:600;display:inline-flex}.vc-grp-arrow{color:var(--accent);opacity:.7}.vc-grp-stats{align-items:center;gap:3px;margin-left:4px;font-family:SF Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.vc-grp-s-act{color:#22c55e;background:#22c55e1a;border-radius:4px;padding:0 5px;line-height:16px}.vc-grp-s-exp{color:#dc2626;background:#ef44441a;border-radius:4px;padding:0 5px;line-height:16px}.vc-grp-s-acd{color:#f59e0b;background:#f59e0b1a;border-radius:4px;padding:0 5px;line-height:16px}.vc-grp-s-tot{color:var(--text-muted);padding:0 4px;font-size:9px}.vc-diff-nochanges{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;padding:14px;font-size:12px;font-style:italic;display:flex}.vc-diff-nochanges svg{color:#22c55e}.vc-diff-pages{background:var(--bg-surface);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:flex}.vc-page-btn{border:1px solid var(--border);background:var(--bg-card);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex}.vc-page-btn:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary);border-color:var(--accent)}.vc-page-btn:disabled{opacity:.3;cursor:not-allowed}.vc-page-btn svg.up{transform:rotate(180deg)}.vc-page-info{color:var(--text-primary);text-align:center;min-width:70px;font-family:SF Mono,monospace;font-size:11px;font-weight:600}.vc-page-total{color:var(--text-muted);font-weight:400}.vc-page-size{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:5px;outline:none;margin-left:4px;padding:3px 6px;font-family:inherit;font-size:10px;font-weight:600}.vc-sections{flex-direction:column;gap:16px;display:flex}.vc-section{flex-direction:column;gap:8px;display:flex}.vc-section-h{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:2px 4px 4px;font-size:11px;font-weight:700;display:flex}.vc-section-h svg{color:var(--text-muted);flex-shrink:0}.vc-section-count{background:var(--bg-muted);color:var(--text-muted);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.vc-list{flex-direction:column;gap:3px;display:flex}.vc-item{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;transition:all .15s;animation:.3s both diffLineIn;display:flex;position:relative;overflow:hidden}.vc-item:before{content:"";background:0 0;border-radius:0 2px 2px 0;width:3px;transition:background .2s;position:absolute;top:0;bottom:0;left:0}.vc-item:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.vc-item:active{transform:translateY(0)}.vc-item.sel{border-color:var(--accent);background:#6366f10d;box-shadow:0 0 0 1px #6366f126,0 4px 16px #6366f114}.vc-item.sel:before{background:var(--accent)}.vc-item-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.vc-item-radio{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.vc-item.sel .vc-item-radio{border-color:var(--accent);background:var(--accent);transform:scale(1.05);box-shadow:0 0 0 3px #6366f126}.vc-item-radio svg{color:#fff;transition:transform .15s}.vc-item.sel .vc-item-radio svg{transform:scale(1)}.vc-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.vc-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.vc-item-date{color:var(--text-muted);align-items:center;gap:4px;font-size:10px;display:flex}.vc-item-date svg{color:var(--text-muted);width:10px;height:10px}.vc-item-stats{background:var(--bg-muted);border-radius:8px;flex-shrink:0;gap:6px;padding:2px 6px;display:flex}.vc-item-stat{color:var(--text-muted);align-items:center;gap:3px;font-size:10px;font-weight:600;display:inline-flex}.vc-item-stat svg{color:var(--text-muted);width:10px;height:10px}.vc-item-stat.is-manual,.vc-item-stat.is-manual svg{color:var(--accent)}.vc-sub-empty{color:var(--text-muted);background:var(--bg-card);border:1.5px dashed var(--border);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:20px;font-size:12px;display:flex}.vc-sub-empty svg{color:var(--text-muted);width:14px;height:14px}.vc-empty{color:var(--text-muted);background:var(--bg-card);border:1.5px dashed var(--border);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 32px;font-size:13px;display:flex}.vc-empty svg{color:var(--text-muted);opacity:.5;width:24px;height:24px}.vc-loading{text-align:center;color:var(--text-muted);padding:32px;font-size:13px}.vc-hint{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:12px;display:flex}.vc-diff::-webkit-scrollbar{width:6px}.vc-diff::-webkit-scrollbar-track{background:0 0}.vc-diff::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.vc-diff::-webkit-scrollbar-thumb:hover{background:#0003}@keyframes diffSlideIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes diffLineIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.topbar-controls{flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.topbar-spacer{flex:1}.gbt-left,.gbt-right{flex:1;align-items:center;gap:8px;display:flex}.gbt-left{justify-content:flex-start}.gbt-right{justify-content:flex-end}.cs-wrap{-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:200px;position:relative}.cs-trigger{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e5e5e5;border-radius:100px;align-items:center;gap:8px;height:44px;padding:0 16px;transition:all .15s;display:flex}.cs-trigger:hover{background:#fafafa;border-color:#d4d4d8}.cs-wrap.open .cs-trigger,.cs-trigger:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.cs-val{color:#18181b;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;overflow:hidden}.cs-ph{color:#a1a1aa;flex:1;font-size:14px;font-weight:400}.cs-arrow{color:#a1a1aa;flex-shrink:0;transition:transform .2s}.cs-arrow.open{transform:rotate(180deg)}.cs-drop{z-index:1200;background:#fff;border:1px solid #e5e5e5;border-radius:12px;min-width:100%;max-height:300px;animation:.12s ease-out csOpen;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden auto;box-shadow:0 8px 30px #00000014}@keyframes csOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cs-search-wrap{z-index:1;background:#fff;padding:8px 8px 4px;position:sticky;top:0}.cs-search{box-sizing:border-box;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:all .15s}.cs-search:focus{background:#fff;border-color:#6366f1}.cs-opt{color:#52525b;cursor:pointer;padding:10px 16px;font-size:14px;font-weight:500;transition:background 80ms}.cs-opt:hover{background:#f5f5f5}.cs-opt.sel{color:#18181b;background:#f0f0f0;font-weight:600}.cs-opt:first-child{border-radius:12px 12px 0 0}.cs-opt:last-child{border-radius:0 0 12px 12px}.cs-opt-sel{color:#18181b;font-weight:600}.cs-empty{text-align:center;color:#a1a1aa;padding:16px;font-size:14px}.modal-overlay .glass-input::placeholder{color:#fff6}[data-theme=dark] .content-inner{background:0 0}[data-theme=dark] .card{background:var(--bg-card);border:1px solid var(--border-light)}[data-theme=dark] .field .value{color:var(--text-primary)}[data-theme=dark] .field input,[data-theme=dark] .field input[type=text],[data-theme=dark] .field input[type=number],[data-theme=dark] .field input[type=date]{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .field input:focus{background:var(--bg-input-focus);border-color:var(--accent)}[data-theme=dark] .modal-content{background:var(--bg-surface);border:1px solid var(--border)}[data-theme=dark] .modal-header-name{color:var(--text-primary)}[data-theme=dark] .modal-tab{color:var(--text-muted);border-color:var(--border-light);background:0 0}[data-theme=dark] .modal-tab:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .modal-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff}[data-theme=dark] .modal-close,[data-theme=dark] .modal-expand{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .modal-close:hover,[data-theme=dark] .modal-expand:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .modal-badge{color:var(--text-primary)}[data-theme=dark] .modal-badge.paid{color:#6ee7b7;background:#10b9811f}[data-theme=dark] .modal-badge.target{color:#a5b4fc;background:#6366f11f}[data-theme=dark] .modal-badge.employed{color:#fde68a;background:#fbbf241f}[data-theme=dark] .modal-badge.academic{color:#fdba74;background:#fb923c1f}[data-theme=dark] .modal-badge.graduated{color:#86efac;background:#34d3991f}[data-theme=dark] .modal-badge.expelled{color:#fca5a5;background:#f871711f}[data-theme=dark] .modal-fields .field .checkbox-label{color:var(--text-primary)}[data-theme=dark] .checkbox-track{background:#3a3a5a}[data-theme=dark] .btn-cancel{background:var(--bg-muted);color:var(--text-muted);border-color:var(--border)}[data-theme=dark] .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover))}[data-theme=dark] body.modal-maximized .modal-tabs,[data-theme=dark] .modal-tabs{background:var(--bg-card);border-bottom-color:var(--border-light);border-top-color:var(--border-light)}[data-theme=dark] body.modal-maximized .modal-actions,[data-theme=dark] .modal-actions{border-top-color:var(--border-light)}[data-theme=dark] .att-nav{background:var(--bg-muted)}[data-theme=dark] .att-nav-btn,[data-theme=dark] .att-nav-btn:hover{color:var(--text-muted);background:0 0}[data-theme=dark] .att-nav-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}[data-theme=dark] .att-nav-month{color:var(--text-primary)}[data-theme=dark] .att-nav-year{color:var(--text-muted)}[data-theme=dark] .att-nav-today{color:var(--accent)}[data-theme=dark] .att-nav-today:hover{background:#818cf81f}[data-theme=dark] .att-day.present{background:var(--success-bg)}[data-theme=dark] .att-day.present .att-day-num{color:var(--success)}[data-theme=dark] .att-day.sick{background:var(--warning-bg)}[data-theme=dark] .att-day.sick .att-day-num{color:var(--warning)}[data-theme=dark] .att-day.dayoff{background:var(--bg-muted)}[data-theme=dark] .att-day.dayoff .att-day-num{color:var(--text-muted)}[data-theme=dark] .att-day.absent{background:var(--error-bg)}[data-theme=dark] .att-day.absent .att-day-num{color:var(--error)}[data-theme=dark] .att-day.nodata{background:var(--bg-muted)}[data-theme=dark] .att-day.nodata .att-day-num{color:var(--text-dim)}[data-theme=dark] .att-day.sel{box-shadow:0 0 0 2px var(--accent)}[data-theme=dark] .att-day.drag{background:#818cf826}[data-theme=dark] .att-day.drag .att-day-num{color:var(--accent)}[data-theme=dark] .att-legend{border-top-color:var(--border-light)}[data-theme=dark] .att-legend-item{color:var(--text-muted)}[data-theme=dark] .att-dot.present{background:var(--success-bg);border-color:#4ade804d}[data-theme=dark] .att-dot.sick{background:var(--warning-bg);border-color:#fbbf244d}[data-theme=dark] .att-dot.dayoff{background:var(--bg-muted);border-color:var(--border)}[data-theme=dark] .att-dot.absent{background:var(--error-bg);border-color:#f871714d}[data-theme=dark] .att-dot.nodata{background:var(--bg-muted);border-color:var(--border)}[data-theme=dark] .att-dot.range{border-color:var(--accent);background:#818cf826}[data-theme=dark] .att-field input[type=date]{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .att-field label{color:var(--text-muted)}[data-theme=dark] .att-pdf-btn{background:linear-gradient(135deg,var(--accent),var(--accent-hover))}[data-theme=dark] .att-pp{background:var(--bg-card)}[data-theme=dark] .att-pp-date{color:var(--text-muted)}[data-theme=dark] .att-pp-btn.present{background:var(--success-bg);color:var(--success)}[data-theme=dark] .att-pp-btn.sick{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .att-pp-btn.dayoff{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .att-pp-btn.absent{background:var(--error-bg);color:var(--error)}[data-theme=dark] .att-pp-btn.remove{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .att-pp-btn.cancel{background:var(--bg-muted);color:var(--text-muted);border-color:var(--border)}[data-theme=dark] .gc-table{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .gc-row{border-bottom-color:var(--border-light)}[data-theme=dark] .gc-cell{border-right-color:var(--border-light);color:var(--text-secondary)}[data-theme=dark] .gc-cell.hdr,[data-theme=dark] .gc-cell.num{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .gc-cell.name{color:var(--text-primary)}[data-theme=dark] .gc-cell.present{background:var(--success-bg);color:var(--success)}[data-theme=dark] .gc-cell.sick{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .gc-cell.dayoff{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .gc-cell.absent{background:var(--error-bg);color:var(--error)}[data-theme=dark] .gc-cell.u0438u0442u043eu0433u043e{background:var(--bg-muted);color:var(--text-primary)}[data-theme=dark] .gc-legend{color:var(--text-muted);border-top-color:var(--border-light)}[data-theme=dark] .gc-dot.present{background:var(--success-bg);border-color:#4ade804d}[data-theme=dark] .gc-dot.sick{background:var(--warning-bg);border-color:#fbbf244d}[data-theme=dark] .gc-dot.dayoff{background:var(--bg-muted);border-color:var(--border)}[data-theme=dark] .gc-dot.absent{background:var(--error-bg);border-color:#f871714d}[data-theme=dark] .gc-dot.empty{background:var(--bg-surface);border-color:var(--border)}[data-theme=dark] .gc-download{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .gc-download:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .gc-head{color:var(--text-primary)}[data-theme=dark] .gc-head-date,[data-theme=dark] .date-picker label{color:var(--text-muted)}[data-theme=dark] .date-picker input[type=date]{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .date-picker input[type=date]:focus{background:var(--bg-input-focus);border-color:var(--accent)}[data-theme=dark] .history-item{background:var(--bg-elevated);border-color:#ffffff0a}[data-theme=dark] .history-item:hover{background:var(--bg-hover);border-color:#ffffff14}[data-theme=dark] .history-date{color:var(--text-primary)}[data-theme=dark] .history-clear-btn{background:#ef444414;border-color:#ef444426}[data-theme=dark] .history-clear-btn:hover{background:#ef444426}[data-theme=dark] .history-field{color:var(--accent);background:#818cf81f}[data-theme=dark] .history-delete-btn{color:#ffffff4d}[data-theme=dark] .history-delete-btn:hover{color:#f87171;background:#ef444426}[data-theme=dark] .history-count{color:var(--text-muted)}[data-theme=dark] .empty-state{color:var(--text-dim)}[data-theme=dark] .batch-actions .action-btn,[data-theme=dark] .action-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .action-btn:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .table-wrap table{background:var(--bg-card)}[data-theme=dark] .table-wrap thead th{background:var(--bg-muted);color:var(--text-muted);border-bottom-color:var(--border)}[data-theme=dark] .table-wrap tbody td{border-bottom:1px solid var(--border);color:var(--text-primary)}[data-theme=dark] .table-wrap tbody tr:hover{background:var(--bg-elevated)}[data-theme=dark] .table-wrap .row-num{color:var(--text-muted);background:var(--bg-muted)}[data-theme=dark] .sc-header{background:linear-gradient(135deg,#15152a,#1f1f3a 100%)}[data-theme=dark] .sc-section{background:var(--bg-surface)}[data-theme=dark] .sc-attendance{background:var(--bg-elevated)}[data-theme=dark] .sc-att-label{color:var(--text-primary)}[data-theme=dark] .sc-att-btn.on{background:var(--success-bg);color:var(--success)}[data-theme=dark] .sc-att-btn.off{background:var(--error-bg);color:var(--error)}[data-theme=dark] .sc-field{background:var(--bg-surface)}[data-theme=dark] .sc-export-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .sc-export-btn:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .status-card{background:var(--bg-elevated)}[data-theme=dark] .status-pill{background:var(--bg-surface);color:var(--text-muted);border-color:var(--border)}[data-theme=dark] .status-pill.on{background:var(--error-bg);color:var(--error);border-color:#f871714d}[data-theme=dark] .status-pill.on.academic{background:var(--warning-bg);color:var(--warning);border-color:#fbbf244d}[data-theme=dark] .status-details{border-top-color:var(--border)}[data-theme=dark] .status-field label{color:var(--text-muted)}[data-theme=dark] .status-field input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .status-field input:focus{background:var(--bg-input-focus);border-color:var(--accent)}[data-theme=dark] .draft-banner{color:#fde68a;background:#fbbf241a;border-color:#fbbf2433}[data-theme=dark] .draft-banner button{color:#fde68a}[data-theme=dark] .draft-banner button:hover{background:#fbbf241a}[data-theme=dark] .sc-count,[data-theme=dark] .calendar-controls button{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .attendance-calendar{background:var(--bg-card);border:1px solid var(--border)}[data-theme=dark] .cal-day.nodata{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .cal-day.all-present{background:linear-gradient(135deg,#16a34a,#15803d)}[data-theme=dark] .cal-day.partial{background:linear-gradient(135deg,#d97706,#b45309)}[data-theme=dark] .cal-day.all-absent{background:linear-gradient(135deg,#dc2626,#b91c1c)}[data-theme=dark] .cal-header{color:var(--text-muted)}[data-theme=dark] .calendar-month{color:var(--text-primary)}[data-theme=dark] .cs-trigger,[data-theme=dark] .gb-top-search{background:var(--bg-surface);border-color:var(--border)}[data-theme=dark] .gb-top-search input{color:var(--text-primary)}[data-theme=dark] .cs-val{color:var(--text-primary)!important}[data-theme=dark] .cs-ph{color:var(--text-muted)}[data-theme=dark] .cs-opt.sel{background:var(--bg-elevated);color:var(--text-primary)}[data-theme=dark] .m-student{background:var(--bg-card);border:1px solid var(--border-light)}[data-theme=dark] .m-student.expelled{border-left-color:var(--error);background:#dc262614}[data-theme=dark] .m-student .m-name{color:var(--text-primary)}[data-theme=dark] .m-student .m-details{border-top-color:var(--border-light);color:var(--text-muted)}[data-theme=dark] .m-student .m-details .m-val{color:var(--text-primary)}[data-theme=dark] .m-student .m-chevron{color:var(--text-dim)}[data-theme=dark] .m-student .m-num{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .export-section{background:var(--bg-card);border:1px solid var(--border)}[data-theme=dark] .export-section h3{color:var(--text-primary)}[data-theme=dark] .export-desc{color:var(--text-muted)}[data-theme=dark] .export-row select,[data-theme=dark] .export-row input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .export-row label{color:var(--text-primary)}[data-theme=dark] .s-badge.expelled{background:var(--error-bg);color:var(--error);border-color:#f871714d}[data-theme=dark] .s-badge.academic{background:var(--warning-bg);color:var(--warning);border-color:#fbbf244d}[data-theme=dark] .row-expelled{background:#f871710d!important}[data-theme=dark] .row-expelled:hover{background:#f871711a!important}[data-theme=dark] .row-academic{background:#fbbf240d!important}[data-theme=dark] .row-academic:hover{background:#fbbf241a!important}[data-theme=dark] .secondary{background:var(--bg-muted);color:var(--text-muted);border-color:var(--border)}[data-theme=dark] .secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .topbar{background:var(--bg-surface);border-bottom-color:var(--border-light)}[data-theme=dark] .topbar h1{color:var(--text-primary)}[data-theme=dark] .date-pill{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .gbt-left,[data-theme=dark] .gbt-right{color:var(--text-muted)}[data-theme=dark] .sc-avatar{background:linear-gradient(135deg,var(--accent),#a78bfa)}[data-theme=dark] .sc-name{color:#fff}[data-theme=dark] .sc-group{color:var(--text-muted)}[data-theme=dark] .sc-tag.expelled{background:var(--error-bg);color:var(--error)}[data-theme=dark] .sc-tag.academic{background:var(--warning-bg);color:var(--warning)}[data-theme=dark] .confirm-modal{background:var(--bg-card)}[data-theme=dark] .confirm-text{color:var(--text-primary)}[data-theme=dark] .confirm-no{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .confirm-yes{background:var(--accent);color:#fff}[data-theme=dark] .admin-page,[data-theme=dark] .admin-tabs{background:0 0}[data-theme=dark] .admin-tab{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .admin-tab:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .admin-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff}[data-theme=dark] .admin-tab svg{stroke:currentColor}[data-theme=dark] .admin-card{background:var(--bg-card);border:1px solid var(--border)}[data-theme=dark] .admin-card-danger{border-color:#f8717133}[data-theme=dark] .admin-card-head{color:var(--text-primary);border-bottom:1px solid var(--border)}[data-theme=dark] .admin-card-head svg{color:var(--accent)}[data-theme=dark] .admin-card-danger .admin-card-head,[data-theme=dark] .admin-card-danger .admin-card-head svg{color:var(--error)}[data-theme=dark] .admin-desc{color:var(--text-secondary)}[data-theme=dark] .admin-field label{color:var(--text-muted)}[data-theme=dark] .admin-field select,[data-theme=dark] .admin-field input[type=text],[data-theme=dark] .admin-field input[type=date]{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .admin-field select:focus,[data-theme=dark] .admin-field input:focus{border-color:var(--accent)}[data-theme=dark] .admin-check{color:var(--text-secondary)}[data-theme=dark] .admin-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .admin-btn:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .admin-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .admin-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}[data-theme=dark] .admin-btn-danger{background:var(--error);border-color:var(--error);color:#fff}[data-theme=dark] .admin-btn-danger:hover{background:#dc2626;border-color:#dc2626}[data-theme=dark] .admin-toggle{background:var(--bg-muted)}[data-theme=dark] .admin-toggle button{color:var(--text-muted)}[data-theme=dark] .admin-toggle button.on{background:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .admin-upload-zone{border-color:var(--border)}[data-theme=dark] .admin-upload-zone:hover{border-color:var(--accent);background:#818cf80d}[data-theme=dark] .admin-upload-zone p{color:var(--text-muted)}[data-theme=dark] .admin-import-google input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .admin-import-google input:focus{border-color:var(--accent)}[data-theme=dark] .admin-sheets label{color:var(--text-muted)}[data-theme=dark] .admin-sheet-opt{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .admin-sheet-opt:hover{border-color:var(--accent);color:var(--accent)}[data-theme=dark] .admin-sheet-opt.sel{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .admin-result{background:var(--success-bg);color:var(--success);border-color:#4ade8033}[data-theme=dark] .vc-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .vc-btn:hover{background:var(--bg-muted);color:var(--text-primary)}[data-theme=dark] .vc-btn-p{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .vc-btn-p:hover{background:var(--accent-hover);border-color:var(--accent-hover)}[data-theme=dark] .vc-compare-bar{background:var(--bg-surface);border-color:var(--border)}[data-theme=dark] .vc-item{background:var(--bg-elevated);border-color:var(--border)}[data-theme=dark] .vc-item:hover{border-color:var(--accent);background:#818cf80f}[data-theme=dark] .vc-item.sel{border-color:var(--accent);background:#818cf81a}[data-theme=dark] .vc-item-radio{border-color:#fff3}[data-theme=dark] .vc-diff{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .vc-diff-h{background:var(--bg-surface);border-color:var(--border)}[data-theme=dark] .vc-diff-file-h{background:var(--bg-muted);border-color:var(--border)}[data-theme=dark] .vc-diff-line.add{background:#22c55e14}[data-theme=dark] .vc-diff-line.add:hover{background:#22c55e24}[data-theme=dark] .vc-diff-line.del{background:#f871710f}[data-theme=dark] .vc-diff-line.del:hover{background:#f871711f}[data-theme=dark] .vc-info{background:#818cf814;border-color:#818cf826}[data-theme=dark] .vc-sub-empty{border-color:var(--border)}[data-theme=dark] .load-more-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .load-more-btn:hover{border-color:var(--accent);color:var(--accent);background:#818cf80d}[data-theme=dark] .add-modal{background:var(--bg-card)}[data-theme=dark] .add-modal-header h2{color:var(--text-primary)}[data-theme=dark] .add-modal-header p,[data-theme=dark] .add-field label{color:var(--text-muted)}[data-theme=dark] .add-field input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .add-field input:focus{border-color:var(--accent);background:var(--bg-input-focus)}[data-theme=dark] .add-btn.cancel{background:var(--bg-muted);color:var(--text-muted)}[data-theme=dark] .add-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .add-btn.submit{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff}[data-theme=dark] .add-modal-icon{color:var(--accent);background:#818cf81f}[data-theme=dark] .batch-present{background:var(--success-bg);color:var(--success)}[data-theme=dark] .batch-absent{background:var(--error-bg);color:var(--error)}[data-theme=dark] .sc-fields{background:var(--border-light)}[data-theme=dark] .sc-field-value{color:var(--text-primary)}[data-theme=dark] .sc-field-value.accent{color:var(--accent)}[data-theme=dark] .sc-hist-item:hover{background:var(--bg-hover)}[data-theme=dark] .sc-hist-date{color:var(--text-muted)}[data-theme=dark] .sc-hist-item.ok .sc-hist-label{color:var(--success)}[data-theme=dark] .sc-hist-item.no .sc-hist-label{color:var(--error)}[data-theme=dark] .sc-hist-more{color:var(--text-muted)}[data-theme=dark] .sc-empty{color:var(--text-dim)}[data-theme=dark] .modal-fields>.field{background:var(--bg-elevated)}[data-theme=dark] .modal-fields-actions .action-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .modal-fields-actions .action-btn:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--text-muted)}[data-theme=dark] .modal-actions{border-top-color:var(--border-light)}[data-theme=dark] .modal-section .field input,[data-theme=dark] .modal-section .field input[type=text],[data-theme=dark] .modal-section .field input[type=number],[data-theme=dark] .modal-section .field input[type=date]{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .modal-section .field input:focus{border-color:var(--accent)}[data-theme=dark] .toggle-switch:hover{background:var(--bg-hover)}[data-theme=dark] .toggle-track{background:#3a3a5a}[data-theme=dark] .toggle-switch input:checked+.toggle-track{background:var(--accent)}[data-theme=dark] .toggle-label{color:var(--text-primary)}[data-theme=dark] .td-chart-wrap{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .td-chart-axis{border-top-color:var(--border-light)}[data-theme=dark] .td-c{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .td-c:hover{border-color:var(--text-muted)}[data-theme=dark] .td-ct{color:var(--text-primary)}[data-theme=dark] .td-cb-bar{background:linear-gradient(#4a5568,#6b7280);box-shadow:3px 3px 8px #00000040,-1px -1px 4px #ffffff0d}[data-theme=dark] .rd-h2{color:var(--text-muted)}[data-theme=dark] .rd-c{background:var(--bg-card);border:1px solid var(--border)}[data-theme=dark] .rd-ct,[data-theme=dark] .td-sub-title{color:var(--text-primary)}[data-theme=dark] .td-sub-back{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .td-sub-back:hover{background:var(--bg-muted);border-color:var(--text-muted);color:var(--text-primary)}[data-theme=dark] .td-sub-add{background:linear-gradient(135deg,var(--accent),var(--accent-hover))}[data-theme=dark] .td-users-empty{background:var(--bg-card);border-color:var(--border-light);color:var(--text-muted)}[data-theme=dark] .td-urow{background:var(--bg-card);border-color:var(--border-light)}[data-theme=dark] .td-urow:hover{border-color:var(--text-muted)}[data-theme=dark] .td-urow-name{color:var(--text-primary)}[data-theme=dark] .td-urow-meta{color:var(--text-muted)}[data-theme=dark] .td-urow-btn{color:var(--text-dim)}[data-theme=dark] .td-urow-btn:hover{color:var(--accent);background:#818cf81f}[data-theme=dark] .td-urow-btn-d:hover{background:var(--error-bg);color:var(--error)}[data-theme=dark] .td-edit-card{background:var(--bg-card);border-color:var(--border-light)}[data-theme=dark] .td-edit-h{color:var(--text-primary);border-bottom-color:var(--border-light)}[data-theme=dark] .td-edit-h svg{color:var(--accent)}[data-theme=dark] .td-edit-f label{color:var(--text-muted)}[data-theme=dark] .td-edit-f input,[data-theme=dark] .td-edit-f select{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .td-edit-f input:focus,[data-theme=dark] .td-edit-f select:focus{border-color:var(--accent)}[data-theme=dark] .td-edit-f input:disabled{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .td-ec{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .td-ec.on{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .td-ec:hover:not(.on){border-color:var(--text-muted)}[data-theme=dark] .td-edit-f2{border-top-color:var(--border-light)}[data-theme=dark] .td-edit-btn-p{background:linear-gradient(135deg,var(--accent),var(--accent-hover))}[data-theme=dark] .td-edit-btn-s{background:var(--bg-surface);color:var(--text-muted);border-color:var(--border)}[data-theme=dark] .td-edit-btn-s:hover{background:var(--bg-muted);color:var(--text-primary)}@keyframes skShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.breadcrumbs{flex-wrap:wrap;align-items:center;gap:2px;padding:8px 24px 10px;font-size:12.5px;display:flex}.bc-part{align-items:center;gap:6px;display:inline-flex}.bc-home{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bc-home{color:color-mix(in srgb, var(--accent) 60%, var(--text-muted))}}.bc-home{opacity:.8;flex-shrink:0}.bc-sep{width:14px;height:14px;color:var(--text-dim);flex-shrink:0}.bc-link{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:12.5px;font-weight:500;transition:all .15s}.bc-link:hover{color:var(--accent);background:var(--bg-hover)}.bc-link:active{transform:scale(.97)}.bc-current{color:var(--text-primary);white-space:nowrap;padding:4px 10px;font-size:12.5px;font-weight:600}.show-hidden-wrap{justify-content:center;margin-bottom:20px;display:flex}.show-hidden-btn{border:1.5px dashed var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:20px;align-items:center;gap:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.show-hidden-btn:hover{border-color:var(--accent);color:var(--accent)}.show-hidden-btn.active{border:1.5px solid var(--border);background:var(--bg-surface);color:var(--accent)}.show-hidden-btn.active:hover{background:var(--bg-elevated)}[data-theme=dark] .show-hidden-btn{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .show-hidden-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-theme=dark] .show-hidden-btn.active{background:var(--bg-surface);border-color:var(--border);color:var(--accent)}[data-theme=dark] .show-hidden-btn.active:hover{background:#818cf814}[data-theme=dark] .cal-day.no-data{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .cal-day.today.no-data{box-shadow:inset 0 0 0 2px var(--accent)}[data-theme=dark] .m-badge.target{color:var(--accent);background:#818cf81f}[data-theme=dark] .m-badge.employed{color:var(--warning);background:#fbbf241f}[data-theme=dark] .m-badge.expelled{color:var(--error);background:#f871711f}[data-theme=dark] .m-badge.paid{color:#5eead4;background:#14b8a61f}[data-theme=dark] .m-badge.academic{color:#fdba74;background:#f973161f}[data-theme=dark] .ent-cell{color:var(--text-muted)}[data-theme=dark] .ent-none{color:var(--text-dim)}[data-theme=dark] tr.expelled-row td{background:#f871710d!important}[data-theme=dark] tr.expelled-row:hover td{background:#f871711a!important}[data-theme=dark] .calendar-day{background:var(--bg-muted);color:var(--text-secondary)}[data-theme=dark] .calendar-day.present{background:var(--success)}[data-theme=dark] .calendar-day.absent{background:var(--error)}[data-theme=dark] .calendar-header{color:var(--text-muted)}[data-theme=dark] .calendar-legend{border-top-color:var(--border-light)}[data-theme=dark] .legend-item{color:var(--text-muted)}[data-theme=dark] .legend-color.unknown{background:var(--bg-muted)}[data-theme=dark] .sc-att-indicator.on{background:var(--success);box-shadow:0 0 8px #4ade804d}[data-theme=dark] .sc-att-indicator.off{background:var(--error);box-shadow:0 0 8px #f871714d}[data-theme=dark] .s-note.expelled{color:var(--error)}[data-theme=dark] .s-note.academic{color:var(--warning)}[data-theme=dark] .table-wrap{background:var(--bg-card);border:none}[data-theme=dark] .table-wrap tbody tr:nth-child(2n) td{background:#ffffff05}[data-theme=dark] .table-wrap tbody tr:hover td,[data-theme=dark] .table-wrap tbody tr:nth-child(2n):hover td{background:var(--bg-elevated)!important}[data-theme=dark] .table-wrap tbody tr:not(.group-sep):hover{border-left-color:var(--accent)}[data-theme=dark] .table-wrap .edit-btn{color:var(--text-dim)}[data-theme=dark] .table-wrap .edit-btn:hover,[data-theme=dark] .group-tag{color:var(--accent);background:#818cf81f}[data-theme=dark] .m-sep{color:var(--accent)}[data-theme=dark] .m-sep:before,[data-theme=dark] .m-sep:after{background:linear-gradient(90deg,#0000,#818cf833,#0000)}[data-theme=dark] .td-cache-card{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=dark] .td-cache-name{color:var(--text-primary)!important}[data-theme=dark] .td-cache-bar-wrap{background:var(--bg-muted)!important}[data-theme=dark] .td-cache-nums{color:var(--text-muted)!important}.td-w{-webkit-backdrop-filter:blur(40px)saturate(1.6)!important;background:#ffffffd9!important;border-color:#6366f11a!important;box-shadow:0 8px 32px #6366f10f,0 2px 8px #00000008,inset 0 1px #ffffffe6!important}.td-w:before{background:linear-gradient(#0000 40%,#6366f105)!important}.td-w:after{background:linear-gradient(135deg,#6366f11a,#0000 40% 60%,#6366f10d)!important}.td-w:hover{background:#ffffffeb!important;border-color:#6366f133!important;box-shadow:0 16px 48px #6366f114,0 4px 12px #0000000a!important}.td-w-shine{background:linear-gradient(90deg,#0000,#6366f108,#0000)!important}.td-w-subj{color:#1e1b4b66!important}.td-w-db .td-w-subj{color:#6366f199!important}.td-w-up .td-w-subj{color:#10b98199!important}.td-w-cpu .td-w-subj{color:#d9770699!important}.td-w-ram .td-w-subj{color:#06b6d499!important}.td-w-stat{color:#1e1b4b!important}.td-w-unit{color:#1e1b4b59!important}.td-w-badge{color:#6366f180!important;background:#6366f114!important}.td-w-db .td-w-badge{color:#6366f1!important;background:#6366f11f!important}.td-w-db .td-w-ico{background:linear-gradient(135deg,#818cf826,#6366f10d)!important;border:1px solid #818cf81f!important}.td-w-db .td-w-ico svg{color:#6366f1!important}.td-w-up .td-w-ico{background:linear-gradient(135deg,#34d39926,#10b9810d)!important;border:1px solid #34d3991f!important}.td-w-up .td-w-ico svg{color:#059669!important}.td-w-cpu .td-w-ico{background:linear-gradient(135deg,#fbbf2426,#f59e0b0d)!important;border:1px solid #fbbf241f!important}.td-w-cpu .td-w-ico svg{color:#d97706!important}.td-w-ram .td-w-ico{background:linear-gradient(135deg,#22d3ee26,#06b6d40d)!important;border:1px solid #22d3ee1f!important}.td-w-ram .td-w-ico svg{color:#0891b2!important}.td-w-arc{background:#6366f114!important}.td-w-arc-fill:after{background:linear-gradient(90deg,#0000,#ffffff80)!important}.td-w-bar-c{background:#6366f10f!important}.td-w-dot{background:#6366f11a!important}.td-w-dot:nth-child(3n){background:#f59e0b80!important}.td-w-dot:nth-child(3n+1){background:#8b5cf680!important}.td-w-ft{color:#1e1b4b4d!important}.td-w-ft span:last-child{color:#1e1b4b2e!important}.td-w-wave-p{stroke:#06b6d433!important}.td-w-wave-p-2{stroke:#06b6d459!important}.td-top-av{box-shadow:0 4px 14px #6366f140,inset 0 1px #ffffff80!important}[data-theme=dark] .td-w{background:#0c0c1c99!important;border-color:#ffffff0d!important;box-shadow:0 20px 60px #00000026,inset 0 1px #ffffff0f!important}[data-theme=dark] .td-w:before{background:linear-gradient(#0000 40%,#ffffff05)!important}[data-theme=dark] .td-w:after{background:linear-gradient(135deg,#ffffff14,#0000 40% 60%,#ffffff0a)!important}[data-theme=dark] .td-w:hover{background:#121223b3!important;border-color:#ffffff1f!important;box-shadow:0 28px 80px #0003,inset 0 1px #ffffff14!important}[data-theme=dark] .td-w-shine{background:linear-gradient(90deg,#0000,#ffffff0a,#0000)!important}[data-theme=dark] .td-w-subj{color:#ffffff4d!important}[data-theme=dark] .td-w-db .td-w-subj{color:#818cf899!important}[data-theme=dark] .td-w-up .td-w-subj{color:#34d39999!important}[data-theme=dark] .td-w-cpu .td-w-subj{color:#fbbf2499!important}[data-theme=dark] .td-w-ram .td-w-subj{color:#22d3ee99!important}[data-theme=dark] .td-w-stat{color:#fff!important}[data-theme=dark] .td-w-unit{color:#ffffff4d!important}[data-theme=dark] .td-w-badge{color:#ffffff80!important;background:#ffffff0f!important}[data-theme=dark] .td-w-db .td-w-badge{color:#a5b4fc!important;background:#818cf81f!important}[data-theme=dark] .td-w-db .td-w-ico{background:linear-gradient(135deg,#818cf84d,#6366f114)!important;border:1px solid #818cf826!important}[data-theme=dark] .td-w-db .td-w-ico svg{color:#a5b4fc!important}[data-theme=dark] .td-w-up .td-w-ico{background:linear-gradient(135deg,#34d3994d,#10b98114)!important;border:1px solid #34d39926!important}[data-theme=dark] .td-w-up .td-w-ico svg{color:#6ee7b7!important}[data-theme=dark] .td-w-cpu .td-w-ico{background:linear-gradient(135deg,#fbbf244d,#f59e0b14)!important;border:1px solid #fbbf2426!important}[data-theme=dark] .td-w-cpu .td-w-ico svg{color:#fcd34d!important}[data-theme=dark] .td-w-ram .td-w-ico{background:linear-gradient(135deg,#22d3ee4d,#06b6d414)!important;border:1px solid #22d3ee26!important}[data-theme=dark] .td-w-ram .td-w-ico svg{color:#67e8f9!important}[data-theme=dark] .td-w-arc{background:#ffffff0f!important}[data-theme=dark] .td-w-arc-fill:after{background:linear-gradient(90deg,#0000,#ffffff4d)!important}[data-theme=dark] .td-w-bar-c{background:#ffffff0a!important}[data-theme=dark] .td-w-dot{background:#ffffff14!important}[data-theme=dark] .td-w-dot:nth-child(3n){background:#fbbf2499!important}[data-theme=dark] .td-w-dot:nth-child(3n+1){background:#a78bfa99!important}[data-theme=dark] .td-w-ft{color:#fff3!important}[data-theme=dark] .td-w-ft span:last-child{color:#ffffff1a!important}[data-theme=dark] .td-w-wave-p{stroke:#22d3ee1f!important}[data-theme=dark] .td-w-wave-p-2{stroke:#22d3ee40!important}[data-theme=dark] .content-inner.view-dashboard:before{background:radial-gradient(680px 440px at 15% 20%,#38bdf847 0%,#0000 55%),radial-gradient(600px 400px at 78% 28%,#a78bfa38 0%,#0000 50%),radial-gradient(500px 360px at 45% 72%,#22d3ee2e 0%,#0000 50%),radial-gradient(400px 300px at 92% 55%,#f472b624 0%,#0000 50%)}[data-theme=dark] .rd-top{-webkit-backdrop-filter:blur(60px)saturate(1.6);backdrop-filter:blur(60px)saturate(1.6);color:#f5f5f7;background:#0f14282e;border-color:#ffffff1a;box-shadow:0 8px 32px #0003,inset 0 1px #ffffff0d}[data-theme=dark] .rd-top:after{background:linear-gradient(#ffffff0d 0%,#0000 40%)}[data-theme=dark] .rd-top-name{color:#f5f5f7}[data-theme=dark] .rd-top-role[data-role=Администратор]{color:#7dd3fc;background:#38bdf826;border-color:#38bdf833}[data-theme=dark] .rd-top-role[data-role=Тех\.администратор]{color:#fdba74;background:#fb923c26;border-color:#fb923c33}[data-theme=dark] .rd-top-role[data-role=Мастер]{color:#6ee7b7;background:#34d39926;border-color:#34d39933}[data-theme=dark] .rd-top-time{color:#ffffff40}[data-theme=dark] .rd-top-stats{border-top-color:#ffffff0f}[data-theme=dark] .rd-top-stat-n{color:#f5f5f7}[data-theme=dark] .rd-top-stat-l{color:#ffffff40}[data-theme=dark] .rd-top-stat-n .stat-load span{background:#ffffff26}[data-theme=dark] .rd-top-d{background:#ffffff0a}[data-theme=dark] .rd-top .gradient-name{-webkit-text-fill-color:transparent;background:linear-gradient(270deg,#f5f5f7 0%,#818cf8 25%,#22d3ee 50%,#a78bfa 75%,#f5f5f7 100%) 0 0/400% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;animation:6s ease-in-out infinite nameFlow;display:inline-block}[data-theme=dark] .rd-top-av{color:#ffffffb3;background:linear-gradient(#ffffff14,#ffffff08);box-shadow:inset 0 1px #ffffff0f}[data-theme=dark] .td-top .gradient-name{-webkit-text-fill-color:transparent;background:linear-gradient(270deg,#f5f5f7 0%,#818cf8 25%,#22d3ee 50%,#a78bfa 75%,#f5f5f7 100%) 0 0/400% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;animation:6s ease-in-out infinite nameFlow;display:inline-block}[data-theme=dark] .td-top{-webkit-backdrop-filter:blur(60px)saturate(1.6);backdrop-filter:blur(60px)saturate(1.6);color:#f5f5f7;background:#0f14282e;border-color:#ffffff1a;box-shadow:0 8px 32px #0003,inset 0 1px #ffffff0d}[data-theme=dark] .td-top:after{background:linear-gradient(#ffffff0d 0%,#0000 40%)}[data-theme=dark] .rd-body{background:0 0}[data-theme=dark] .rd-g .rd-c{-webkit-backdrop-filter:blur(30px)saturate(1.5);backdrop-filter:blur(30px)saturate(1.5);background:linear-gradient(#ffffff0f 0%,#ffffff04 100%);border-color:#ffffff0f}[data-theme=dark] .rd-c:hover{background:linear-gradient(#ffffff17 0%,#ffffff05 100%);border-color:#ffffff1f}[data-theme=dark] .td-c{-webkit-backdrop-filter:blur(30px)saturate(1.5);backdrop-filter:blur(30px)saturate(1.5);background:linear-gradient(#ffffff0f 0%,#ffffff04 100%);border-color:#ffffff0f}[data-theme=dark] .td-c:hover{background:linear-gradient(#ffffff17 0%,#ffffff05 100%);border-color:#ffffff1f}[data-theme=dark] .td-ci,.rd-ci{color:#fff6;background:#ffffff0a}[data-theme=dark] .td-c[data-view=admin] .td-ci,[data-theme=dark] .rd-c[data-view=admin] .rd-ci,[data-theme=dark] .rd-c[data-view=master] .rd-ci{color:#818cf8;background:#6366f126}[data-theme=dark] .td-c[data-view=adminGroups] .td-ci,[data-theme=dark] .rd-c[data-view=adminGroups] .rd-ci{color:#22d3ee;background:#06b6d426}[data-theme=dark] .td-c[data-view=gradebook] .td-ci,[data-theme=dark] .rd-c[data-view=gradebook] .rd-ci{color:#4ade80;background:#22c55e26}[data-theme=dark] .td-c[data-view=adminPanel] .td-ci,[data-theme=dark] .rd-c[data-view=adminPanel] .rd-ci{color:#a78bfa;background:#8b5cf626}[data-theme=dark] .td-c[data-view=masters] .td-ci,[data-theme=dark] .rd-c[data-view=masters] .rd-ci{color:#f472b6;background:#ec489926}[data-theme=dark] .td-c[data-view=news] .td-ci{color:#fbbf24;background:#eab30826}[data-theme=dark] .td-c[data-view=users] .td-ci{color:#a78bfa;background:#8b5cf626}[data-theme=dark] .td-c[data-view=simulation] .td-ci{color:#fbbf24;background:#f59e0b26}[data-theme=dark] .td-c[data-view=tickets] .td-ci{color:#f87171;background:#eb575726}[data-theme=dark] .td-c[data-view=logs] .td-ci{color:#22d3ee;background:#02b8cc26}[data-theme=dark] .rd-g .rd-ct{color:var(--text-primary)}[data-theme=dark] .bottom-nav{background:var(--bg-elevated);border-top-color:var(--border)}[data-theme=dark] .td-h2{color:var(--text-primary)}[data-theme=dark] .td-chart-badge,[data-theme=dark] .td-cb-lbl,[data-theme=dark] .td-chart-axis-v{color:var(--text-muted)}[data-theme=dark] .group-card{background:var(--bg-card)}[data-theme=dark] .group-card:hover{background:var(--bg-elevated)}[data-theme=dark] .group-card .name{color:var(--text-primary)}[data-theme=dark] .group-card .count{color:var(--text-muted)}[data-theme=dark] .group-card .group-icon{color:var(--accent)}[data-theme=dark] .gs-modal{background:var(--bg-card)}[data-theme=dark] .gs-modal input,[data-theme=dark] .gs-modal textarea{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .gs-modal label{color:var(--text-muted)}[data-theme=dark] .gs-send-btn{background:var(--accent);color:#fff}[data-theme=dark] .gi-modal{background:var(--bg-card)}[data-theme=dark] .gi-item{background:var(--bg-elevated)}[data-theme=dark] .gi-item:hover{background:var(--bg-hover)}[data-theme=dark] .gi-item-name{color:var(--text-primary)}[data-theme=dark] .gi-item-date{color:var(--text-muted)}[data-theme=dark] .gh-modal{background:var(--bg-card)}[data-theme=dark] .gh-body{color:var(--text-primary)}[data-theme=dark] .gh-section{border-bottom-color:var(--border-light)}[data-theme=dark] .gpk-tag{background:var(--bg-surface);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .gpk-tag:hover{border-color:var(--accent);color:var(--accent)}[data-theme=dark] .gi-count{color:var(--text-muted)}[data-theme=dark] .course-section .sep{background:var(--border-light)}[data-theme=dark] .group-sep-header:before,[data-theme=dark] .group-sep-header:after{background:linear-gradient(90deg,#0000,#818cf833,#0000)}[data-theme=dark] .group-sep-header:after{background:linear-gradient(270deg,#0000,#818cf833,#0000)}[data-theme=dark] .group-sep-name{color:var(--accent);background:#818cf81a}[data-theme=dark] .data-management{background:#fbbf240d!important;border-color:#fbbf2433!important}[data-theme=dark] .topbar-controls input,[data-theme=dark] .topbar-controls select{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .export-errors{background:var(--error-bg);color:var(--error);border-color:#f8717133}[data-theme=dark] .modal-overlay{background:#0009}[data-theme=dark] .cs-trigger{background:var(--bg-surface)!important;border-color:var(--border)!important}[data-theme=dark] .cs-trigger:hover{background:var(--bg-muted)!important}[data-theme=dark] .cs-drop{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=dark] .cs-search-wrap{background:var(--bg-card)!important}[data-theme=dark] .cs-search{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .cs-search:focus{background:var(--bg-input-focus)!important;border-color:var(--accent)!important}[data-theme=dark] .cs-opt{color:var(--text-secondary)!important}[data-theme=dark] .cs-opt.sel,[data-theme=dark] .cs-opt-sel{color:var(--text-primary)!important}[data-theme=dark] .cs-opt:hover{background:var(--bg-hover)!important}[data-theme=dark] .cs-empty{color:var(--text-muted)!important}[data-theme=dark] .us{background:var(--bg-card)!important;border-color:var(--border-light)!important}[data-theme=dark] .us-head{color:var(--text-primary)!important}[data-theme=dark] .us-head:hover{background:var(--bg-hover)!important}[data-theme=dark] .us-head svg{color:var(--accent)!important}[data-theme=dark] .us-count{color:var(--text-muted)!important;background:var(--bg-muted)!important}[data-theme=dark] .us-add{background:var(--accent)!important}[data-theme=dark] .us-add:hover{background:var(--accent-hover)!important}[data-theme=dark] .us-chev{color:var(--text-dim)!important}[data-theme=dark] .us-row:hover{background:var(--bg-hover)!important}[data-theme=dark] .us-name{color:var(--text-primary)!important}[data-theme=dark] .us-meta{color:var(--text-muted)!important}[data-theme=dark] .us-perms,[data-theme=dark] .us-edit{color:var(--text-dim)!important}[data-theme=dark] .us-edit:hover{color:var(--accent)!important;background:#818cf81f!important}[data-theme=dark] .us-del{color:var(--text-dim)!important}[data-theme=dark] .us-del:hover{background:var(--error-bg)!important;color:var(--error)!important}[data-theme=dark] .umm{background:var(--bg-card)!important}[data-theme=dark] .umm-h{color:var(--text-primary)!important;border-bottom-color:var(--border-light)!important}[data-theme=dark] .umm-h svg{color:var(--accent)!important}[data-theme=dark] .umm-x{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .umm-x:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .umm-f label{color:var(--text-muted)!important}[data-theme=dark] .umm-f input,[data-theme=dark] .umm-f select{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .umm-f input:focus,[data-theme=dark] .umm-f select:focus{border-color:var(--accent)!important}[data-theme=dark] .umm-c{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .umm-c.on{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}[data-theme=dark] .umm-c:hover:not(.on){border-color:var(--text-muted)!important}[data-theme=dark] .umm-foot{border-top-color:var(--border-light)!important}[data-theme=dark] .umm-btn-p{background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important;color:#fff!important}[data-theme=dark] .umm-btn-c{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .umm-btn-c:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .lm-modal{background:var(--bg-card)!important}[data-theme=dark] .lm-page{background:var(--bg-card)!important;border-color:var(--border-light)!important}[data-theme=dark] .lm-head{color:var(--text-primary)!important;border-bottom-color:var(--border-light)!important}[data-theme=dark] .lm-head svg{color:var(--accent)!important}[data-theme=dark] .lm-x{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .lm-x:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .lm-filter{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .lm-filter.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}[data-theme=dark] .lm-filter:hover:not(.active){border-color:var(--text-muted)!important}[data-theme=dark] .lm-count{color:var(--text-muted)!important}[data-theme=dark] .lm-clear{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--error)!important}[data-theme=dark] .lm-clear:hover{background:var(--error-bg)!important;border-color:var(--error)!important}[data-theme=dark] .lm-empty{color:var(--text-muted)!important}[data-theme=dark] .lm-item{background:var(--bg-elevated)!important;border-color:var(--border-light)!important}[data-theme=dark] .lm-user{color:var(--text-primary)!important}[data-theme=dark] .lm-time{color:var(--text-muted)!important}[data-theme=dark] .lm-del{color:var(--text-dim)!important}[data-theme=dark] .lm-del:hover{background:var(--error-bg)!important;color:var(--error)!important}[data-theme=dark] .lm-detail{color:var(--text-secondary)!important}[data-theme=dark] .mp{background:var(--bg-card)!important;border-color:var(--border-light)!important}[data-theme=dark] .mp-head{color:var(--text-primary)!important;border-bottom-color:var(--border-light)!important}[data-theme=dark] .mp-head svg{color:var(--accent)!important}[data-theme=dark] .mp-side{border-right-color:var(--border-light)!important}[data-theme=dark] .mp-side-title{color:var(--text-muted)!important}[data-theme=dark] .mp-item:hover{background:var(--bg-hover)!important}[data-theme=dark] .mp-item.sel{background:#818cf81f!important}[data-theme=dark] .mp-item-name{color:var(--text-primary)!important}[data-theme=dark] .mp-item-login{color:var(--text-muted)!important}[data-theme=dark] .mp-main-title{color:var(--text-primary)!important}[data-theme=dark] .mp-chip{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .mp-chip:hover{border-color:var(--accent)!important;color:var(--accent)!important;background:#818cf80d!important}[data-theme=dark] .mp-chip.on{border-color:var(--success)!important;background:var(--success-bg)!important;color:var(--success)!important}[data-theme=dark] .mp-save{background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important;color:#fff!important}[data-theme=dark] .mp-hint{color:var(--text-muted)!important}[data-theme=dark] .tm-modal{background:var(--bg-card)!important}[data-theme=dark] .tm-page{background:var(--bg-card)!important;border-color:var(--border-light)!important}[data-theme=dark] .tm-head{color:var(--text-primary)!important;border-bottom-color:var(--border-light)!important}[data-theme=dark] .tm-head svg{color:var(--accent)!important}[data-theme=dark] .tm-x{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .tm-x:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .tm-empty{color:var(--text-muted)!important}[data-theme=dark] .tm-card{border-color:var(--border-light)!important}[data-theme=dark] .tm-card:hover{border-color:var(--text-muted)!important}[data-theme=dark] .tm-card-subj{color:var(--text-primary)!important}[data-theme=dark] .tm-card-meta{color:var(--text-muted)!important}[data-theme=dark] .tm-card-preview{color:var(--text-secondary)!important}[data-theme=dark] .tm-back{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .tm-back:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .tm-subj{color:var(--text-primary)!important}[data-theme=dark] .tm-meta{color:var(--text-muted)!important}[data-theme=dark] .tm-msg{color:var(--text-secondary)!important;background:var(--bg-elevated)!important;border-color:var(--border-light)!important}[data-theme=dark] .tm-reply-input{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .tm-reply-input:focus{border-color:var(--accent)!important}[data-theme=dark] .tm-btn-primary{background:var(--accent)!important;color:#fff!important}[data-theme=dark] .tm-btn-primary:hover{background:var(--accent-hover)!important}[data-theme=dark] .tm-btn-green{background:var(--success)!important;color:#fff!important}[data-theme=dark] .tm-btn-green:hover{background:#3b8f56!important}[data-theme=dark] .tm-btn-gray{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .tm-btn-gray:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .tm-btn-red{background:var(--error-bg)!important;color:var(--error)!important}[data-theme=dark] .tm-btn-red:hover{background:#f8717133!important}[data-theme=dark] .tm-photo{border-color:var(--border)!important}[data-theme=dark] .tm-photo-btn{border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .tm-photo-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important;background:#818cf80d!important}[data-theme=dark] .tm-photo-name{background:var(--error-bg)!important;color:var(--error)!important}[data-theme=dark] .tm-del-btn{background:var(--bg-surface)!important;border-color:var(--error-bg)!important;color:var(--error)!important}[data-theme=dark] .tm-del-btn:hover{background:var(--error-bg)!important}[data-theme=dark] .gpk{background:0 0!important}[data-theme=dark] .gp-head-date{color:var(--text-muted)!important}[data-theme=dark] .gp-head-name{color:var(--text-primary)!important}[data-theme=dark] .gp-x{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .gp-x:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .gp-section-title{color:var(--text-muted)!important}[data-theme=dark] .gp-grade-btn{background:var(--bg-surface)!important;border-color:var(--border)!important}[data-theme=dark] .gp-grade-btn:hover{border-color:var(--text-muted)!important;background:var(--bg-hover)!important}[data-theme=dark] .gp-grade-sym{color:var(--text-muted)!important}[data-theme=dark] .gp-grade-desc{color:var(--text-dim)!important}[data-theme=dark] .gp-grade-btn.on .gp-grade-desc{color:var(--text-muted)!important}[data-theme=dark] .gp-clear-all{border-color:var(--border)!important;color:var(--text-dim)!important}[data-theme=dark] .gp-clear-all:hover{background:var(--bg-hover)!important;border-color:var(--text-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .gp-grade-input{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .gp-grade-input:focus{border-color:var(--accent)!important}[data-theme=dark] .gp-input-btn{background:var(--accent)!important;color:#fff!important}[data-theme=dark] .gp-input-btn:hover{background:var(--accent-hover)!important}[data-theme=dark] .pt-root{background:var(--bg-card)!important;border-color:var(--border-light)!important}[data-theme=dark] .pt-bar{background:var(--bg-elevated)!important}[data-theme=dark] .pt-btn{color:var(--text-muted)!important}[data-theme=dark] .pt-btn:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .pt-btn.active{color:var(--accent)!important}[data-theme=dark] .pt-month-label{color:var(--text-primary)!important}[data-theme=dark] .logout-text{color:var(--text-muted)!important}[data-theme=dark] .logout-text:hover,[data-theme=dark] .btn{color:var(--text-primary)!important}[data-theme=dark] .field{border-bottom-color:var(--border-light)!important}[data-theme=dark] .field label{color:var(--text-muted)!important}[data-theme=dark] .logout-card{background:var(--bg-card)!important}[data-theme=dark] .logout-card p{color:var(--text-secondary)!important}[data-theme=dark] .confirm-actions .confirm-btn{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .confirm-actions .confirm-btn.confirm-yes{background:var(--accent)!important;color:#fff!important}[data-theme=dark] .tag.target{color:var(--accent);background:#818cf81f}[data-theme=dark] .tag.target:before{background:var(--accent)}[data-theme=dark] .tag.not-target{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .tag.employed{background:var(--success-bg);color:var(--success)}[data-theme=dark] .tag.employed:before{background:var(--success)}[data-theme=dark] .tag.not-employed{background:var(--bg-muted);color:var(--text-dim)}[data-theme=dark] .tag.expelled{background:var(--error-bg);color:var(--error)}[data-theme=dark] .tag.expelled:before{background:var(--error)}[data-theme=dark] .icn.yes{background:var(--success);box-shadow:0 0 0 2px var(--success-bg)}[data-theme=dark] .icn.no{background:var(--text-dim)}[data-theme=dark] .icn.expelled{background:var(--error);box-shadow:0 0 0 2px var(--error-bg)}[data-theme=dark] .icn.target{background:var(--accent);box-shadow:0 0 0 2px #818cf833}[data-theme=dark] .icn.paid{background:#14b8a6;box-shadow:0 0 0 2px #14b8a633}[data-theme=dark] .icn.employed{background:var(--warning);box-shadow:0 0 0 2px var(--warning-bg)}[data-theme=dark] .icn.academic{background:#f97316;box-shadow:0 0 0 2px #f9731633}[data-theme=dark] .icn-text.yes{color:var(--success)}[data-theme=dark] .icn-text.no{color:var(--text-dim)}[data-theme=dark] .icn-text.expelled{color:var(--error)}[data-theme=dark] .icn-text.target{color:var(--accent)}[data-theme=dark] .icn-text.paid{color:#14b8a6}[data-theme=dark] .icn-text.employed{color:var(--warning)}[data-theme=dark] .icn-text.academic{color:#f97316}[data-theme=dark] .stat-sub{color:var(--text-muted)}[data-theme=dark] .value .trend-up,[data-theme=dark] .trend-up{color:#4ade80}[data-theme=dark] .value .trend-down,[data-theme=dark] .trend-down{color:#fb7185}[data-theme=dark] .stat-add-btn{background:var(--bg-surface);border-color:var(--border);color:var(--accent)}[data-theme=dark] .stat-add-btn:hover{border-color:var(--accent);background:#818cf814}[data-theme=dark] .search-wrap input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #818cf81f}[data-theme=dark] .search-wrap input::placeholder,[data-theme=dark] .search-wrap .search-icon{color:var(--text-dim)}[data-theme=dark] .multi-select-trigger{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .multi-select-placeholder{color:var(--text-muted)}[data-theme=dark] .multi-select-count{color:var(--accent)}[data-theme=dark] .multi-select-arrow{color:var(--text-dim)}[data-theme=dark] .multi-select-dropdown{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .multi-select-option{color:var(--text-primary)}[data-theme=dark] .multi-select-option:hover{background:var(--bg-hover)}[data-theme=dark] .multi-select-check{border-color:var(--border)}[data-theme=dark] .multi-select-check.checked{background:var(--accent);border-color:var(--accent)}.set{max-width:600px;margin:0 auto;padding:0 4px}.set-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.set-grid .set-section{margin-bottom:0}.set-grid .set-section:first-child{grid-column:1/-1}.set-profile{align-items:center;gap:16px;margin-bottom:0;padding:24px 20px;display:flex}.set-av-wrap{cursor:pointer;border-radius:50%;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden;box-shadow:0 2px 12px #6366f126}.set-av-img{object-fit:cover;width:100%;height:100%;display:block}.set-av-initials{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#6366f1,#818cf8);justify-content:center;align-items:center;width:100%;height:100%;font-size:22px;font-weight:800;display:flex}.set-av-overlay{opacity:0;color:#fff;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.set-av-wrap:hover .set-av-overlay{opacity:1}.set-av-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.6s linear infinite setSpin}@keyframes setSpin{to{transform:rotate(360deg)}}.set-profile-info{flex:1;min-width:0}.set-profile-name{color:#18181b;font-size:17px;font-weight:700;line-height:1.2}.set-profile-role{color:#94a3b8;margin-top:3px;font-size:13px}.set-av-remove{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;font-family:inherit;font-size:11.5px;font-weight:500;transition:background .12s;display:inline-flex}.set-av-remove:hover{background:#ef444414}.set-section{margin-bottom:16px}.set-section-label{color:#94a3b8;margin-bottom:6px;padding:0 16px;font-size:12.5px;font-weight:600}.set-card{background:#fff;border-radius:14px;overflow:hidden}.set-item{cursor:pointer;align-items:center;gap:12px;padding:13px 16px;transition:background .1s;display:flex}.set-item:active{background:#f5f5f5}.set-item-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.set-item-body{flex:1;min-width:0}.set-item-title{color:#18181b;font-size:14px;font-weight:500;line-height:1.3}.set-item-sub{color:#94a3b8;margin-top:1px;font-size:12px}.set-sep{background:#f0f0f0;height:1px;margin:0 16px}.set-chevron{color:silver;flex-shrink:0;transition:transform .2s}.set-chevron.open{transform:rotate(90deg)}.set-sw{cursor:pointer;flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.set-sw input{opacity:0;width:0;height:0;position:absolute}.set-sw-t{background:#e4e4e7;border-radius:13px;transition:background .2s;position:absolute;inset:0}.set-sw-th{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000001f}.set-sw input:checked~.set-sw-t{background:#6366f1}.set-sw input:checked~.set-sw-t .set-sw-th{transform:translate(20px)}.set-font-btns{flex-shrink:0;gap:3px;display:flex}.set-font-btn{color:#71717a;cursor:pointer;background:#f4f4f5;border:1.5px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-weight:600;transition:all .15s;display:flex}.set-font-btn.on{color:#fff;background:#6366f1;border-color:#6366f1;box-shadow:0 2px 8px #6366f140}.set-font-btn:not(.on):hover{color:#333;background:#eee}.set-pw-expand{flex-direction:column;gap:8px;padding:0 16px 14px;animation:.2s ease-out setExpandIn;display:flex}@keyframes setExpandIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.set-input{color:#18181b;box-sizing:border-box;background:#fafafa;border:1.5px solid #e5e5e5;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.set-input:focus{background:#fff;border-color:#6366f1}.set-input::placeholder{color:#a3a3a3}.set-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;width:100%;padding:11px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s;box-shadow:0 2px 10px #6366f140}.set-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.set-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}[data-theme=dark] .set-profile-name{color:var(--text-primary)}[data-theme=dark] .set-profile-role{color:var(--text-muted)}[data-theme=dark] .set-av-remove{color:var(--error)}[data-theme=dark] .set-av-remove:hover{background:var(--error-bg)}[data-theme=dark] .set-card{background:var(--bg-card)}[data-theme=dark] .set-item:active{background:var(--bg-elevated)}[data-theme=dark] .set-item-title{color:var(--text-primary)}[data-theme=dark] .set-item-sub{color:var(--text-muted)}[data-theme=dark] .set-sep{background:var(--border)}[data-theme=dark] .set-chevron{color:var(--text-dim)}[data-theme=dark] .set-section-label{color:var(--text-muted)}[data-theme=dark] .set-sw-t{background:#3a3a5a}[data-theme=dark] .set-sw-th{background:var(--bg-surface)}[data-theme=dark] .set-font-btn{background:var(--bg-elevated);color:var(--text-muted)}[data-theme=dark] .set-font-btn:not(.on):hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .set-font-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=dark] .set-input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .set-input:focus{border-color:var(--accent);background:var(--bg-input-focus)}[data-theme=dark] .set-input::placeholder{color:var(--text-dim)}[data-theme=dark] .set-btn{background:linear-gradient(135deg,var(--accent),var(--accent-hover))}.set-about-expand{padding:0 16px 14px;animation:.2s ease-out setExpandIn}.set-about-grid{background:#fafafa;border:1px solid #e8e8ec;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.set-about-row{align-items:center;gap:10px;padding:11px 14px;display:flex}.set-about-row+.set-about-row{border-top:1px solid #f0f0f4}.set-about-label{color:#94a3b8;flex-shrink:0;min-width:90px;font-size:12px}.set-about-val{color:#18181b;flex:1;font-size:13px;font-weight:500}.set-about-badge{color:#6366f1;background:#6366f114;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}[data-theme=dark] .set-about-grid{background:var(--bg-elevated);border-color:var(--border)}[data-theme=dark] .set-about-row+.set-about-row{border-top-color:var(--border)}[data-theme=dark] .set-about-label{color:var(--text-dim)}[data-theme=dark] .set-about-val{color:var(--text-primary)}[data-theme=dark] .set-about-badge{color:var(--accent);background:#818cf81f}.sm-modal{background:#fff;border-radius:20px;flex-direction:column;width:92vw;max-width:540px;max-height:85vh;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;overflow:hidden;box-shadow:0 25px 80px #00000038}.sm-header{border-bottom:1px solid #f0f2f5;flex-shrink:0;align-items:center;gap:14px;padding:20px 24px;display:flex}.sm-header-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.sm-header-icon{color:#fff;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #6366f133}.sm-header-title{color:#0f172a;font-size:17px;font-weight:700;line-height:1.2}.sm-header-sub{color:#94a3b8;margin-top:2px;font-size:12px}.sm-close{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.sm-close:hover{color:#0f172a;background:#e2e8f0}.sm-tabs{border-bottom:1px solid #f0f2f5;flex-shrink:0;padding:0 24px;display:flex}.sm-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s;display:flex;position:relative}.sm-tab:hover{color:#64748b}.sm-tab.active{color:#6366f1}.sm-tab.active:after{content:"";background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:16px;right:16px}.sm-tab-count{color:#fff;background:#6366f1;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:flex}.sm-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.sm-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;display:flex}.sm-empty-icon{color:#cbd5e1;background:#f1f5f9;border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.sm-empty-title{color:#334155;font-size:15px;font-weight:700}.sm-empty-desc{color:#94a3b8;font-size:13px}.sm-list{flex-direction:column;gap:8px;display:flex}.sm-ticket{cursor:pointer;background:#fff;border:1px solid #f0f2f5;border-radius:14px;transition:all .15s;display:flex;overflow:hidden}.sm-ticket:hover{border-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 2px 12px #0000000a}.sm-ticket-bar{flex-shrink:0;width:4px}.sm-bar-open{background:#f59e0b}.sm-bar-wip{background:#3b82f6}.sm-bar-ok{background:#22c55e}.sm-bar-closed{background:#cbd5e1}.sm-ticket-body{flex:1;min-width:0;padding:14px 16px}.sm-ticket-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sm-ticket-subject{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.sm-ticket-arrow{color:#cbd5e1;flex-shrink:0}.sm-ticket-bottom{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sm-ticket-date{color:#94a3b8;font-size:11px}.sm-ticket-preview{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.4;overflow:hidden}.sm-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.sm-badge-open{color:#d97706;background:#f59e0b1a}.sm-badge-wip{color:#2563eb;background:#3b82f61a}.sm-badge-ok{color:#16a34a;background:#22c55e1a}.sm-badge-closed{color:#94a3b8;background:#f1f5f9}.sm-form{flex-direction:column;gap:16px;display:flex}.sm-field{flex-direction:column;gap:5px;display:flex}.sm-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;font-weight:700}.sm-field-input,.sm-field-textarea{color:#0f172a;resize:vertical;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .15s}.sm-field-input:focus,.sm-field-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.sm-field-input::placeholder,.sm-field-textarea::placeholder{color:#a0aec0}.sm-photo-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sm-photo-btn{color:#64748b;cursor:pointer;border:1.5px dashed #d1d5db;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.sm-photo-btn:hover{color:#6366f1;background:#6366f10a;border-color:#6366f1}.sm-photo-tag{color:#dc2626;cursor:pointer;background:#fef2f2;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:all .12s;display:inline-flex}.sm-photo-tag:hover{background:#fee2e2}.sm-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;width:100%;padding:13px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;box-shadow:0 4px 16px #6366f133}.sm-submit:hover{transform:translateY(-1px);box-shadow:0 6px 24px #6366f159}.sm-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.sm-detail-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.sm-detail-meta{align-items:center;gap:10px;margin-bottom:16px;display:flex}.sm-detail-date{color:#94a3b8;font-size:12px}.sm-msgs{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.sm-orig{color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #f0f2f5;border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.65}.sm-reply{background:#6366f105;border-left:3px solid #6366f1;border-radius:0 12px 12px 0;margin-left:4px;padding:12px 16px}.sm-reply-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.sm-reply-author{color:#334155;font-size:12px;font-weight:600}.sm-reply-date{color:#94a3b8;font-size:11px}.sm-reply-text{color:#1e293b;white-space:pre-wrap;font-size:14px;line-height:1.55}.sm-reply-box{margin-top:4px}.sm-reply-wrap{align-items:flex-start;gap:10px;display:flex}.sm-reply-input{resize:vertical;box-sizing:border-box;color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .15s}.sm-reply-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f114}.sm-reply-input::placeholder{color:#a0aec0}.sm-reply-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex;box-shadow:0 4px 12px #6366f133}.sm-reply-send:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.sm-reply-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.sm-photos{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.sm-photo{object-fit:cover;cursor:pointer;border:1px solid #e2e8f0;border-radius:12px;width:100px;height:100px;transition:all .15s}.sm-photo:hover{transform:scale(1.05);box-shadow:0 4px 16px #0000001a}.sm-delete{color:#dc2626;cursor:pointer;background:#fff;border:1.5px solid #fecaca;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin:20px auto 0;padding:8px 18px;font-family:inherit;font-size:12px;font-weight:600;transition:all .12s;display:flex}.sm-delete:hover{background:#fef2f2;border-color:#fca5a5}[data-theme=dark] .sm-modal{background:var(--bg-card)!important}[data-theme=dark] .sm-header{border-bottom-color:var(--border)!important}[data-theme=dark] .sm-header-title{color:var(--text-primary)!important}[data-theme=dark] .sm-header-sub{color:var(--text-muted)!important}[data-theme=dark] .sm-header-icon{background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important}[data-theme=dark] .sm-close{background:var(--bg-muted)!important;color:var(--text-muted)!important}[data-theme=dark] .sm-close:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] .sm-tabs{border-bottom-color:var(--border)!important}[data-theme=dark] .sm-tab{color:var(--text-muted)!important}[data-theme=dark] .sm-tab:hover{color:var(--text-secondary)!important}[data-theme=dark] .sm-tab.active{color:var(--accent)!important}[data-theme=dark] .sm-tab.active:after{background:linear-gradient(90deg,var(--accent),var(--accent-hover))!important}[data-theme=dark] .sm-tab-count{background:var(--accent)!important}[data-theme=dark] .sm-empty-icon{background:var(--bg-elevated)!important;color:var(--text-dim)!important}[data-theme=dark] .sm-empty-title{color:var(--text-primary)!important}[data-theme=dark] .sm-empty-desc{color:var(--text-muted)!important}[data-theme=dark] .sm-ticket{border-color:var(--border)!important;background:var(--bg-surface)!important}[data-theme=dark] .sm-ticket:hover{border-color:var(--text-muted)!important;box-shadow:0 2px 12px #0003!important}[data-theme=dark] .sm-bar-open{background:var(--warning)!important}[data-theme=dark] .sm-bar-wip{background:var(--accent)!important}[data-theme=dark] .sm-bar-ok{background:var(--success)!important}[data-theme=dark] .sm-bar-closed{background:var(--text-dim)!important}[data-theme=dark] .sm-ticket-subject{color:var(--text-primary)!important}[data-theme=dark] .sm-ticket-arrow{color:var(--text-dim)!important}[data-theme=dark] .sm-ticket-date,[data-theme=dark] .sm-ticket-preview{color:var(--text-muted)!important}[data-theme=dark] .sm-badge-open{color:#fbbf24!important;background:#fbbf241f!important}[data-theme=dark] .sm-badge-wip{color:var(--accent)!important;background:#818cf81f!important}[data-theme=dark] .sm-badge-ok{color:var(--success)!important;background:#4ade801f!important}[data-theme=dark] .sm-badge-closed{background:var(--bg-elevated)!important;color:var(--text-muted)!important}[data-theme=dark] .sm-field-label{color:var(--text-muted)!important}[data-theme=dark] .sm-field-input,[data-theme=dark] .sm-field-textarea{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .sm-field-input:focus,[data-theme=dark] .sm-field-textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #6366f11a!important}[data-theme=dark] .sm-field-input::placeholder,[data-theme=dark] .sm-field-textarea::placeholder{color:var(--text-dim)!important}[data-theme=dark] .sm-photo-btn{border-color:var(--border)!important;color:var(--text-muted)!important}[data-theme=dark] .sm-photo-btn:hover{border-color:var(--accent)!important;color:var(--accent)!important}[data-theme=dark] .sm-photo-tag{background:var(--error-bg)!important;color:var(--error)!important}[data-theme=dark] .sm-submit{background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important}[data-theme=dark] .sm-detail-date{color:var(--text-muted)!important}[data-theme=dark] .sm-orig{color:var(--text-secondary)!important;background:var(--bg-elevated)!important;border-color:var(--border)!important}[data-theme=dark] .sm-reply{border-left-color:var(--accent)!important;background:#6366f10a!important}[data-theme=dark] .sm-reply-author{color:var(--text-primary)!important}[data-theme=dark] .sm-reply-date{color:var(--text-muted)!important}[data-theme=dark] .sm-reply-text{color:var(--text-primary)!important}[data-theme=dark] .sm-reply-input{background:var(--bg-input)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=dark] .sm-reply-input:focus{border-color:var(--accent)!important}[data-theme=dark] .sm-reply-input::placeholder{color:var(--text-dim)!important}[data-theme=dark] .sm-reply-send{background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important}[data-theme=dark] .sm-photo{border-color:var(--border)!important}[data-theme=dark] .sm-delete{border-color:var(--error-bg)!important;background:var(--bg-surface)!important;color:var(--error)!important}[data-theme=dark] .sm-delete:hover{background:var(--error-bg)!important}.s-note{margin-left:4px;font-size:12px;font-weight:500}.s-note.expelled{color:#dc2626}.s-note.academic{color:#d97706}.s-badge{border-radius:8px;align-items:center;margin-left:10px;padding:3px 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.s-badge.expelled{color:#991b1b;background:#f87171;border:1px solid #ef4444}.s-badge.academic{color:#92400e;background:#fbbf24;border:1px solid #f59e0b}.row-expelled{background:#fef2f2!important}.row-expelled:hover{background:#fee2e2!important}.row-academic{background:#fffbeb!important}.row-academic:hover{background:#fef3c7!important}.confirm-modal{z-index:10001;background:#fff;border-radius:20px;width:88vw;max-width:380px;padding:28px 32px 22px;animation:.25s cubic-bezier(.16,1,.3,1) both tdS;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 80px #00000040}.confirm-text{color:#0f2444;text-align:center;margin-bottom:22px;font-size:15px;font-weight:500;line-height:1.45}.confirm-actions{gap:10px;display:flex}.confirm-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s}.confirm-no{color:#64748b;background:#f1f4f9}.confirm-no:hover{background:#e2e8f0}.confirm-yes{color:#fff;background:#0f2444}.confirm-yes:hover{background:#1a3660}.sp-wrap{max-width:560px;margin:0 auto;padding:24px;animation:.4s ease-out fadeInUp}.sp-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sp-header-left{align-items:center;gap:12px;display:flex}.sp-header-icon{color:#fbbf24;background:linear-gradient(135deg,#fbbf2433,#f59e0b14);border:1px solid #fbbf2426;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.sp-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.sp-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12px}.sp-close{border:1px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.sp-close:hover{border-color:var(--accent);color:var(--accent)}.sp-tabs{scrollbar-width:none;gap:4px;margin-bottom:18px;padding-bottom:2px;display:flex;overflow-x:auto}.sp-tabs::-webkit-scrollbar{display:none}.sp-tab{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:10px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.sp-tab:hover{color:var(--text-primary);border-color:#ffffff1f}.sp-tab.active{border-color:var(--accent);background:#6366f10f;font-weight:700}.sp-body{animation:.3s ease-out fadeInUp}.sp-section{flex-direction:column;gap:14px;display:flex}.sp-field{flex-direction:column;gap:6px;display:flex}.sp-field label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:600}.sp-row{gap:8px;display:flex}.sp-row input,.sp-field input,.sp-field select{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .2s}.sp-row input:focus,.sp-field input:focus,.sp-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #6366f11f}.sp-action-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#818cf8,#6366f1);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.sp-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.sp-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sp-action-btn.sp-green{background:linear-gradient(135deg,#22c55e,#16a34a)}.sp-action-btn.sp-green:hover{box-shadow:0 4px 12px #22c55e4d}.sp-action-btn.sp-yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.sp-action-btn.sp-yellow:hover{box-shadow:0 4px 12px #f59e0b4d}.sp-action-btn.sp-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.sp-action-btn.sp-red:hover{box-shadow:0 4px 12px #ef44444d}.sp-spin{animation:1s linear infinite spSpin}.sp-progress{color:var(--accent);background:#6366f114;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;font-size:12px;font-weight:600;animation:.2s ease-out fadeInUp;display:flex}.sp-check{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.sp-check input{accent-color:#6366f1;cursor:pointer;width:16px;height:16px}.sp-body input[type=range]{background:var(--border);appearance:none;cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px;margin:6px 0}.sp-body input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#6366f1;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #6366f14d}@keyframes spSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sp-groups-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.sp-groups-list label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.sp-group-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.sp-group-name{color:var(--text-primary);flex:1;font-weight:600}.sp-group-count{color:var(--accent);background:#6366f114;border-radius:12px;padding:2px 8px;font-size:11px}.sp-group-del{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.sp-group-del:hover{color:#ef4444;background:#ef444414;border-color:#ef4444}.sp-search-wrap{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;transition:all .2s;display:flex}.sp-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #6366f11f}.sp-search-wrap svg{color:var(--text-muted);flex-shrink:0}.sp-search-wrap input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.sp-search-results{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;margin-top:4px;display:flex;overflow:hidden}.sp-search-item{cursor:pointer;color:var(--text-primary);justify-content:space-between;padding:8px 12px;font-size:13px;transition:background .15s;display:flex}.sp-search-item:hover{background:#6366f10f}.sp-search-group{color:var(--text-muted);font-size:11px}.sp-clear-row{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.sp-del-btn{color:#ef4444;cursor:pointer;background:#ef444414;border:1px solid #ef44444d;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:flex}.sp-del-btn:hover{background:#ef444426;border-color:#ef4444}.sp-warning{color:#f59e0b;background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:8px;padding:10px 14px;font-size:12px}.sp-empty{color:var(--text-muted);text-align:center;padding:20px;font-size:13px}.sp-undo-bar{margin-bottom:12px;display:flex}.sp-undo-btn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.sp-undo-btn:hover{color:#f59e0b;background:#f59e0b0a;border-color:#f59e0b}.sp-undo-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes nwUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes nwSpin{to{transform:rotate(360deg)}}@keyframes nwShimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.nw{max-width:900px;margin:0 auto;padding:0 16px 40px;animation:.35s ease-out both nwUp}.nw-progress{background:linear-gradient(90deg,var(--accent),var(--accent));height:3px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.nw-progress{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#fff))}}.nw-progress{z-index:10;box-shadow:0 0 8px var(--accent);flex-shrink:0;transition:width .15s ease-out}.nw-top{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:18px;padding:12px 0;display:flex}.nw-top-left{flex:1;align-items:center;gap:8px;display:flex}.nw-top-right{align-items:center;gap:8px;display:flex}.nw-top-back{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:7px;flex-shrink:0;align-items:center;gap:4px;padding:5px 12px 5px 8px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.nw-top-back:hover{border-color:var(--accent);color:var(--accent);background:#6366f114}.nw-top-title{color:var(--text-primary);font-size:16px;font-weight:700}.nw-top-count{color:var(--text-muted);font-size:12px;font-weight:500}.nw-top-add{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:5px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.nw-top-add:hover{opacity:.88;transform:translateY(-1px)}.nw-top-acts{gap:4px;display:flex}.nw-top-btn{border:1px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;transition:all .15s;display:flex}.nw-top-btn:hover{border-color:var(--accent);color:var(--accent);background:#6366f114}.nw-top-btn-d:hover{color:#ef4444!important;background:#ef444414!important;border-color:#ef4444!important}.nw-top-sort{border:1px solid var(--border);border-radius:7px;gap:2px;display:flex;overflow:hidden}.nw-sort-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.nw-sort-btn:hover{color:var(--text-primary)}.nw-sort-btn.on{background:var(--accent);color:#fff;font-weight:600}.nw-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.nw-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:14px;transition:all .35s cubic-bezier(.16,1,.3,1);animation:.5s ease-out both nwUp;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.nw-card:before{content:"";pointer-events:none;z-index:0;opacity:0;background:linear-gradient(135deg,#6366f10a,#0000 60%);border-radius:14px;transition:opacity .4s;position:absolute;inset:0}.nw-card:hover:before{opacity:1}.nw-card:hover{border-color:#6366f140;transform:translateY(-4px);box-shadow:0 16px 40px -8px #6366f126,0 4px 12px #00000014}.nw-card:active{transform:translateY(-2px)}.nw-card.hero{border-radius:16px;flex-direction:row;grid-column:1/-1;min-height:200px;display:flex}.nw-card.hero .nw-card-img{border-radius:16px 0 0 16px;width:36%;height:auto;min-height:200px}.nw-card.hero .nw-card-img-empty{min-height:200px}.nw-card.hero .nw-card-body{justify-content:center;padding:24px 28px 22px}.nw-card.hero .nw-card-title{-webkit-line-clamp:3;font-size:20px;font-weight:700}.nw-card.hero .nw-card-desc{-webkit-line-clamp:3;font-size:13px;line-height:1.65}.nw-card-img{background:var(--bg-elevated);height:170px;position:relative;overflow:hidden}.nw-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.nw-card:hover .nw-card-img img{transform:scale(1.07)}.nw-card-img-empty{color:var(--text-muted);background:linear-gradient(135deg,#6366f10f,#818cf808,#6366f105);justify-content:center;align-items:center;display:flex}.nw-card-body{z-index:1;flex-direction:column;padding:16px 18px 14px;display:flex;position:relative}.nw-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.nw-card-tag{letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff14;border-radius:5px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-flex}.nw-card-dot{background:var(--text-muted);opacity:.4;border-radius:50%;flex-shrink:0;width:3px;height:3px}.nw-card-title{color:var(--text-primary);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 5px;font-size:16px;font-weight:600;line-height:1.35;transition:color .3s;display:-webkit-box;overflow:hidden}.nw-card:hover .nw-card-title{color:var(--accent)}@keyframes nwDotPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.nw-card-dots{flex:1;align-items:center;gap:5px;padding:4px 0;display:flex}.nw-card-dots span{background:var(--accent);opacity:.3;border-radius:50%;width:5px;height:5px;animation:1.8s ease-in-out infinite nwDotPulse}.nw-card-dots span:nth-child(2){animation-delay:.3s}.nw-card-dots span:nth-child(3){animation-delay:.6s}.nw-card-foot{border-top:1px solid var(--border);align-items:center;margin-top:10px;padding-top:10px;display:flex;position:relative}.nw-card-read{color:var(--accent);opacity:.7;background:#6366f10f;border-radius:6px;align-items:center;gap:5px;margin-left:auto;padding:4px 12px;font-size:11px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;transform:translate(0)}.nw-card:hover .nw-card-read{opacity:1;background:#6366f11f;transform:translate(0)}.nw-card-acts{z-index:5;opacity:.4;gap:4px;transition:opacity .25s;display:flex;position:absolute;top:12px;right:12px}.nw-card:hover .nw-card-acts{opacity:1}.nw-card-acts button{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#00000080;border:1px solid #ffffff1f;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.nw-card-acts button:hover{background:#6366f1b3;border-color:#6366f14d;transform:scale(1.08)}.nw-sk{pointer-events:none}.nw-sk-img{background:var(--bg-elevated);height:150px}.nw-sk-line{background:linear-gradient(90deg,var(--bg-elevated) 0%,var(--bg-card) 50%,var(--bg-elevated) 100%);background-size:200px 100%;border-radius:6px;height:12px;margin-bottom:8px;animation:1.5s ease-in-out infinite nwShimmer}.nw-article-layout{align-items:flex-start;gap:24px;display:flex}.nw-article{flex:1;min-width:0}.nw-a-cover{background-position:50%;background-size:cover;border-radius:14px;align-items:flex-end;height:260px;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.nw-a-cover-overlay{pointer-events:none;background:linear-gradient(#0000 0%,#0000001a 40%,#000000b3 100%);position:absolute;inset:0}.nw-a-cover-content{z-index:2;width:100%;padding:28px 28px 24px;position:relative}.nw-a-tag{letter-spacing:.3px;border:1px solid;border-radius:5px;margin-bottom:10px;padding:2px 10px;font-size:10px;font-weight:700;display:inline-flex}.nw-a-title-cover{color:#fff;margin:0 0 12px;font-size:24px}.nw-a-cover .nw-a-meta{color:#ffffff8c}.nw-a-inner{max-width:720px}.nw-a-header{margin-bottom:24px;padding-bottom:16px}.nw-a-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 12px;font-size:24px;font-weight:700;line-height:1.2}.nw-a-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.nw-a-dot{background:var(--text-muted);opacity:.4;border-radius:50%;flex-shrink:0;width:3px;height:3px}.nw-a-body{color:var(--text-primary);font-size:16px;line-height:1.85}.nw-a-body>p{margin:14px 0}.nw-a-body>p:first-of-type:first-letter{color:var(--accent);float:left;margin:4px 12px 0 0;font-size:3.2em;font-weight:800;line-height:.8}.nw-a-body h2{color:var(--text-primary);border-left:3px solid var(--accent);margin:32px 0 14px;padding-left:14px;font-size:19px;font-weight:700}.nw-a-body h3{color:var(--text-primary);margin:22px 0 10px;font-size:16px;font-weight:600}.nw-a-body ul,.nw-a-body ol{margin:14px 0;padding-left:24px}.nw-a-body li{color:var(--text-secondary);margin:6px 0}.nw-a-body li::marker{color:var(--accent)}.nw-a-body strong{color:var(--text-primary)}.nw-a-body code{color:#818cf8;background:#6366f114;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:14px}.nw-a-body pre{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;margin:18px 0;padding:18px 22px;font-size:14px;line-height:1.65;overflow-x:auto}.nw-a-body pre code{color:inherit;background:0 0;border:none;padding:0}.nw-a-body blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);background:#6366f10a;border-radius:0 10px 10px 0;margin:18px 0;padding:14px 20px}.nw-a-body img{border-radius:10px;max-width:100%;margin:18px 0;box-shadow:0 2px 12px #0000000f}.nw-a-body a{color:var(--accent);border-bottom:1px solid #6366f140;text-decoration:none}.nw-a-body a:hover{border-color:var(--accent)}.nw-a-body table{border-collapse:collapse;border:1px solid var(--border);border-radius:8px;width:100%;margin:18px 0;font-size:14px;overflow:hidden}.nw-a-body th{color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;background:#6366f10f;font-size:12px;font-weight:700}.nw-a-body th,.nw-a-body td{border-bottom:1px solid var(--border);text-align:left;padding:10px 16px}.nw-a-body tr:last-child td{border-bottom:none}.nw-a-body hr{background:var(--border);border:none;height:1px;margin:30px 0}.nw-sidebar{flex-shrink:0;width:220px;position:sticky;top:80px}.nw-sidebar-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:11px;font-weight:700}.nw-sidebar-item{cursor:pointer;border-radius:8px;margin-bottom:2px;padding:8px 10px;transition:all .15s}.nw-sidebar-item:hover{background:#6366f10f}.nw-sidebar-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.nw-sidebar-meta{color:var(--text-muted);font-size:11px}.nw-editor{max-width:640px;margin:0 auto}.nw-ed-title{border:1.5px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;margin-bottom:14px;padding:14px 18px;font-family:inherit;font-size:18px;font-weight:700;transition:all .2s}.nw-ed-title:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6366f11a}.nw-ed-title::placeholder{color:var(--text-muted)}.nw-ed-tag-row{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:12px;display:flex}.nw-ed-tag-label{color:var(--text-muted);margin-right:4px;font-size:11px;font-weight:600}.nw-ed-tag-btn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .12s}.nw-ed-tag-btn:hover{border-color:var(--accent);color:var(--accent)}.nw-ed-tag-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.nw-ed-toolbar{border:1.5px solid var(--border);background:var(--bg-surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:14px;padding:6px 10px;display:flex}.nw-ed-toolbar button{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex}.nw-ed-toolbar button:hover{color:var(--accent);background:#6366f11a}.nw-ed-sep{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 5px}.nw-ed-body{border:1.5px solid var(--border);background:var(--bg-card);min-height:220px;max-height:420px;color:var(--text-primary);border-radius:10px;outline:none;padding:18px;font-family:inherit;font-size:14px;line-height:1.75;transition:all .2s;overflow-y:auto}.nw-ed-body:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.nw-ed-body:empty:before{content:attr(data-placeholder);color:var(--text-muted)}.nw-ed-body h2{margin:10px 0 6px;font-size:16px;font-weight:700}.nw-ed-body h3{margin:8px 0 4px;font-size:14px;font-weight:600}.nw-ed-body p{margin:4px 0}.nw-ed-body ul,.nw-ed-body ol{margin:4px 0;padding-left:20px}.nw-ed-vis{align-items:center;gap:5px;margin-bottom:10px;padding:8px 0;display:flex}.nw-ed-vis-btn{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .12s}.nw-ed-vis-btn:hover{border-color:var(--accent);color:var(--accent)}.nw-ed-vis-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}.nw-ed-img{border:1.5px solid var(--border);border-radius:10px;margin-top:14px;position:relative;overflow:hidden}.nw-ed-img img{object-fit:cover;width:100%;max-height:180px;display:block}.nw-ed-img-del{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.nw-ed-img-del:hover{background:#ef4444}.nw-ed-pub{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;margin-top:16px;padding:11px 26px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.nw-ed-pub:hover{opacity:.9;transform:translateY(-1px)}.nw-ed-pub:disabled{opacity:.4;cursor:not-allowed;transform:none}.nw-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:56px 20px;display:flex}.nw-empty h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.nw-empty p{max-width:300px;margin:0;font-size:13px;line-height:1.5}.nw-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.nw-btn:hover{opacity:.9;transform:translateY(-1px)}.nw-spin{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite nwSpin}@media (max-width:700px){.overlay{z-index:180;background:#00000080;animation:.3s both overlayFade;display:block;position:fixed;inset:0}}@media (max-width:480px){.login-card{border-radius:16px;width:100%;max-width:94vw;padding:32px 20px 24px}.login-title{font-size:24px}.login-input{padding:12px 12px 12px 40px;font-size:14px}.login-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef444440;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:500;animation:.4s loginShake;display:flex}[data-theme=dark] .login-error{color:#fca5a5;background:#ef44441a;border-color:#ef444440}}@media (max-width:700px){.sc-header{gap:14px;padding:20px}.sc-avatar{border-radius:14px;width:48px;height:48px;font-size:16px}.sc-name{font-size:17px}.sc-section{padding:0 20px}.sc-section:last-child{padding-bottom:20px}.sc-fields{grid-template-columns:1fr}.sc-att-top{flex-direction:column;align-items:stretch;gap:10px}}@media (max-width:1024px){.student-layout{flex-direction:column}.student-calendar{width:100%;position:static}}@media (max-width:700px){body.modal-maximized .modal-content{left:0}body.modal-maximized .att-day{min-height:42px}}@media (max-width:900px){.table-wrap table{min-width:700px}}@media (max-width:768px){.desktop-table{display:none!important}.m-student{display:block}.stats{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stats .stat-card{min-width:0}.stat-card:first-child{grid-column:1/-1}.search-bar select{min-width:100px}.toggle-switch{padding:6px 0}}@media (max-width:700px){.sidebar-apk{display:flex}.sidebar{z-index:200;opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{opacity:1;transform:translate(0)}.menu-btn{justify-content:center;align-items:center;display:inline-flex}.overlay{z-index:180;background:#00000080;display:block;position:fixed;inset:0}.topbar{gap:8px;padding:12px 16px}.topbar h1{font-size:16px}.content{padding:0}.content-inner{padding:16px 16px 80px}.stats{margin:16px 0 20px}.stat-card{padding:16px 14px}.stat-card .value{font-size:22px}.content-inner.full{padding:0 0 72px}.card{border-radius:18px;padding:20px}.card h2{gap:12px;margin-bottom:20px;font-size:17px}.card h2 svg{border-radius:11px;width:36px;height:36px;padding:8px}.export-row{flex-direction:column;align-items:stretch}.export-row select,.export-row input,.export-student-select{width:100%}.bottom-nav{display:flex}.export-actions{flex-direction:column}.export-actions button{justify-content:center;width:100%}.group-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.search-bar{flex-direction:column}.multi-select{width:100%}.actions-row{flex-direction:column}.actions-row .action-btn{justify-content:center;width:100%}.actions{flex-direction:column}.actions button{justify-content:center;width:100%}.date-picker{flex-direction:column;align-items:stretch}.date-picker input[type=date]{width:100%}.attendance-layout{flex-direction:column}.attendance-calendar{width:100%;position:static}.attendance-table .stats .stat-card{min-width:80px}.modal-overlay{align-items:stretch;padding:0}.modal-content{border-radius:0;flex-direction:column;max-height:100vh;animation:none;display:flex}.modal-content:before{display:none}.modal-close{border-radius:10px;width:34px;height:34px;top:14px;right:14px}.modal-header .modal-close{right:14px}.student-card-close{display:flex}.modal-expand{display:none}.modal-header{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}.modal-header-name{padding-right:72px;font-size:18px}.modal-badges{margin:0}.modal-tabs{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;gap:4px;margin-top:16px;padding:0 20px}.modal-tab{background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:10px 12px;font-size:13px}.modal-tab:hover{background:0 0}.modal-tab.active{color:#6366f1;background:0 0;border-bottom-color:#6366f1}.modal-section{flex:1;padding:16px 20px;overflow-y:auto}.modal-section.attendance-mode{overflow:visible!important}.modal-fields{grid-template-columns:1fr;gap:8px}.modal-fields>.field{padding:12px 14px}.modal-actions{border-top:1px solid #f5f5f5;flex-shrink:0;padding:14px 20px}.modal-section .field{padding:12px 0}.modal-attendance .calendar-controls{margin-bottom:10px}.modal-attendance .calendar-grid{gap:4px;margin-bottom:10px}.modal-attendance .calendar-header{padding:4px 0;font-size:11px}.modal-attendance .calendar-day{aspect-ratio:unset;min-height:40px;font-size:14px}}@media (max-width:600px){.admin-add-student-row{flex-direction:column;gap:0}}@media (max-width:700px){.admin-page{padding:0 4px}.admin-tabs{gap:4px}.admin-tab{padding:8px 14px;font-size:13px}.admin-field-row{flex-direction:column;gap:8px}.admin-export-btns{flex-direction:column}.admin-export-btns .admin-btn{justify-content:center;width:100%}.admin-import-google{flex-direction:column}.admin-field{min-width:0}.vc-top{flex-direction:column;align-items:stretch}.vc-top-info{gap:10px}.vc-top-icon{width:36px;height:36px}.vc-top-icon svg{width:18px;height:18px}.vc-top-title{font-size:15px}.vc-top-actions{justify-content:flex-end}.vc-btn-label{display:none}.vc-compare-bar{flex-wrap:wrap;padding:6px 10px}.vc-sel-tag{max-width:100px;font-size:9px}.vc-item{flex-wrap:wrap;padding:7px 10px}.vc-item-stats{gap:5px}.vc-item-stat{font-size:9px}.vc-item-name{font-size:11px}.vc-diff-h{flex-wrap:wrap;gap:6px;padding:8px 10px}.vc-diff-file-h{padding:7px 10px}.vc-diff-line{min-height:20px;padding:0 8px;font-size:11px}.vc-diff-line-prefix{width:16px;font-size:10px}.vc-diff-line-num{width:24px;padding-right:6px;font-size:9px}.vc-diff-body{max-height:60vh}.vc-diff-pages{flex-wrap:wrap;gap:4px;padding:5px 8px}.vc-page-info{min-width:55px;font-size:10px}}@media (max-width:768px){.topbar-controls{overflow-x:auto}}@media (max-width:700px){.td:before{display:none}.td-top{border-radius:24px;padding:24px 18px 20px}.td-top-av{width:38px;height:38px;font-size:14px}.td-top-name{font-size:17px}.td-top-in{gap:12px;margin-bottom:14px}.td-top-stat-n{font-size:18px}.td-top-stats{padding-top:12px}.td-top-stat-l{font-size:8px}.rd-top{border-radius:24px;margin-bottom:22px;padding:24px 18px 20px}.rd-top-av{width:38px;height:38px;font-size:14px}.rd-top-name{font-size:17px;font-weight:500}.rd-top-in{gap:12px;margin-bottom:14px}.rd-top-stat-n{font-size:18px;font-weight:500}.rd-top-stats{padding-top:12px}.rd-top-stat-l{letter-spacing:.4px;font-size:8px}.rd-top{padding:18px}.rd-top-av{border-radius:13px;width:42px;height:42px;font-size:15px}.rd-top-av:after{border-radius:15px;inset:-1.5px}.rd-top-name,.rd-top-stat-n{font-size:18px}}@media (max-width:768px){.breadcrumbs{padding:6px 16px 8px}}@media (max-width:800px){.nw-sidebar{display:none}}@media (max-width:640px){.nw{padding:0 12px 32px}.nw-grid{grid-template-columns:1fr;gap:12px}.nw-card.hero{flex-direction:column;min-height:auto}.nw-card.hero .nw-card-img{width:100%;height:160px}.nw-card.hero .nw-card-body{padding:14px 16px 12px}.nw-card.hero .nw-card-title{font-size:16px}.nw-card-img{height:130px}.nw-card-title{font-size:14px}.nw-a-cover{border-radius:10px;height:200px}.nw-a-cover-content{padding:20px 18px 18px}.nw-a-title,.nw-a-title-cover{font-size:20px}.nw-a-inner{padding:0}.nw-a-body{font-size:15px}.nw-ed-title{font-size:16px}.nw-ed-body{min-height:180px}}.chat-page{grid-template-columns:300px minmax(0,1fr);gap:18px;max-width:1180px;height:calc(100vh - 104px);margin:0 auto;padding:4px 0 18px;display:grid}.chat-people,.chat-room{background:var(--bg-surface,#fff);border:1px solid var(--border,#e5e7eb);box-shadow:var(--shadow-sm,0 8px 24px #0f24440f);border-radius:22px;overflow:hidden}.chat-people{flex-direction:column;padding:20px 14px;display:flex}.chat-heading{color:var(--accent,#2563eb);justify-content:space-between;align-items:center;padding:0 8px 18px;display:flex}.chat-heading h1{color:var(--text-primary,#172033);margin:2px 0 0;font-size:26px}.chat-eyebrow{color:var(--text-muted,#718096);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.chat-public,.chat-contact{width:100%;color:var(--text-primary,#172033);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:15px;align-items:center;gap:11px;padding:11px 10px;display:flex}.chat-public:hover,.chat-contact:hover,.chat-public.selected,.chat-contact.selected{background:var(--accent-soft,#eef4ff)}.chat-public-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.chat-public b,.chat-contact b{font-size:13px;display:block}.chat-public small,.chat-contact small{color:var(--text-muted,#718096);white-space:nowrap;text-overflow:ellipsis;max-width:190px;margin-top:3px;font-size:11px;display:block;overflow:hidden}.chat-search{background:var(--bg-page,#f5f7fb);border:1px solid var(--border,#e5e7eb);height:38px;color:var(--text-muted,#718096);border-radius:12px;align-items:center;gap:8px;margin:18px 0 12px;padding:0 11px;display:flex}.chat-search input{width:100%;min-width:0;color:var(--text-primary,#172033);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.chat-people-title{color:var(--text-muted,#718096);text-transform:uppercase;letter-spacing:.08em;padding:4px 10px 8px;font-size:11px;font-weight:700}.chat-contact-list{overflow:auto}.chat-contact{padding:9px 10px}.chat-avatar{color:#2563eb;background:#dbeafe;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid;overflow:hidden}.chat-avatar img{object-fit:cover;width:100%;height:100%}.chat-avatar.large{border-radius:14px;width:42px;height:42px}.chat-empty-small{color:var(--text-muted,#718096);padding:18px 10px;font-size:12px}.chat-room{flex-direction:column;min-width:0;display:flex}.chat-room-head{border-bottom:1px solid var(--border,#e5e7eb);align-items:center;gap:11px;padding:16px 20px;display:flex}.chat-room-head b{color:var(--text-primary,#172033);font-size:14px;display:block}.chat-room-head small{color:var(--text-muted,#718096);margin-top:3px;font-size:11px;display:block}.chat-mobile-back,.chat-mobile-people{color:var(--text-muted,#718096);background:0 0;border:0;padding:4px;display:none}.chat-mobile-people{margin-left:auto}.chat-messages{flex:1;padding:22px 24px;overflow:auto}.chat-message-row{justify-content:flex-start;margin:0 0 12px;display:flex}.chat-message-row.mine{justify-content:flex-end}.chat-bubble{background:var(--bg-page,#f5f7fb);max-width:min(72%,620px);color:var(--text-primary,#172033);border-radius:16px 16px 16px 5px;padding:10px 13px;font-size:13px;line-height:1.45;box-shadow:0 2px 8px #0f24440a}.chat-message-row.mine .chat-bubble{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:16px 16px 5px}.chat-message-author{color:#2563eb;margin-bottom:3px;font-size:10px;font-weight:700}.chat-message-row.mine .chat-message-author{color:#dbeafe}.chat-bubble time{text-align:right;opacity:.65;margin-top:5px;font-size:10px;display:block}.chat-state{height:100%;color:var(--text-muted,#718096);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.chat-state svg{color:var(--accent,#2563eb)}.chat-state b{color:var(--text-primary,#172033);font-size:14px}.chat-composer{border-top:1px solid var(--border,#e5e7eb);gap:10px;padding:14px 18px;display:flex}.chat-composer input{border:1px solid var(--border,#e5e7eb);background:var(--bg-page,#f5f7fb);min-width:0;height:44px;color:var(--text-primary,#172033);font:inherit;border-radius:13px;outline:0;flex:1;padding:0 14px;font-size:13px}.chat-composer input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb1a}.chat-composer button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.chat-composer button:disabled{opacity:.45;cursor:default}[data-theme=dark] .chat-public:hover,[data-theme=dark] .chat-contact:hover,[data-theme=dark] .chat-public.selected,[data-theme=dark] .chat-contact.selected{background:#818cf821}@media (max-width:760px){.chat-page{height:calc(100vh - 116px);margin:0;padding:0;display:block}.chat-people,.chat-room{border-radius:18px;height:100%}.chat-people{display:none}.chat-people.chat-people-mobile-visible{display:flex}.chat-room-hidden-mobile{display:none}.chat-room-head{padding:12px 14px}.chat-mobile-back,.chat-mobile-people{display:block}.chat-messages{padding:16px 13px}.chat-bubble{max-width:86%}.chat-composer{padding:10px}.chat-heading{padding-top:4px}}
