@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.fs-admin{width:100%;min-width:0;max-width:1800px;color:var(--text-primary,var(--text,#e8edf8));overflow-wrap:anywhere;margin:0 auto;padding:clamp(16px,2vw,28px);font-size:13px;line-height:1.5}.fs-admin *,.fs-admin :before,.fs-admin :after{box-sizing:border-box}.fs-admin button,.fs-admin input,.fs-admin select{font:inherit}.fs-admin button:focus-visible,.fs-admin input:focus-visible,.fs-admin select:focus-visible{outline:2px solid var(--primary,#8b5cf6);outline-offset:2px}.fs-admin button:disabled,.fs-admin select:disabled,.fs-admin input:disabled{opacity:.55;cursor:not-allowed}.fs-admin-heading{border-bottom:1px solid var(--border-color,#94a3b833);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:20px;display:flex}.fs-admin-heading>div{min-width:0}.fs-admin-eyebrow{color:var(--primary,#a78bfa);letter-spacing:.15em;align-items:center;gap:8px;font-size:10px;font-weight:800;display:inline-flex}.fs-admin-heading h1{color:var(--text-primary,var(--text,#e8edf8));letter-spacing:-.035em;margin:8px 0 6px;font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.2}.fs-admin-heading p,.fs-admin-panel-heading p{color:var(--text-secondary,var(--text-muted,#94a3b8));margin:0;font-size:12px;line-height:1.7}.fs-admin-button{border:1px solid var(--primary,#7c3aed);background:var(--primary,#7c3aed);color:#fff;white-space:nowrap;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:12px;font-weight:750;transition:background .18s,border-color .18s;display:inline-flex}.fs-admin-button:hover:not(:disabled){background:var(--primary-light,#8b5cf6);border-color:var(--primary-light,#8b5cf6)}.fs-admin-button-muted{background:var(--surface-secondary,#94a3b814);border-color:var(--border-color,#94a3b840);color:var(--text-primary,#e8edf8)}.fs-admin-button-muted:hover:not(:disabled){background:var(--surface-hover,#94a3b824);border-color:var(--primary,#7c3aed)}.fs-admin-button-danger{background:#b91c1c;border-color:#b91c1c}.fs-admin-button-danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.fs-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.fs-admin-stat{border:1px solid var(--border-color,#94a3b833);border-left:3px solid var(--primary,#7c3aed);background:var(--card-background,var(--surface,#0f172a7a));border-radius:0;align-items:center;gap:14px;min-width:0;min-height:104px;padding:17px;display:flex}.fs-admin-stat:nth-child(2){border-left-color:#10b981}.fs-admin-stat:nth-child(3){border-left-color:#f59e0b}.fs-admin-stat:nth-child(4){border-left-color:#06b6d4}.fs-admin-stat-icon,.fs-admin-role-icon{border:1px solid color-mix(in srgb, var(--primary,#7c3aed) 35%, transparent);background:color-mix(in srgb, var(--primary,#7c3aed) 12%, transparent);width:42px;height:42px;color:var(--primary,#a78bfa);border-radius:0;flex:none;place-items:center;display:grid}.fs-admin-stat>div:last-child{min-width:0}.fs-admin-stat small,.fs-admin-stat strong{display:block}.fs-admin-stat small{color:var(--text-secondary,var(--text-muted,#94a3b8));margin-bottom:7px;font-size:11px;line-height:1.4}.fs-admin-stat strong{color:var(--text-primary,var(--text,#e8edf8));font-variant-numeric:tabular-nums;font-size:clamp(22px,2vw,28px);font-weight:800;line-height:1.1}.fs-admin-tabs{border:1px solid var(--border-color,#94a3b833);background:var(--card-background,#0f172a59);scrollbar-width:thin;border-radius:0;align-items:stretch;gap:0;width:100%;margin-bottom:16px;display:flex;overflow-x:auto}.fs-admin-tabs button{border:0;border-right:1px solid var(--border-color,#94a3b826);min-height:48px;color:var(--text-secondary,#94a3b8);white-space:nowrap;cursor:pointer;background:0 0;border-bottom:2px solid #0000;border-radius:0;flex:1 0 auto;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.fs-admin-tabs button:last-child{border-right:0}.fs-admin-tabs button:hover{background:var(--surface-hover,#94a3b812);color:var(--text-primary,#e8edf8)}.fs-admin-tabs button.active{border-bottom-color:var(--primary,#7c3aed);background:color-mix(in srgb, var(--primary,#7c3aed) 12%, transparent);color:var(--primary-light,#a78bfa)}.fs-admin-panel{border:1px solid var(--border-color,#94a3b833);background:var(--card-background,var(--surface,#0f172a7a));border-radius:0;min-width:0;padding:clamp(16px,2vw,24px)}.fs-admin-panel-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.fs-admin-panel-heading>div{min-width:0}.fs-admin-panel-heading h2{color:var(--text-primary,var(--text,#e8edf8));letter-spacing:-.02em;margin:0 0 6px;font-size:18px;font-weight:800}.fs-admin-toolbar{border:1px solid var(--border-color,#94a3b840);background:var(--input-background,#02081740);min-height:44px;color:var(--text-secondary,#94a3b8);border-radius:0;align-items:center;gap:11px;margin-bottom:16px;padding:0 13px;display:flex}.fs-admin-toolbar:focus-within{border-color:var(--primary,#7c3aed)}.fs-admin-toolbar input{width:100%;min-width:0;min-height:42px;color:var(--text-primary,#e8edf8);background:0 0;border:0;outline:0;padding:10px 0;font-size:12px}.fs-admin-toolbar input::placeholder,.fs-admin-field input::placeholder{color:var(--text-secondary,#94a3b8);opacity:.8}.fs-admin-table-wrap{border:1px solid var(--border-color,#94a3b82b);scrollbar-width:thin;border-radius:0;width:100%;max-width:100%;overflow:auto}.fs-admin-table{border-collapse:collapse;border-spacing:0;width:100%;min-width:850px;color:var(--text-primary,#e8edf8);text-align:left;background:0 0;font-size:12px}.fs-admin-table th{border-bottom:1px solid var(--border-color,#94a3b840);background:var(--surface-secondary,#94a3b80f);color:var(--text-secondary,#94a3b8);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:14px 13px;font-size:10px;font-weight:800}.fs-admin-table td{border-bottom:1px solid var(--border-color,#94a3b821);vertical-align:middle;padding:14px 13px}.fs-admin-table tbody tr:last-child td{border-bottom:0}.fs-admin-table tbody tr:hover{background:var(--surface-hover,#94a3b80a)}.fs-admin-person,.fs-admin-selected-user{align-items:center;gap:11px;min-width:170px;display:flex}.fs-admin-person>div,.fs-admin-selected-user>div{min-width:0}.fs-admin-person strong,.fs-admin-person small,.fs-admin-selected-user strong,.fs-admin-selected-user small{display:block}.fs-admin-person strong,.fs-admin-selected-user strong{color:var(--text-primary,#e8edf8);font-size:12px;font-weight:750;line-height:1.5}.fs-admin-person small,.fs-admin-selected-user small{color:var(--text-secondary,#94a3b8);overflow-wrap:anywhere;margin-top:4px;font-size:10px}.fs-admin-person .fs-admin-you{color:var(--primary-light,#a78bfa);font-weight:700}.fs-admin-avatar{border:1px solid color-mix(in srgb, var(--primary,#7c3aed) 40%, transparent);background:color-mix(in srgb, var(--primary,#7c3aed) 13%, transparent);width:36px;height:36px;color:var(--primary-light,#c4b5fd);border-radius:0;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.fs-admin-select,.fs-admin-field input{border:1px solid var(--border-color,#94a3b840);background:var(--input-background,var(--surface-solid,#0b1222));width:auto;min-width:0;max-width:100%;min-height:36px;color:var(--text-primary,#e8edf8);border-radius:0;padding:8px 10px;font-size:11px}.fs-admin-select option{background:var(--surface-solid,#0b1222);color:var(--text-primary,#e8edf8)}.fs-admin-select:focus,.fs-admin-field input:focus{border-color:var(--primary,#7c3aed);outline:1px solid var(--primary,#7c3aed)}.fs-admin-status-select{width:104px}.fs-admin-status{color:#4ade80;text-transform:capitalize;white-space:nowrap;background:#22c55e14;border:1px solid #22c55e47;border-radius:0;padding:5px 9px;font-size:10px;font-weight:700;display:inline-block}.fs-admin-status-restricted,.fs-admin-status-banned{color:#f87171;background:#f8717114;border-color:#f871714d}.fs-admin-actions{align-items:center;gap:6px;display:flex}.fs-admin-small-button{border:1px solid var(--border-color,#94a3b838);width:34px;height:34px;color:var(--text-secondary,#cbd5e1);cursor:pointer;background:0 0;border-radius:0;flex:none;place-items:center;padding:0;display:inline-grid}.fs-admin-small-button:hover:not(:disabled){border-color:var(--primary,#7c3aed);background:color-mix(in srgb, var(--primary,#7c3aed) 10%, transparent);color:var(--primary-light,#a78bfa)}.fs-admin-danger-button:hover:not(:disabled){color:#f87171;background:#f8717114;border-color:#f87171}.fs-admin-empty{color:var(--text-secondary,#94a3b8);text-align:center;padding:32px 16px;font-size:12px}.fs-admin-loading,.fs-admin-denied{text-align:center;min-height:240px;color:var(--text-secondary,#94a3b8);flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex}.fs-admin-denied h2{color:var(--text-primary,#e8edf8);margin:0;font-size:19px}.fs-admin-denied p{max-width:420px;margin:0;font-size:12px;line-height:1.7}.fs-admin-alert{border:1px solid;border-radius:0;align-items:flex-start;gap:10px;margin:0 0 15px;padding:13px 14px;font-size:12px;line-height:1.6;display:flex}.fs-admin-alert>svg{flex:none;margin-top:1px}.fs-admin-alert span{overflow-wrap:anywhere;flex:1;min-width:0}.fs-admin-alert button{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:2px;display:grid}.fs-admin-alert-error{color:#fca5a5;background:#7f1d1d26;border-color:#f871714d}.fs-admin-alert-success{color:#86efac;background:#14532d24;border-color:#4ade8047}.fs-admin-field{color:var(--text-secondary,#cbd5e1);flex-direction:column;gap:7px;margin:0 0 16px;font-size:11px;font-weight:750;display:flex}.fs-admin-field>span{color:var(--text-primary,#cbd5e1)}.fs-admin-field input{width:100%;min-height:42px;padding:11px 12px;font-size:12px}.fs-admin-user-picker{width:100%;min-height:43px;margin-bottom:17px;font-size:12px}.fs-admin-selected-user{border:1px solid var(--border-color,#94a3b833);background:var(--surface-secondary,#94a3b80d);border-radius:0;min-width:0;margin-bottom:16px;padding:14px}.fs-admin-permission-group{border:1px solid var(--border-color,#94a3b833);border-radius:0;margin-top:18px}.fs-admin-permission-group h3{border-bottom:1px solid var(--border-color,#94a3b833);background:var(--surface-secondary,#94a3b80d);color:var(--text-primary,#e8edf8);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:13px 15px;font-size:12px;font-weight:800;display:flex}.fs-admin-permission-group h3 span{color:var(--text-secondary,#94a3b8);white-space:nowrap;font-size:10px;font-weight:500}.fs-admin-permission-row{border-bottom:1px solid var(--border-color,#94a3b81f);cursor:pointer;align-items:center;gap:16px;min-width:0;padding:13px 15px;display:flex}.fs-admin-permission-row:last-child{border-bottom:0}.fs-admin-permission-row:hover{background:var(--surface-hover,#94a3b80a)}.fs-admin-permission-copy{flex:1;min-width:0}.fs-admin-permission-copy strong,.fs-admin-permission-copy small{display:block}.fs-admin-permission-copy strong{color:var(--text-primary,#e8edf8);font-size:12px;font-weight:700}.fs-admin-permission-copy small{color:var(--text-secondary,#94a3b8);margin-top:4px;font-size:10px;line-height:1.6}.fs-admin-permission-state{max-width:155px;color:var(--text-secondary,#94a3b8);text-align:right;font-size:10px}.fs-admin-permission-row input{width:17px;height:17px;accent-color:var(--primary,#7c3aed);cursor:pointer;flex:none;margin:0}.fs-admin-note{border:1px solid var(--border-color,#94a3b833);color:var(--text-secondary,#94a3b8);border-radius:0;align-items:flex-start;gap:10px;margin-top:18px;padding:13px;font-size:11px;line-height:1.7;display:flex}.fs-admin-note svg{flex:none;margin-top:2px}.fs-admin-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.fs-admin-role-card{border:1px solid var(--border-color,#94a3b833);background:var(--surface-secondary,#94a3b80a);border-radius:0;min-width:0;padding:19px}.fs-admin-role-card h3{color:var(--text-primary,#e8edf8);margin:14px 0 7px;font-size:15px;font-weight:800}.fs-admin-role-card p{min-height:38px;color:var(--text-secondary,#94a3b8);margin:0 0 17px;font-size:11px;line-height:1.7}.fs-admin-role-card>div{flex-wrap:wrap;gap:7px;display:flex}.fs-admin-role-card>div span{border:1px solid var(--border-color,#94a3b833);color:var(--text-secondary,#cbd5e1);border-radius:0;padding:6px 8px;font-size:10px}.fs-admin-activity-list{flex-direction:column;min-width:0;display:flex}.fs-admin-activity-item{border-bottom:1px solid var(--border-color,#94a3b826);align-items:flex-start;gap:13px;min-width:0;padding:16px 0;display:flex}.fs-admin-activity-item:first-child{padding-top:2px}.fs-admin-activity-item:last-child{border-bottom:0}.fs-admin-activity-icon{border:1px solid var(--border-color,#94a3b833);background:var(--surface-secondary,#94a3b80d);width:36px;height:36px;color:var(--primary-light,#a78bfa);border-radius:0;flex:none;place-items:center;display:grid}.fs-admin-activity-content{flex:1;min-width:0}.fs-admin-activity-content strong{color:var(--text-primary,#e8edf8);font-size:12px;font-weight:750}.fs-admin-activity-content p{color:var(--text-secondary,#94a3b8);margin:5px 0;font-size:11px;line-height:1.6}.fs-admin-activity-content small{color:var(--text-secondary,#94a3b8);overflow-wrap:anywhere;margin:7px 0;font-size:10px;line-height:1.7;display:block}.fs-admin-activity-content time{color:var(--text-secondary,#94a3b8);margin-top:8px;font-size:10px;display:block}.fs-admin-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01050fc7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.fs-admin-modal{border:1px solid var(--border-color,#94a3b84d);background:var(--card-background,var(--surface-solid,#0b1222));width:min(100%,510px);max-height:calc(100dvh - 40px);color:var(--text-primary,#e8edf8);border-radius:0;padding:clamp(18px,3vw,26px);overflow-y:auto;box-shadow:0 20px 65px #0000004d}.fs-admin-modal-heading{justify-content:space-between;align-items:flex-start;gap:13px;margin-bottom:23px;display:flex}.fs-admin-modal-heading>div{min-width:0}.fs-admin-modal-heading h2,.fs-admin-confirm-modal h2{color:var(--text-primary,#e8edf8);margin:13px 0 7px;font-size:19px;font-weight:800}.fs-admin-modal-heading p,.fs-admin-confirm-modal p{color:var(--text-secondary,#94a3b8);margin:0;font-size:12px;line-height:1.7}.fs-admin-modal form{flex-direction:column;gap:2px;display:flex}.fs-admin-modal-actions{border-top:1px solid var(--border-color,#94a3b829);flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:17px;display:flex}.fs-admin-delete-icon{color:#f87171;background:#f871711a;border:1px solid #f871714d;border-radius:0;place-items:center;width:48px;height:48px;display:grid}.fs-admin-confirm-modal p{margin-top:9px}.fs-admin-confirm-modal p strong{color:var(--text-primary,#e8edf8)}.fs-admin-spin{animation:1s linear infinite fs-admin-rotation}@keyframes fs-admin-rotation{to{transform:rotate(360deg)}}@media (width<=1100px){.fs-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-admin-panel{padding:18px}}@media (width<=650px){.fs-admin{padding:14px}.fs-admin-heading{align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:17px}.fs-admin-heading h1{font-size:26px}.fs-admin-heading p{max-width:100%;font-size:11px}.fs-admin-heading>.fs-admin-button{min-height:36px;padding:8px 10px;font-size:11px}.fs-admin-stats{gap:9px;margin-bottom:17px}.fs-admin-stat{gap:9px;min-height:88px;padding:11px}.fs-admin-stat-icon{width:32px;height:32px}.fs-admin-stat small{font-size:10px}.fs-admin-stat strong{font-size:21px}.fs-admin-tabs button{gap:6px;min-height:43px;padding:10px 12px;font-size:11px}.fs-admin-panel{padding:13px}.fs-admin-panel-heading{align-items:flex-start;gap:10px}.fs-admin-panel-heading h2{font-size:16px}.fs-admin-panel-heading p{font-size:11px}.fs-admin-panel-heading>.fs-admin-button{min-height:36px;padding:8px 10px;font-size:11px}.fs-admin-table{min-width:850px}.fs-admin-role-grid{grid-template-columns:1fr}.fs-admin-role-card{padding:15px}.fs-admin-role-card p{min-height:0}.fs-admin-permission-row{gap:9px;padding:12px 9px}.fs-admin-permission-state{white-space:normal;max-width:90px;font-size:9px}.fs-admin-permission-group h3{padding:11px}.fs-admin-modal-backdrop{align-items:flex-start;padding:12px}.fs-admin-modal{max-height:calc(100dvh - 24px);margin:auto 0;padding:17px}.fs-admin-modal-actions .fs-admin-button{flex:auto}}@media (width<=380px){.fs-admin{padding:10px}.fs-admin-stats{grid-template-columns:1fr}.fs-admin-stat{min-height:75px}.fs-admin-heading{flex-direction:column}.fs-admin-heading>.fs-admin-button{align-self:flex-start}.fs-admin-panel{padding:11px}}@media (prefers-reduced-motion:reduce){.fs-admin *,.fs-admin :before,.fs-admin :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fs-admin{border-radius:20px}.fs-admin-stat,.fs-admin-panel,.fs-admin-role-card,.fs-admin-activity-item,.fs-admin-modal,.fs-admin-confirm-modal{border-radius:16px}.fs-admin-button,.fs-admin-select,.fs-admin-field input,.fs-admin-field select,.fs-admin-field textarea,.fs-admin-tabs button,.fs-admin-status,.fs-admin-alert{border-radius:10px}.fs-admin-modal-backdrop{border-radius:0}.fs-admin-table{border-radius:12px;overflow:hidden}.fs-admin-person-avatar,.fs-admin-delete-icon{border-radius:50%}.students-page{box-sizing:border-box;width:100%;min-height:100%;color:var(--text);padding:28px}.students-page *,.students-page :before,.students-page :after{box-sizing:border-box}.students-hero{border:1px solid var(--border);background:radial-gradient(circle at 0% 0%, #7c3aed2e, transparent 32%), linear-gradient(135deg, #ffffff0b, transparent 55%), var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:24px;display:flex}.students-hero-main{align-items:center;gap:17px;min-width:0;display:flex}.students-title-icon{color:#fff;background:linear-gradient(145deg,#7c3aedf2,#2563ebe6);border:1px solid #a78bfa47;border-radius:17px;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 12px 30px #7c3aed40,inset 0 1px #fff3}.students-eyebrow,.students-modal-kicker{color:var(--primary-light);letter-spacing:.14em;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.students-hero h1{letter-spacing:-.025em;margin:0;font-size:28px;line-height:1.1}.students-hero p{color:var(--text-muted);margin:7px 0 0;font-size:14px}.students-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.students-btn{min-height:42px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13px;font-weight:750;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s,opacity .16s;display:inline-flex}.students-btn:hover:not(:disabled){transform:translateY(-1px)}.students-btn:disabled{opacity:.5;cursor:not-allowed}.students-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-color:#a78bfa47;box-shadow:0 10px 24px #2563eb38,inset 0 1px #ffffff29}.students-btn-primary:hover:not(:disabled){box-shadow:0 14px 30px #7c3aed4d,inset 0 1px #fff3}.students-btn-secondary{color:var(--text-secondary);border-color:var(--border);background:#ffffff09}.students-btn-secondary:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.students-btn-export{color:var(--text-secondary);border-color:var(--border);background:var(--surface)}.students-alert{border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:13px;align-items:center;gap:10px;min-height:48px;margin-bottom:18px;padding:10px 13px;font-size:13px;font-weight:600;display:flex}.students-alert>span:nth-child(2){flex:1}.students-alert button{width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.students-alert-success{color:#86efac;background:#22c55e14;border-color:#22c55e40}.students-alert-error{color:#fca5a5;background:#f8717114;border-color:#f8717140}.students-alert-icon{background:#ffffff14;border-radius:8px;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:12px;font-weight:900;display:grid}.students-year-card{border:1px solid var(--border);background:linear-gradient(120deg, #7c3aed1a, transparent 48%), var(--surface);border-radius:19px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:20px 22px;display:flex;box-shadow:0 12px 35px #0000001a}.students-year-left{align-items:center;gap:14px;display:flex}.students-year-icon{width:48px;height:48px;color:var(--cyan);background:#06b6d417;border:1px solid #06b6d433;border-radius:14px;place-items:center;display:grid}.students-year-left span{color:var(--text-muted);letter-spacing:.13em;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.students-year-left strong{color:var(--text);font-size:18px;display:block}.students-stat-row{align-items:center;gap:8px;display:flex}.students-stat{text-align:center;border-left:1px solid var(--border);min-width:76px;padding:8px 12px}.students-stat strong{font-size:17px;display:block}.students-stat span{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}.students-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:20px;overflow:hidden}.students-panel-top{justify-content:space-between;align-items:center;gap:20px;padding:21px 22px 17px;display:flex}.students-panel-title{color:var(--primary-light);align-items:center;gap:9px;display:flex}.students-panel-title h2{color:var(--text);margin:0;font-size:17px}.students-panel-top p{color:var(--text-muted);margin:5px 0 0 29px;font-size:12px}.students-refresh{border:1px solid var(--border);width:39px;height:39px;color:var(--text-secondary);cursor:pointer;background:#ffffff09;border-radius:11px;place-items:center;display:grid}.students-refresh:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.students-toolbar{align-items:center;gap:10px;padding:0 22px 18px;display:flex}.students-search{border:1px solid var(--border);min-width:260px;height:43px;color:var(--text-muted);background:#ffffff09;border-radius:12px;flex:1;align-items:center;gap:9px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.students-search:focus-within{border-color:#7c3aed8c;box-shadow:0 0 0 3px #7c3aed14}.students-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.students-search input::placeholder,.students-page input::placeholder,.students-page textarea::placeholder{color:var(--text-muted);opacity:.78}.students-search button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 28px;place-items:center;display:grid}.students-filter{border:1px solid var(--border);min-width:145px;height:43px;color:var(--text-secondary);background:var(--surface-solid);font:inherit;cursor:pointer;border-radius:12px;outline:0;padding:0 12px;font-size:13px}.students-filter:focus,.students-page select:focus,.students-page input:focus,.students-page textarea:focus{border-color:#7c3aed8c;box-shadow:0 0 0 3px #7c3aed14}.students-table-wrap{border-top:1px solid var(--border);width:100%;overflow-x:auto}.students-table{border-collapse:collapse;width:100%;min-width:940px}.students-table th{color:var(--text-muted);border-bottom:1px solid var(--border);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#ffffff05;padding:12px 15px;font-size:10px;font-weight:800}.students-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 15px}.students-table tbody tr:last-child td{border-bottom:0}.students-table tbody tr{transition:background .14s}.students-table tbody tr:hover{background:#7c3aed0b}.students-id{color:#93c5fd;white-space:nowrap;background:#2563eb14;border:1px solid #2563eb2e;border-radius:8px;padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;display:inline-flex}.students-person{align-items:center;gap:11px;min-width:200px;display:flex}.students-avatar{color:#ddd6fe;background:linear-gradient(145deg,#7c3aed47,#2563eb2e);border:1px solid #7c3aed38;border-radius:12px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:14px;font-weight:800;display:grid}.students-person strong,.students-guardian strong{color:var(--text);font-size:13px;display:block}.students-person span,.students-guardian span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.students-class{max-width:190px;color:var(--text-secondary);font-size:12px;display:inline-block}.students-muted{color:var(--text-muted);font-size:12px}.students-status{border:1px solid var(--border);text-transform:capitalize;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.students-status>span{background:currentColor;border-radius:50%;width:6px;height:6px}.students-status-active{color:#86efac;background:#22c55e14;border-color:#22c55e33}.students-status-inactive{color:#cbd5e1;background:#94a3b814}.students-status-graduated{color:#67e8f9;background:#06b6d414;border-color:#06b6d433}.students-status-transferred{color:#fcd34d;background:#f59e0b14;border-color:#f59e0b33}.students-row-actions{align-items:center;gap:7px;display:flex}.students-action-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:10px;place-items:center;transition:all .16s;display:grid}.students-action-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-1px)}.students-action-danger:hover{color:#fca5a5;background:#f8717114;border-color:#f8717159}.students-state-cell{text-align:center;height:310px;color:var(--text-muted)}.students-state-cell>*{margin-left:auto;margin-right:auto;display:block}.students-state-cell strong{color:var(--text);margin-top:13px;font-size:14px}.students-state-cell>span{margin-top:6px;font-size:12px}.students-state-cell .students-btn{margin-top:18px;display:inline-flex}.students-no-data-icon{border:1px solid var(--border);width:57px;height:57px;color:var(--primary-light);background:#7c3aed14;border-radius:16px;place-items:center;display:grid}.students-empty-page{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:22px;align-content:center;place-items:center;min-height:430px;padding:40px;display:grid}.students-empty-icon{width:75px;height:75px;color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed40;border-radius:20px;place-items:center;display:grid}.students-empty-page h2{margin:18px 0 6px;font-size:20px}.students-empty-page p{color:var(--text-muted);margin:0;font-size:13px}.students-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#020617ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.students-modal{background:radial-gradient(circle at 100% 0%, #7c3aed1f, transparent 30%), var(--surface-solid);border:1px solid #94a3b82e;border-radius:22px;width:min(100%,900px);max-height:calc(100vh - 48px);overflow:hidden;box-shadow:0 30px 90px #00000073,inset 0 1px #ffffff0d}.students-student-modal{flex-direction:column;display:flex}.students-small-modal{width:min(100%,560px)}.students-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:23px 24px 19px;display:flex}.students-modal-header h2{color:var(--text);margin:0;font-size:21px}.students-modal-header p{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.students-modal-header p strong{color:var(--text-secondary)}.students-danger-kicker{color:#f87171}.students-modal-close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:#ffffff09;border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.students-modal-close:hover{color:var(--text);background:var(--surface-hover)}.students-modal-body{padding:20px 24px;overflow-y:auto}.students-academic-display{background:#06b6d40e;border:1px solid #06b6d42b;border-radius:14px;align-items:center;gap:12px;margin-bottom:14px;padding:13px;display:flex}.students-academic-icon{width:39px;height:39px;color:var(--cyan);background:#06b6d41a;border-radius:11px;flex:0 0 39px;place-items:center;display:grid}.students-academic-display>div:nth-child(2){flex:1}.students-academic-display span{color:var(--text-muted);letter-spacing:.08em;font-size:10px;font-weight:800;display:block}.students-academic-display strong{color:var(--text);margin-top:3px;font-size:14px;display:block}.students-academic-display em{color:var(--cyan);font-size:10px;font-style:normal;font-weight:700}.students-id-display{border:1px solid var(--border);background:#ffffff06;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:17px;padding:11px 13px;display:flex}.students-id-display span{color:var(--text-muted);font-size:11px}.students-id-display strong{color:#93c5fd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.students-form-section{border:1px solid var(--border);background:#ffffff05;border-radius:16px;margin-top:20px;padding:18px}.students-section-heading{align-items:center;gap:11px;margin-bottom:17px;display:flex}.students-section-heading>span{width:29px;height:29px;color:var(--primary-light);background:#7c3aed14;border:1px solid #7c3aed33;border-radius:9px;place-items:center;font-size:10px;font-weight:900;display:grid}.students-section-heading strong{color:var(--text);font-size:13px;display:block}.students-section-heading small{color:var(--text-muted);margin-top:3px;font-size:10px;display:block}.students-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.students-form-grid label{min-width:0;display:block}.students-form-grid label>span{color:var(--text-secondary);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.students-form-grid input,.students-form-grid select,.students-form-grid textarea{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#ffffff09;border-radius:12px;outline:0;font-size:13px;transition:border-color .16s,box-shadow .16s,background .16s}.students-form-grid input,.students-form-grid select{height:43px;padding:0 12px}.students-form-grid textarea{resize:vertical;min-height:88px;padding:11px 12px;line-height:1.45}.students-form-grid select{background-color:var(--surface-solid)}.students-form-grid input:hover,.students-form-grid select:hover,.students-form-grid textarea:hover{border-color:#94a3b840}.students-field-full{grid-column:1/-1}.students-form-error{color:#fca5a5;background:#f8717112;border:1px solid #f8717133;border-radius:12px;align-items:flex-start;gap:9px;margin-top:15px;padding:11px 13px;font-size:12px;line-height:1.4;display:flex}.students-form-error>span{background:#f871711f;border-radius:6px;flex:0 0 19px;place-items:center;width:19px;height:19px;font-weight:900;display:grid}.students-modal-footer{border-top:1px solid var(--border);background:#ffffff05;justify-content:flex-end;gap:9px;padding:16px 24px;display:flex}.students-btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#f871714d;box-shadow:0 9px 22px #dc26262e}.students-import-preview{text-align:center;place-items:center;padding:25px 24px 16px;display:grid}.students-import-icon{width:58px;height:58px;color:var(--cyan);background:#06b6d414;border:1px solid #06b6d438;border-radius:16px;place-items:center;display:grid}.students-import-preview strong{color:var(--text);margin-top:13px;font-size:16px}.students-import-preview>span{color:var(--text-muted);margin-top:5px;font-size:12px}.students-import-list{border:1px solid var(--border);border-radius:13px;max-height:220px;margin:0 24px 18px;overflow-y:auto}.students-import-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 11px;display:flex}.students-import-item:last-child{border-bottom:0}.students-import-item>span{width:24px;height:24px;color:var(--primary-light);background:#7c3aed14;border-radius:7px;place-items:center;font-size:10px;font-weight:800;display:grid}.students-import-item strong{color:var(--text-secondary);font-size:12px}.students-import-more{color:var(--text-muted);text-align:center;padding:10px;font-size:11px}.students-import-error{color:#fca5a5;background:#f8717112;border:1px solid #f8717138;border-radius:13px;align-items:flex-start;gap:10px;margin:20px 24px;padding:13px;font-size:12px;line-height:1.5;display:flex}.students-import-error>span{background:#f871711f;border-radius:7px;flex:0 0 21px;place-items:center;width:21px;height:21px;font-weight:900;display:grid}.students-delete-box{border:1px solid var(--border);background:#ffffff06;border-radius:14px;align-items:center;gap:12px;margin:20px 24px 13px;padding:13px;display:flex}.students-delete-avatar{color:#fecaca;background:#dc26261f;border-radius:12px;flex:0 0 43px;place-items:center;width:43px;height:43px;font-weight:800;display:grid}.students-delete-box strong{color:var(--text);font-size:13px;display:block}.students-delete-box span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.students-delete-warning{color:var(--text-muted);margin:0 24px 20px;font-size:12px;line-height:1.55}.students-delete-warning strong{color:var(--text-secondary)}.students-spin{animation:.9s linear infinite students-spin}@keyframes students-spin{to{transform:rotate(360deg)}}@media (width<=1050px){.students-hero,.students-year-card{flex-direction:column;align-items:flex-start}.students-header-actions{justify-content:flex-start;width:100%}.students-stat-row{width:100%;overflow-x:auto}.students-stat{flex:1 0 90px}}@media (width<=760px){.students-page{padding:17px}.students-hero{border-radius:18px;padding:18px}.students-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.students-header-actions .students-btn{width:100%}.students-year-card{border-radius:17px;padding:17px}.students-stat-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.students-stat{border:1px solid var(--border);border-radius:11px}.students-toolbar{flex-direction:column;align-items:stretch}.students-search,.students-filter,.students-btn-export{width:100%}.students-modal-overlay{padding:10px}.students-modal{border-radius:18px;max-height:calc(100vh - 20px)}.students-modal-header,.students-modal-body,.students-modal-footer{padding-left:17px;padding-right:17px}.students-form-grid{grid-template-columns:1fr}.students-field-full{grid-column:auto}.students-modal-footer{flex-wrap:wrap}.students-modal-footer .students-btn{flex:1}}@media (width<=480px){.students-page{padding:11px}.students-title-icon{border-radius:14px;flex-basis:49px;width:49px;height:49px}.students-hero h1{font-size:23px}.students-header-actions{grid-template-columns:1fr}.students-year-left{width:100%}.students-panel{border-radius:16px}.students-panel-top{padding:17px 15px 14px}.students-toolbar{padding:0 15px 15px}.students-table td,.students-table th{padding-left:11px;padding-right:11px}}.students-action-buttons,.student-actions,.students-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:max-content;display:flex}.students-action-btn{white-space:nowrap;flex:none;min-width:38px;min-height:38px}.students-action-ledger{justify-content:center;gap:6px;min-width:82px;padding-left:10px;padding-right:10px}.students-action-ledger span{display:inline}@media (width<=760px){.students-action-ledger{width:38px;min-width:38px;padding-left:0;padding-right:0}.students-action-ledger span{display:none}.students-action-buttons,.student-actions,.students-actions{gap:6px}}.students-action-ledger{color:#fff;background:#2563eb;border:1px solid #3b82f6;justify-content:center;min-width:82px;padding:0 12px;font-weight:600}.students-action-ledger:hover{color:#fff;background:#1d4ed8}.students-action-ledger:active{background:#1e40af}@media (width<=760px){.students-action-ledger{width:auto;min-width:64px;padding:0 10px}.students-action-ledger span{display:inline}}.classes-page{width:100%;min-height:100%;color:var(--text);box-sizing:border-box;padding:24px}.class-page-header,.class-dashboard-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.class-page-header h1,.class-dashboard-title h1{letter-spacing:-1px;margin:6px 0;font-size:32px;line-height:1.1}.class-page-header p,.class-dashboard-title p{color:var(--text-secondary);margin:0;font-size:13px}.class-page-kicker,.class-dashboard-title>span,.class-section-label{color:var(--primary-light);letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:800}.class-header-actions,.class-dashboard-actions{flex-shrink:0;gap:9px;display:flex}.class-back-button,.class-button,.class-mini-button,.class-icon-button,.class-ledger-button,.class-search-box button{font:inherit;cursor:pointer;border:0}.class-button{border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:13px;font-weight:700;transition:all .16s;display:inline-flex}.class-button:disabled{opacity:.55;cursor:not-allowed}.class-button-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);box-shadow:0 8px 22px #4f46e52e}.class-button-primary:hover:not(:disabled){transform:translateY(-1px)}.class-button-secondary,.class-back-button{color:var(--text);background:var(--surface);border:1px solid var(--border)}.class-button-secondary:hover:not(:disabled),.class-back-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.class-back-button{border-radius:10px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.class-dashboard-title{margin-top:16px}.class-dashboard-title h1{font-size:30px}.class-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.class-summary-card{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:12px;padding:15px;display:flex}.class-summary-icon{width:40px;height:40px;color:var(--primary-light);background:#7c3aed1a;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.class-summary-card span{color:var(--text-muted);margin-bottom:3px;font-size:11px;display:block}.class-summary-card strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:18px;display:block;overflow:hidden}.class-students-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.class-students-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:19px 20px;display:flex}.class-students-header h2{margin:4px 0 3px;font-size:18px}.class-students-header p{color:var(--text-muted);margin:0;font-size:12px}.class-search-box{box-sizing:border-box;width:min(330px,100%);height:42px;color:var(--text-muted);background:var(--surface-solid);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:0 11px;display:flex}.class-search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed14}.class-search-box input{width:100%;min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.class-search-box input::placeholder{color:var(--text-muted)}.class-search-box button{width:25px;height:25px;color:var(--text-muted);background:0 0;border-radius:7px;flex-shrink:0;place-items:center;display:grid}.class-search-box button:hover{color:var(--text);background:var(--surface-hover)}.class-directory-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.class-count-label{color:var(--text-muted);font-size:12px}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.class-directory-card{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:15px;overflow:hidden}.class-directory-top{justify-content:space-between;padding:17px 17px 0;display:flex}.class-directory-icon{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:11px;place-items:center;width:43px;height:43px;display:grid}.class-directory-actions{gap:5px;display:flex}.class-mini-button{width:32px;height:32px;color:var(--text-muted);background:var(--surface-solid);border:1px solid var(--border);border-radius:8px;place-items:center;display:grid}.class-mini-button:hover{color:var(--text);background:var(--surface-hover)}.class-mini-button.danger:hover{color:#ef4444;border-color:#ef44444d}.class-directory-open{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:15px 17px 17px}.class-directory-open>span{color:var(--text-muted);letter-spacing:1.4px;font-size:9px;font-weight:800}.class-directory-open h2{margin:5px 0 4px;font-size:19px}.class-directory-open p{color:var(--text-muted);margin:0;font-size:11px}.class-directory-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:17px;padding-top:13px;display:flex}.class-directory-footer>span:first-child{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.class-directory-footer strong{color:var(--text);font-size:14px}.class-open-label{color:var(--primary-light);font-size:11px;font-weight:800}.class-table-wrap{width:100%;overflow-x:auto}.class-table{border-collapse:collapse;width:100%;min-width:760px}.class-table th{color:var(--text-muted);border-bottom:1px solid var(--border);letter-spacing:.7px;text-align:left;text-transform:uppercase;background:#94a3b809;padding:12px 18px;font-size:10px;font-weight:800}.class-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 18px;font-size:13px}.class-table tbody tr:hover{background:var(--surface-hover)}.class-table tbody tr:last-child td{border-bottom:0}.class-student-cell{align-items:center;gap:11px;min-width:210px;display:flex}.class-student-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid}.class-student-name{min-width:0}.class-student-name strong,.class-guardian-cell strong{color:var(--text);font-size:13px;font-weight:700;display:block}.class-student-name span,.class-guardian-cell span{color:var(--text-muted);margin-top:3px;font-size:10px;display:block}.class-admission{color:var(--text-secondary);font-family:monospace;font-size:12px;font-weight:700}.class-guardian-cell{min-width:130px}.class-status{text-transform:capitalize;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.class-status>span{border-radius:50%;width:6px;height:6px}.class-status.active{color:#16a34a;background:#22c55e1a}.class-status.active>span{background:#22c55e}.class-status.inactive{color:#f97316;background:#f973161a}.class-status.inactive>span{background:#f97316}.class-ledger-cell{text-align:right}.class-ledger-button{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:9px;min-height:34px;padding:0 13px;font-size:11px;font-weight:800}.class-ledger-button:hover{transform:translateY(-1px)}.class-table-footer{color:var(--text-muted);border-top:1px solid var(--border);background:#94a3b806;padding:11px 18px;font-size:11px}.class-loading,.class-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:260px;padding:30px;display:flex}.class-loading{color:var(--text-muted)}.class-loading strong,.class-empty h3{color:var(--text);font-size:14px}.class-loading span,.class-empty p{color:var(--text-muted);font-size:12px}.class-empty-icon{width:58px;height:58px;color:var(--primary-light);background:#7c3aed14;border-radius:14px;place-items:center;margin-bottom:4px;display:grid}.class-empty h3{margin:0}.class-empty p{max-width:430px;margin:0 0 10px;line-height:1.5}.classes-empty-page{min-height:360px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.classes-empty-page h2{color:var(--text);margin:14px 0 5px}.classes-empty-page p{margin:0;font-size:13px}.class-alert{border-radius:10px;margin-bottom:14px;padding:11px 14px;font-size:12px;font-weight:600}.class-alert.error{color:#ef4444;background:#ef444414;border:1px solid #ef44442e}.class-alert.success{color:#16a34a;background:#22c55e14;border:1px solid #22c55e2e}.class-spin{animation:.8s linear infinite class-spin}@keyframes class-spin{to{transform:rotate(360deg)}}.class-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.class-modal{box-sizing:border-box;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:15px;width:min(500px,100%);max-height:90vh;padding:22px;overflow-y:auto;box-shadow:0 25px 70px #0000004d}.student-modal{width:min(760px,100%)}.class-delete-modal{width:min(450px,100%)}.class-modal-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.class-modal-header>div>span{color:var(--primary-light);letter-spacing:1.4px;font-size:9px;font-weight:800}.class-modal-header .danger-label{color:#ef4444}.class-modal-header h2{color:var(--text);margin:5px 0;font-size:20px}.class-modal-header p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.class-icon-button{width:36px;height:36px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.class-icon-button:hover{color:var(--text);background:var(--surface-hover)}.class-form-field,.student-form-field{display:block}.class-form-field>span,.student-form-field>span{color:var(--text);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.class-form-field input,.student-form-field input,.student-form-field select{box-sizing:border-box;width:100%;height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:9px;outline:none;padding:0 12px;font-size:13px}.class-form-field input:focus,.student-form-field input:focus,.student-form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed14}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.class-form-error{color:#ef4444;background:#ef444414;border:1px solid #ef444429;border-radius:9px;margin-bottom:14px;padding:10px 12px;font-size:12px}.class-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}@media (width<=950px){.class-summary-grid,.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.classes-page{padding:16px}.class-page-header,.class-dashboard-header,.class-students-header{flex-direction:column;align-items:stretch}.class-header-actions,.class-dashboard-actions{width:100%}.class-header-actions .class-button,.class-dashboard-actions .class-button{flex:1}.class-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-grid{grid-template-columns:1fr}.class-search-box{width:100%}.student-form-grid{grid-template-columns:1fr}.class-page-header h1,.class-dashboard-title h1{font-size:27px}}@media (width<=430px){.class-summary-grid{grid-template-columns:1fr}.class-header-actions,.class-dashboard-actions{flex-direction:column}}.class-student-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(12px);background:#020617b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.class-student-modal{width:min(920px,100%);max-height:calc(100vh - 48px);color:var(--text);border:1px solid var(--border-strong);background:linear-gradient(145deg,#0f172afa,#071027fa);border-radius:22px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 35px 100px #00000080,0 0 55px #7c3aed1f}.theme-light .class-student-modal{background:linear-gradient(145deg,#fffffffc,#f1f5f9fa);box-shadow:0 30px 80px #0f172a33}.class-student-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 20px;display:flex}.class-student-modal-kicker{color:var(--primary-light);letter-spacing:.16em;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.class-student-modal-header h2{color:var(--text);margin:0;font-size:25px;line-height:1.15}.class-student-modal-header p{color:var(--text-muted);margin:7px 0 0;font-size:13px}.class-student-modal-close{width:38px;height:38px;color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:11px;flex:none;place-items:center;transition:transform .2s,background .2s,color .2s;display:grid}.class-student-modal-close:hover{color:var(--text);background:var(--surface-solid);transform:translateY(-1px)}.class-student-modal-close:disabled{opacity:.5;cursor:not-allowed}.class-student-modal-body{padding:22px 26px;overflow-y:auto}.class-assignment-summary{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.class-assignment-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;min-height:68px;padding:13px 15px;display:flex}.class-assignment-icon{width:38px;height:38px;color:var(--primary-light);background:#7c3aed21;border:1px solid #7c3aed33;border-radius:10px;flex:none;place-items:center;display:grid}.class-assignment-icon.year{color:var(--cyan);background:#06b6d41a;border-color:#06b6d433}.class-assignment-item>div:nth-child(2){flex:1;min-width:0}.class-assignment-item span{color:var(--text-muted);letter-spacing:.12em;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.class-assignment-item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.class-assignment-check{color:#22c55e;flex:none}.class-student-auto-note{color:var(--text-secondary);background:#22c55e12;border:1px solid #22c55e29;border-radius:11px;align-items:center;gap:8px;margin-bottom:20px;padding:10px 13px;font-size:12px;display:flex}.class-student-auto-note svg{color:#22c55e;flex:none}.class-student-form-error{color:#fecaca;background:#ef44441a;border:1px solid #ef444440;border-radius:11px;align-items:center;gap:9px;margin-bottom:18px;padding:11px 13px;font-size:13px;display:flex}.theme-light .class-student-form-error{color:#b91c1c;background:#ef444412}.class-student-form-section{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.class-student-section-heading{align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.class-student-section-heading>span{width:28px;height:28px;color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed2e;border-radius:8px;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.class-student-section-heading strong{color:var(--text);font-size:14px;display:block}.class-student-section-heading small{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.class-student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.class-student-form-grid label{flex-direction:column;gap:7px;min-width:0;display:flex}.class-student-form-grid label>span{color:var(--text-secondary);font-size:11px;font-weight:700}.class-student-form-grid input,.class-student-form-grid select,.class-student-form-grid textarea{width:100%;min-height:43px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;outline:none;padding:10px 12px;transition:border-color .2s,box-shadow .2s,background .2s}.class-student-form-grid textarea{resize:vertical;min-height:82px}.class-student-form-grid input::placeholder,.class-student-form-grid textarea::placeholder{color:var(--text-muted)}.class-student-form-grid input:focus,.class-student-form-grid select:focus,.class-student-form-grid textarea:focus{border-color:#7c3aeda6;box-shadow:0 0 0 3px #7c3aed1c}.class-student-form-grid input:disabled,.class-student-form-grid select:disabled,.class-student-form-grid textarea:disabled{opacity:.65;cursor:not-allowed}.class-student-field-full{grid-column:1/-1}.class-student-modal-footer{border-top:1px solid var(--border);background:#02061733;justify-content:flex-end;align-items:center;gap:10px;padding:17px 26px;display:flex}.theme-light .class-student-modal-footer{background:#f8fafcb3}.class-add-student-submit{min-width:150px}.class-student-directory-add{white-space:nowrap}.class-student-secondary{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.class-alert-close{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border-radius:7px;place-items:center;margin-left:auto;display:grid}@media (width<=760px){.class-student-modal-overlay{align-items:flex-start;padding:12px}.class-student-modal{border-radius:17px;max-height:calc(100vh - 24px)}.class-student-modal-header,.class-student-modal-body,.class-student-modal-footer{padding-left:17px;padding-right:17px}.class-assignment-summary,.class-student-form-grid{grid-template-columns:1fr}.class-student-field-full{grid-column:auto}.class-student-modal-footer{flex-direction:column-reverse}.class-student-modal-footer button{width:100%}}.yb-standalone{--yb-bg:var(--bg,#020617);--yb-surface:var(--surface,#0a142ad1);--yb-surface-solid:var(--surface-solid,#0b1730);--yb-surface-hover:var(--surface-hover,#162544e6);--yb-border:var(--border,#94a3b826);--yb-border-strong:var(--border-strong,#7c3aed66);--yb-text:var(--text,#f8fafc);--yb-secondary:var(--text-secondary,#cbd5e1);--yb-muted:var(--text-muted,#8ea0ba);--yb-primary:var(--primary,#7c3aed);--yb-primary-light:var(--primary-light,#a78bfa);--yb-blue:var(--blue,#2563eb);--yb-cyan:var(--cyan,#06b6d4);--yb-shadow:var(--shadow,0 20px 60px #00000059);z-index:99999;box-sizing:border-box;background:radial-gradient(circle at 8% 0%, #7c3aed2b, transparent 29%), radial-gradient(circle at 94% 15%, #2563eb1f, transparent 27%), radial-gradient(circle at 55% 100%, #06b6d414, transparent 25%), var(--yb-bg);width:100vw;min-height:100vh;color:var(--yb-text);isolation:isolate;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;inset:0;overflow:hidden auto}.yb-standalone *,.yb-standalone :before,.yb-standalone :after{box-sizing:border-box}.yb-background-orb{pointer-events:none;filter:blur(90px);opacity:.18;z-index:-1;border-radius:50%;width:360px;height:360px;position:fixed}.yb-orb-one{background:#7c3aed;top:35%;left:-180px}.yb-orb-two{background:#06b6d4;bottom:5%;right:-180px}.yb-shell{width:min(1160px,100% - 40px);min-height:100%;margin:0 auto;padding:24px 0 20px}.yb-brandbar{justify-content:space-between;align-items:center;height:58px;margin-bottom:30px;display:flex}.yb-brand{align-items:center;gap:12px;display:flex}.yb-brand-mark{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 28px #7c3aed40}.yb-brand strong{letter-spacing:-.02em;font-size:15px;display:block}.yb-brand span{color:var(--yb-muted);margin-top:2px;font-size:11px;display:block}.yb-brand-status{border:1px solid var(--yb-border);background:var(--yb-surface);min-height:34px;color:var(--yb-secondary);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.yb-status-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #22c55eb3}.yb-main{padding-bottom:24px}.yb-hero{border:1px solid var(--yb-border);background:linear-gradient(135deg, #7c3aed1a, transparent 48%), var(--yb-surface);box-shadow:var(--yb-shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:22px;justify-content:space-between;align-items:flex-end;gap:28px;padding:30px;display:flex}.yb-hero-copy{max-width:700px}.yb-hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,4vw,43px);line-height:1.05}.yb-hero p{max-width:650px;color:var(--yb-secondary);margin:13px 0 0;font-size:14px;line-height:1.65}.yb-primary,.yb-secondary,.yb-danger-button,.yb-refresh,.yb-action,.yb-set-current,.yb-modal-close{font:inherit;cursor:pointer;border:0}.yb-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border:1px solid #a78bfa47;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:13px;font-weight:800;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 10px 24px #4f46e53d}.yb-primary:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 14px 30px #4f46e552}.yb-primary:disabled,.yb-secondary:disabled,.yb-danger-button:disabled,.yb-action:disabled,.yb-set-current:disabled,.yb-refresh:disabled{cursor:not-allowed;opacity:.55}.yb-overview{grid-template-columns:repeat(3,1fr);gap:13px;margin:14px 0;display:grid}.yb-overview-card{border:1px solid var(--yb-border);background:var(--yb-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;align-items:center;gap:12px;min-height:82px;padding:15px 17px;display:flex;box-shadow:0 12px 30px #00000014}.yb-overview-card>div:last-child{min-width:0}.yb-overview-card span{color:var(--yb-muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700;display:block}.yb-overview-card strong{color:var(--yb-text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:19px;line-height:1.1;display:block;overflow:hidden}.yb-overview-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.yb-overview-icon.purple{color:#c4b5fd;background:#7c3aed24}.yb-overview-icon.green{color:#86efac;background:#22c55e1f}.yb-overview-icon.blue{color:#93c5fd;background:#2563eb21}.yb-alert{border-radius:12px;align-items:center;gap:9px;min-height:44px;margin:10px 0;padding:0 13px;font-size:12px;font-weight:650;display:flex}.yb-alert span{flex:1}.yb-alert button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.yb-alert.success{color:#86efac;background:#22c55e14;border:1px solid #22c55e2e}.yb-alert.error{color:#fca5a5;background:#ef444414;border:1px solid #ef44442e}.yb-panel{border:1px solid var(--yb-border);background:var(--yb-surface);box-shadow:var(--yb-shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:18px;margin-top:14px;overflow:hidden}.yb-panel-head{border-bottom:1px solid var(--yb-border);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:17px 20px;display:flex}.yb-panel-kicker{color:var(--yb-muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:800}.yb-panel h2{letter-spacing:-.02em;margin:0;font-size:17px}.yb-panel-tools{align-items:center;gap:8px;display:flex}.yb-search{border:1px solid var(--yb-border);width:min(280px,35vw);height:38px;color:var(--yb-muted);background:var(--yb-surface-hover);border-radius:10px;align-items:center;gap:8px;padding:0 10px;display:flex}.yb-search:focus-within{border-color:var(--yb-border-strong);box-shadow:0 0 0 3px #7c3aed14}.yb-search input{width:100%;min-width:0;color:var(--yb-text);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.yb-search button{width:24px;height:24px;color:var(--yb-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.yb-refresh{border:1px solid var(--yb-border);width:38px;height:38px;color:var(--yb-secondary);background:var(--yb-surface-hover);border-radius:10px;place-items:center;display:grid}@keyframes yb-spin{to{transform:rotate(360deg)}}.yb-panel-meta{min-height:42px;color:var(--yb-muted);justify-content:space-between;align-items:center;gap:10px;padding:0 20px;font-size:11px;display:flex}.yb-current-label{color:var(--yb-secondary);align-items:center;gap:7px;font-weight:700;display:inline-flex}.yb-table{border-collapse:collapse;width:100%}.yb-table th{height:39px;color:var(--yb-muted);letter-spacing:.09em;text-align:left;white-space:nowrap;background:#64748b09;padding:0 20px;font-size:9px;font-weight:800}.yb-table td{border-top:1px solid var(--yb-border);white-space:nowrap;height:67px;padding:9px 20px;font-size:12px}.yb-table tbody tr.is-current{background:#7c3aed09}.yb-actions-heading{width:105px;text-align:right!important}.yb-name-cell{align-items:center;gap:11px;display:flex}.yb-name-icon{width:36px;height:36px;color:var(--yb-primary-light);background:#7c3aed17;border:1px solid #7c3aed26;border-radius:10px;flex:none;place-items:center;display:grid}.yb-name-cell strong{color:var(--yb-text);font-size:13px;font-weight:800;display:block}.yb-name-cell small{color:#4ade80;margin-top:3px;font-size:10px;font-weight:650;display:block}.yb-current-badge{color:#4ade80;background:#22c55e14;border:1px solid #22c55e2b;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.yb-set-current{border:1px solid var(--yb-border);color:var(--yb-secondary);background:var(--yb-surface-hover);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:750}.yb-set-current:hover:not(:disabled){color:var(--yb-primary-light);border-color:var(--yb-border-strong);background:#7c3aed14}.yb-row-actions{justify-content:flex-end;gap:6px;display:flex}.yb-action{border:1px solid var(--yb-border);width:32px;height:32px;color:var(--yb-secondary);background:var(--yb-surface-hover);border-radius:9px;place-items:center;transition:all .16s;display:grid}.yb-action:hover:not(:disabled){color:var(--yb-primary-light);border-color:var(--yb-border-strong);transform:translateY(-1px)}.yb-action.danger:hover:not(:disabled){color:#fca5a5;background:#ef444414;border-color:#ef44443d}.yb-loading,.yb-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:270px;padding:35px 20px;display:flex}.yb-loader{border:3px solid #7c3aed29;border-top-color:var(--yb-primary);border-radius:50%;width:28px;height:28px;margin-bottom:11px;animation:.8s linear infinite yb-spin}.yb-loading span{color:var(--yb-muted);font-size:12px}.yb-empty-icon{border:1px solid var(--yb-border);width:56px;height:56px;color:var(--yb-primary-light);background:#7c3aed14;border-radius:16px;place-items:center;margin-bottom:13px;display:grid}.yb-empty h3{margin:0;font-size:16px}.yb-empty p{color:var(--yb-muted);margin:7px 0 15px;font-size:12px}.yb-empty .yb-primary{min-height:38px}.yb-footer{color:var(--yb-muted);justify-content:center;align-items:center;gap:8px;padding:17px 0 4px;font-size:10px;display:flex}.yb-modal-overlay{z-index:100000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0206179e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.yb-modal{border:1px solid var(--yb-border);background:var(--yb-surface-solid);width:min(460px,100vw - 30px);color:var(--yb-text);border-radius:18px;animation:.16s ease-out yb-modal-in;overflow:hidden;box-shadow:0 30px 90px #00000059}@keyframes yb-modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.yb-modal-head{border-bottom:1px solid var(--yb-border);align-items:center;gap:11px;padding:18px 18px 15px;display:flex}.yb-modal-icon{width:38px;height:38px;color:var(--yb-primary-light);background:#7c3aed1f;border-radius:11px;flex:none;place-items:center;display:grid}.yb-modal-head>div:nth-child(2){flex:1;min-width:0}.yb-modal-head span,.yb-delete-content>span{color:var(--yb-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.yb-modal-head h2,.yb-delete-content h2{letter-spacing:-.025em;margin:3px 0 0;font-size:17px}.yb-modal-close{width:31px;height:31px;color:var(--yb-muted);background:0 0;border-radius:8px;place-items:center;display:grid}.yb-modal-close:hover:not(:disabled){color:var(--yb-text);background:var(--yb-surface-hover)}.yb-field input{border:1px solid var(--yb-border);width:100%;height:42px;color:var(--yb-text);background:var(--yb-surface-hover);font:inherit;border-radius:10px;outline:none;padding:0 12px;font-size:12px}.yb-field input::placeholder{color:var(--yb-muted)}.yb-current-option{border:1px solid var(--yb-border);background:var(--yb-surface-hover);cursor:pointer;border-radius:11px;align-items:center;gap:10px;margin-top:14px;padding:11px;display:flex;position:relative}.yb-current-option input{opacity:0;pointer-events:none;position:absolute}.yb-check-box{border:1px solid var(--yb-border);color:#0000;background:var(--yb-bg);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:grid}.yb-current-option input:checked+.yb-check-box{border-color:var(--yb-primary);color:#fff;background:var(--yb-primary)}.yb-current-option strong{color:var(--yb-text);font-size:11px;display:block}.yb-current-option small{color:var(--yb-muted);margin-top:3px;font-size:9px;display:block}.yb-modal-footer{border-top:1px solid var(--yb-border);justify-content:flex-end;gap:8px;padding:13px 18px 17px;display:flex}.yb-secondary{border:1px solid var(--yb-border);min-height:38px;color:var(--yb-secondary);background:var(--yb-surface-hover);border-radius:9px;padding:0 13px;font-size:11px;font-weight:750}.yb-secondary:hover:not(:disabled){color:var(--yb-text);border-color:var(--yb-border-strong)}.yb-modal-footer .yb-primary{min-height:38px;font-size:11px}.yb-button-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite yb-spin}.yb-delete-modal{width:min(410px,100vw - 30px);padding-top:20px}.yb-delete-icon{color:#fca5a5;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;place-items:center;width:42px;height:42px;margin:0 18px 12px;display:grid}.yb-delete-content{padding:0 18px 18px}.yb-delete-content h2{font-size:18px}.yb-delete-content p{color:var(--yb-secondary);margin:8px 0 0;font-size:12px;line-height:1.55}.yb-delete-content strong{color:var(--yb-text)}.yb-danger-button{color:#fff;background:#dc2626;border:1px solid #ef444440;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:11px;font-weight:800;display:inline-flex}.yb-danger-button:hover:not(:disabled){background:#b91c1c}@media (width<=760px){.yb-shell{width:min(100% - 24px,1160px);padding-top:15px}.yb-brandbar{margin-bottom:18px}.yb-brand-status{display:none}.yb-hero{flex-direction:column;align-items:stretch;padding:22px}.yb-primary{width:100%}.yb-overview{grid-template-columns:1fr}.yb-panel-head{flex-direction:column;align-items:stretch}.yb-panel-tools{width:100%}.yb-search{flex:1;width:100%}.yb-panel-meta{padding:0 14px}.yb-table th,.yb-table td{padding-left:14px;padding-right:14px}.yb-footer{padding-bottom:15px}}@media (width<=480px){.yb-shell{width:calc(100% - 16px)}.yb-hero{border-radius:17px}.yb-hero h1{font-size:28px}.yb-panel{border-radius:15px}.yb-modal-overlay{padding:10px}.yb-modal-footer{flex-direction:column-reverse}.yb-modal-footer button{width:100%}}.yb-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:24px;display:grid!important}.yb-batch-card{cursor:pointer;flex-direction:column;min-height:290px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;border:1px solid var(--yb-border)!important;background:radial-gradient(circle at 100% 0%, #7c3aed29, transparent 38%), linear-gradient(145deg, #ffffff0b, transparent 55%), var(--yb-surface)!important;border-radius:22px!important;padding:0!important;box-shadow:0 18px 45px #00000024,inset 0 1px #ffffff0b!important}.yb-batch-card:hover{transform:translateY(-7px);border-color:#7c3aed8c!important;box-shadow:0 28px 60px #0003,0 0 35px #7c3aed1f!important}.yb-batch-card.is-current{background:radial-gradient(circle at 100% 0%, #22c55e2b, transparent 40%), linear-gradient(145deg, #22c55e0e, transparent 55%), var(--yb-surface)!important;border-color:#22c55e7a!important;box-shadow:0 22px 55px #0000002e,0 0 35px #22c55e14!important}.yb-batch-card.is-current:hover{border-color:#22c55eb3!important}.yb-card-top{justify-content:space-between;align-items:flex-start;display:flex;padding:22px 22px 0!important}.yb-card-icon{place-items:center;display:grid;box-shadow:0 10px 25px #7c3aed1a,inset 0 1px #ffffff14;color:#a78bfa!important;background:linear-gradient(145deg,#7c3aed40,#2563eb1f)!important;border:1px solid #7c3aed47!important;border-radius:17px!important;width:58px!important;height:58px!important}.yb-card-actions{gap:7px;display:flex}.yb-card-actions .yb-action{border:1px solid var(--yb-border);width:36px;height:36px;color:var(--yb-muted);cursor:pointer;background:#ffffff06;border-radius:11px;place-items:center;transition:color .16s,border-color .16s,background .16s;display:grid}.yb-card-actions .yb-action:hover{color:var(--yb-text);border-color:var(--yb-border-strong);background:#7c3aed1a}.yb-card-body{flex-direction:column;flex:1;align-items:flex-start;display:flex;padding:28px 22px 20px!important}.yb-card-label{text-transform:uppercase;color:var(--yb-muted)!important;letter-spacing:.14em!important;margin-bottom:9px!important;font-size:11px!important;font-weight:800!important}.yb-card-body h3{color:var(--yb-text)!important;letter-spacing:-.055em!important;margin:0!important;font-size:clamp(30px,3vw,38px)!important;font-weight:850!important;line-height:1!important}.yb-card-body .yb-current-badge{color:#4ade80;letter-spacing:.04em;background:#22c55e17;border:1px solid #22c55e40;border-radius:999px;align-items:center;gap:7px;margin-top:18px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-flex}.yb-card-body .yb-set-current{min-height:36px;color:var(--yb-secondary);border:1px solid var(--yb-border);cursor:pointer;background:#ffffff06;border-radius:10px;margin-top:18px;padding:0 13px;font-size:12px;font-weight:750;transition:color .16s,border-color .16s,background .16s}.yb-card-body .yb-set-current:hover{color:var(--yb-text);border-color:var(--yb-border-strong);background:#7c3aed1a}.yb-card-footer{justify-content:space-between;align-items:center;min-height:70px;display:flex;border-top:1px solid var(--yb-border)!important;background:#00000012!important;padding:15px 22px!important}.yb-card-footer>div{flex-direction:column;gap:3px;display:flex}.yb-card-footer span{text-transform:uppercase;color:var(--yb-muted)!important;letter-spacing:.1em!important;font-size:10px!important;font-weight:800!important}.yb-card-footer strong{color:var(--yb-secondary)!important;font-size:12px!important;font-weight:700!important}.yb-open-button{align-items:center;gap:8px;transition:background .16s,border-color .16s,transform .16s;color:#ddd6fe!important;background:#7c3aed1a!important;border:1px solid #7c3aed40!important;border-radius:11px!important;min-height:38px!important;padding:0 14px!important;font-size:11px!important;font-weight:800!important;display:inline-flex!important}.yb-batch-card:hover .yb-open-button{background:#7c3aed2e!important;border-color:#7c3aed6b!important}.yb-open-button:hover{transform:translate(2px)}.yb-batch-card.is-current .yb-open-button{color:#bbf7d0!important;background:#22c55e14!important;border-color:#22c55e38!important}@media (width<=1100px){.yb-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=700px){.yb-card-grid{gap:15px;grid-template-columns:1fr!important;padding:16px!important}.yb-batch-card{min-height:270px}.yb-card-body h3{font-size:32px!important}}.yb-card-grid{grid-template-columns:repeat(3,minmax(280px,1fr))!important;align-items:stretch!important;gap:24px!important;width:100%!important;padding:8px 0 32px!important;display:grid!important}.yb-batch-card{cursor:pointer;box-sizing:border-box!important;border:1px solid var(--yb-border)!important;background:linear-gradient(145deg, #7c3aed1a, transparent 45%), var(--yb-surface)!important;border-radius:22px!important;flex-direction:column!important;width:100%!important;min-width:0!important;min-height:320px!important;padding:24px!important;display:flex!important;position:relative!important;overflow:hidden!important;box-shadow:0 14px 35px #0000001f,inset 0 1px #ffffff0d!important}.yb-batch-card:hover{border-color:#7c3aed73!important;transform:translateY(-4px)!important}.yb-card-top{justify-content:space-between!important;align-items:center!important;gap:12px!important;width:100%!important;display:flex!important}.yb-card-icon{width:52px!important;min-width:52px!important;height:52px!important;color:var(--primary-light,#a78bfa)!important;background:#7c3aed21!important;border:1px solid #7c3aed40!important;border-radius:15px!important;place-items:center!important;display:grid!important}.yb-card-actions{align-items:center!important;gap:7px!important;display:flex!important}.yb-action{border:1px solid var(--yb-border)!important;width:36px!important;min-width:36px!important;height:36px!important;color:var(--yb-text-muted)!important;cursor:pointer!important;background:#ffffff09!important;border-radius:10px!important;place-items:center!important;padding:0!important;display:grid!important}.yb-action.danger:hover{color:#f87171!important;background:#ef44441a!important;border-color:#ef444440!important}.yb-card-main{flex-direction:column!important;flex:1!important;align-items:flex-start!important;padding:34px 0 28px!important;display:flex!important}.yb-card-label{letter-spacing:.13em!important;text-transform:uppercase!important;color:var(--yb-text-muted)!important;margin-bottom:9px!important;font-size:11px!important;font-weight:800!important;line-height:1!important;display:block!important}.yb-card-main h2{letter-spacing:-.045em!important;color:var(--yb-text)!important;margin:0!important;font-size:clamp(30px,3vw,40px)!important;font-weight:800!important;line-height:1.05!important}.yb-current-badge{color:#67e8f9!important;background:#06b6d41a!important;border:1px solid #06b6d440!important;border-radius:999px!important;align-items:center!important;gap:7px!important;margin-top:18px!important;padding:7px 11px!important;font-size:11px!important;font-weight:800!important;display:inline-flex!important}.yb-set-current{height:38px!important;color:var(--yb-text)!important;cursor:pointer!important;background:#7c3aed1a!important;border:1px solid #7c3aed4d!important;border-radius:10px!important;margin-top:18px!important;padding:0 14px!important;font-size:12px!important;font-weight:700!important}.yb-card-bottom{border-top:1px solid var(--yb-border)!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;width:100%!important;padding-top:18px!important;display:flex!important}.yb-created{flex-direction:column!important;gap:5px!important;min-width:0!important;display:flex!important}.yb-created span{text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--yb-text-muted)!important;font-size:10px!important;font-weight:700!important}.yb-created strong{color:var(--yb-text-secondary)!important;font-size:13px!important;font-weight:700!important}.yb-open-button{color:#fff!important;cursor:pointer!important;background:linear-gradient(135deg,#7c3aed,#2563eb)!important;border:0!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;gap:7px!important;min-width:88px!important;height:40px!important;padding:0 14px!important;font-size:12px!important;font-weight:800!important;display:inline-flex!important}.yb-open-button:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}.yb-batch-card.is-current{border-color:#06b6d461!important}.yb-batch-card.is-current .yb-card-icon{color:#67e8f9!important;background:#06b6d41a!important;border-color:#06b6d440!important}.yb-batch-card.is-selected{border-color:#7c3aeda6!important}@media (width<=1150px){.yb-card-grid{grid-template-columns:repeat(2,minmax(280px,1fr))!important}}@media (width<=700px){.yb-card-grid{grid-template-columns:1fr!important;gap:16px!important}.yb-batch-card{min-height:300px!important}}@media (width<=480px){.yb-batch-card{padding:20px!important}.yb-card-main{padding-top:28px!important}.yb-card-bottom{flex-direction:column!important;align-items:stretch!important}.yb-open-button{width:100%!important}}.yb-terms{border-top:1px solid #94a3b824;margin-top:18px;padding-top:15px}.yb-terms-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.yb-terms-heading span{letter-spacing:.12em;text-transform:uppercase;opacity:.58;font-size:10px;font-weight:800}.yb-terms-heading small{opacity:.45;font-size:10px}.yb-term-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.yb-term-chip{min-width:0;min-height:42px;color:inherit;cursor:pointer;text-align:left;background:#0f172a47;border:1px solid #94a3b829;border-radius:0;align-items:center;gap:7px;padding:8px 9px;transition:all .18s;display:flex}.yb-term-chip:hover:not(:disabled){background:#7c3aed1a;border-color:#7c3aed8c}.yb-term-chip>span{opacity:.65;border:1px solid #94a3b82e;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.yb-term-chip strong{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:10px;overflow:hidden}.yb-term-chip.is-current{background:#10b9811a;border-color:#10b98180}.yb-term-chip.is-current>span{border-color:#10b98173}@media (width<=760px){.yb-term-list{grid-template-columns:1fr}}.payments-page{width:100%;max-width:1500px;color:var(--text);margin:0 auto;padding:16px}.payments-page,.payments-page *{box-sizing:border-box}.payments-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.payments-eyebrow{color:var(--primary-light);letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.payments-header h1,.payments-panel-heading h2,.payments-modal h2,.payments-empty-state h2{color:var(--text);margin:0}.payments-header h1{font-size:clamp(22px,2vw,28px);line-height:1.1}.payments-header p{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.payments-header-actions,.payments-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.payments-primary-button,.payments-secondary-button,.payments-danger-button,.payments-record-button,.payments-icon-button,.payments-modal-close,.payment-delete-button,.payments-type-record-button,.payments-type-delete-button,.payments-receipt-button{font:inherit;cursor:pointer;border:1px solid #0000;transition:background .18s,border-color .18s,color .18s,transform .18s,opacity .18s}.payments-primary-button,.payments-secondary-button,.payments-danger-button,.payments-record-button{white-space:nowrap;border-radius:8px;min-height:34px;padding:0 12px;font-size:11px;font-weight:750}.payments-primary-button{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow)}.payments-primary-button:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light);transform:translateY(-1px)}.payments-primary-button.compact{min-height:32px;padding-inline:10px}.payments-secondary-button{background:var(--surface);border-color:var(--border);color:var(--text)}.payments-secondary-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.payments-danger-button{color:#fff;background:#dc2626;border-color:#dc2626}.payments-danger-button:hover:not(:disabled){background:#ef4444;border-color:#ef4444}.payments-primary-button:disabled,.payments-secondary-button:disabled,.payments-danger-button:disabled,.payments-record-button:disabled,.payments-type-record-button:disabled,.payments-type-delete-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.payments-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:11px;display:grid}.payments-summary-card,.payments-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.payments-summary-card{border-radius:11px;min-width:0;padding:11px 13px}.payments-summary-card span,.payments-summary-card small{display:block}.payments-summary-card span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:750}.payments-summary-card strong{color:var(--text);margin:4px 0 2px;font-size:19px;line-height:1.1;display:block}.payments-summary-card small{color:var(--text-muted);font-size:9px}.payments-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:11px;display:grid}.payments-panel{border-radius:11px;min-width:0;overflow:hidden}.payments-panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.payments-panel-heading h2{font-size:13px;line-height:1.2}.payments-icon-button{background:var(--surface-hover);border-color:var(--border);width:30px;height:30px;color:var(--text);border-radius:7px;place-items:center;font-size:17px;line-height:1;display:grid}.payments-icon-button:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--primary-light)}.payments-type-card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;padding:11px;display:grid}.payments-type-card{border:1px solid var(--border);background:linear-gradient(145deg, #7c3aed14, transparent 48%), var(--surface-solid);border-radius:12px;flex-direction:column;min-width:0;min-height:285px;padding:13px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #02061714}.payments-type-card:before{background:linear-gradient(90deg, var(--primary), var(--blue), var(--cyan));content:"";height:2px;position:absolute;top:0;left:0;right:0}.payments-type-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.payments-type-card-inactive{opacity:.68}.payments-type-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.payments-type-card-icon{border:1px solid var(--border-strong);background:var(--surface-hover);width:36px;height:36px;color:var(--primary-light);border-radius:9px;place-items:center;font-size:15px;font-weight:850;display:grid}.payments-status{border-radius:999px;align-items:center;min-height:20px;padding:0 7px;font-size:8px;font-weight:800;display:inline-flex}.payments-status.active{color:#059669;background:#10b9811a}.payments-status.inactive{color:var(--text-muted);background:#64748b1f}.payments-type-card-title{min-width:0;margin-top:13px}.payments-type-card-title h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;overflow:hidden}.payments-type-card-title p{min-height:28px;color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.payments-type-card-no-description{opacity:.7}.payments-type-card-amount{border:1px solid var(--border);background:var(--surface-hover);border-radius:9px;flex-wrap:wrap;align-items:baseline;gap:5px;margin-top:13px;padding:9px 10px;display:flex}.payments-type-card-amount span{width:100%;color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:750}.payments-type-card-amount strong{color:var(--text);font-size:18px;line-height:1}.payments-type-card-amount small{color:var(--text-muted);font-size:8px}.payments-type-progress{margin-top:13px}.payments-type-progress-label{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.payments-type-progress-label span{color:var(--text-muted);text-transform:uppercase;font-size:8px;font-weight:700}.payments-type-progress-label strong{color:var(--primary-light);font-size:9px}.payments-type-progress-track{background:var(--surface-hover);border-radius:999px;width:100%;height:5px;overflow:hidden}.payments-type-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--blue), var(--cyan));min-width:0;height:100%;transition:width .35s}.payments-type-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:11px;display:grid}.payments-type-stats>div{border:1px solid var(--border);background:var(--surface);border-radius:7px;min-width:0;padding:7px 6px}.payments-type-stats span,.payments-type-stats strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.payments-type-stats span{color:var(--text-muted);text-transform:uppercase;font-size:7px;font-weight:700}.payments-type-stats strong{color:var(--text);margin-top:3px;font-size:9px}.payments-type-card-footer{justify-content:space-between;align-items:center;gap:7px;margin-top:auto;padding-top:12px;display:flex}.payments-type-card-footer>span{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.payments-type-card-actions{flex:none;align-items:center;gap:5px;display:flex}.payments-type-record-button,.payments-type-delete-button{border-radius:7px;min-height:29px;padding:0 9px;font-size:9px;font-weight:800}.payments-type-record-button{background:var(--primary);border-color:var(--primary);color:#fff}.payments-type-record-button:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light);transform:translateY(-1px)}.payments-type-delete-button{color:#ef4444;background:0 0;border-color:#ef444440;align-items:center;gap:3px;display:inline-flex}.payments-type-delete-button span{font-size:14px;line-height:1}.payments-type-delete-button:hover:not(:disabled){background:#ef44441a;border-color:#ef444473}.payments-mini-empty,.payments-empty-table,.payments-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:115px;padding:20px;display:flex}.payments-mini-empty strong,.payments-empty-table strong{color:var(--text);font-size:11px}.payments-mini-empty span,.payments-empty-table span{color:var(--text-muted);font-size:9px}.payments-loading{color:var(--text-muted);font-size:10px}.payments-filters{border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,1fr) 140px 150px;gap:6px;padding:9px 11px;display:grid}.payments-search{min-width:0;position:relative}.payments-search>span{color:var(--text-muted);pointer-events:none;font-size:15px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.payments-search input,.payments-filters select,.payments-form-grid input,.payments-form-grid select,.payments-form-grid textarea{border:1px solid var(--border);background:var(--surface-solid);width:100%;min-width:0;color:var(--text);font:inherit;outline:none;font-size:11px}.payments-search input,.payments-filters select,.payments-form-grid input,.payments-form-grid select{border-radius:7px;height:33px;padding:0 9px}.payments-search input{padding-left:29px}.payments-form-grid textarea{resize:vertical;border-radius:7px;min-height:72px;padding:8px 9px}.payments-search input::placeholder,.payments-form-grid input::placeholder,.payments-form-grid textarea::placeholder{color:var(--text-muted);opacity:.75}.payments-search input:focus,.payments-filters select:focus,.payments-form-grid input:focus,.payments-form-grid select:focus,.payments-form-grid textarea:focus{border-color:var(--border-strong);box-shadow:0 0 0 2px #7c3aed14}.theme-light .payments-page select,.theme-light .payments-page option,.theme-dark .payments-page select,.theme-dark .payments-page option{color:var(--text);background:var(--surface-solid)}.payments-table-wrap{width:100%;overflow-x:auto}.payments-table{border-collapse:collapse;width:100%;min-width:690px}.payments-table th{background:var(--surface-hover);color:var(--text-muted);letter-spacing:.07em;text-align:left;text-transform:uppercase;padding:8px 9px;font-size:8px;font-weight:800}.payments-table td{border-top:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;padding:8px 9px;font-size:10px}.payments-table tbody tr:hover{background:var(--surface-hover)}.payments-student-cell{align-items:center;gap:7px;min-width:185px;display:flex}.payments-student-cell>div:last-child{min-width:0}.payments-student-cell strong,.payments-student-cell span{text-overflow:ellipsis;display:block;overflow:hidden}.payments-student-cell strong{max-width:185px;color:var(--text);font-size:10px}.payments-student-cell span{max-width:185px;color:var(--text-muted);margin-top:2px;font-size:8px}.payments-avatar{border:1px solid var(--border-strong);background:var(--surface-hover);width:29px;height:29px;color:var(--primary-light);border-radius:7px;flex:0 0 29px;place-items:center;font-size:10px;font-weight:850;display:grid}.payments-avatar.small{flex-basis:27px;width:27px;height:27px}.payments-paid{font-weight:700;color:#10b981!important}.payments-balance{border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800;display:inline-block}.payments-balance.outstanding{color:#d97706;background:#f59e0b1a}.payments-balance.cleared{color:#059669;background:#10b9811a}.payments-record-button{background:var(--surface-hover);border-color:var(--border);min-height:27px;color:var(--primary-light);padding-inline:9px;font-size:9px}.payments-record-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.payments-history-panel{margin-top:11px}.payments-count-badge{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:4px 7px;font-size:8px;font-weight:700}.payments-history-list{flex-direction:column;display:flex}.payments-history-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 115px 85px auto 29px;align-items:center;gap:9px;padding:8px 13px;display:grid}.payments-history-person{align-items:center;gap:7px;min-width:0;display:flex}.payments-history-person>div:last-child{min-width:0}.payments-history-person strong,.payments-history-person span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.payments-history-person strong{color:var(--text);font-size:10px}.payments-history-person span{color:var(--text-muted);margin-top:2px;font-size:8px}.payments-history-method{color:var(--text-secondary);font-size:9px}.payments-history-amount{color:#10b981;text-align:right;font-size:10px}.payments-receipt-button{min-height:27px;color:var(--primary-light);white-space:nowrap;background:#7c3aed14;border-color:#7c3aed38;border-radius:7px;padding:0 9px;font-size:8px;font-weight:800}.payments-receipt-button:hover{background:#7c3aed24;border-color:#7c3aed61}.payment-delete-button{color:#ef4444;background:0 0;border-color:#0000;border-radius:7px;place-items:center;width:27px;height:27px;font-size:17px;line-height:1;display:grid}.payment-delete-button:hover{background:#ef44441a}.payments-modal-backdrop,.payments-receipt-backdrop{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020617a8;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.theme-light .payments-modal-backdrop,.theme-light .payments-receipt-backdrop{background:#0f172a59}.payments-modal{border:1px solid var(--border);background:var(--surface-solid);width:min(610px,100%);max-height:calc(100vh - 28px);color:var(--text);box-shadow:var(--shadow);border-radius:12px;overflow-y:auto}.payments-modal.compact-modal{width:min(490px,100%)}.payments-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:13px 15px;display:flex}.payments-modal-header h2{font-size:16px}.payments-modal-close{background:var(--surface-hover);border-color:var(--border);width:29px;height:29px;color:var(--text-secondary);border-radius:7px;flex:0 0 29px;place-items:center;font-size:19px;display:grid}.payments-modal-close:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.payments-modal form{padding:13px 15px 15px}.payments-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.payments-form-grid label{min-width:0;display:block}.payments-form-grid label>span{color:var(--text-secondary);margin-bottom:4px;font-size:9px;font-weight:750;display:block}.payments-form-hint,.payments-form-error{margin-top:4px;font-size:8px;display:block}.payments-form-hint{color:var(--text-muted)}.payments-form-error{color:#ef4444;font-weight:700}.payments-full-field{grid-column:1/-1}.payments-modal-actions{border-top:1px solid var(--border);margin-top:13px;padding-top:11px}.payments-button-spinner,.payments-loader{border:2px solid;border-right-color:#0000;border-radius:50%;animation:.75s linear infinite payments-spin;display:inline-block}.payments-button-spinner{vertical-align:-2px;width:12px;height:12px;margin-right:5px}.payments-loader{width:24px;height:24px;color:var(--primary-light);border-width:3px;margin-bottom:4px}.delete-modal{text-align:center;width:min(430px,100%);padding:19px}.payments-delete-icon{color:#ef4444;background:#ef44441a;border-radius:12px;place-items:center;width:46px;height:46px;margin:0 auto 9px;font-size:27px;font-weight:800;display:grid}.payments-delete-icon.warning{color:#d97706;background:#f59e0b1a}.payments-delete-content h2{margin-top:4px;font-size:17px}.payments-delete-content p{color:var(--text-secondary);margin:7px 0 0;font-size:10px;line-height:1.5}.payments-delete-note{color:var(--text-muted)!important;font-size:9px!important}.delete-modal .payments-modal-actions{justify-content:center}.payments-receipt-backdrop{z-index:1100;place-items:start center;padding:18px;overflow-y:auto}.payments-receipt-dialog{border:1px solid var(--border);background:var(--surface-solid);width:min(760px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow);border-radius:12px;overflow:auto}.payments-receipt-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.payments-receipt-toolbar h2{color:var(--text);margin:0;font-size:16px}.payments-receipt-toolbar-actions{align-items:center;gap:7px;display:flex}.payments-receipt-preview-wrap{background:linear-gradient(135deg, #7c3aed0a, transparent), var(--surface-hover);justify-content:center;padding:24px;display:flex}.payments-receipt-print{color:#111827;background:#fff;width:3in;min-width:3in;padding:.14in;font-family:Arial,Helvetica,sans-serif;box-shadow:0 10px 30px #0206172e}.receipt-school-header{text-align:center}.receipt-school-mark{color:#111827;border:1px solid #111827;border-radius:50%;place-items:center;width:30px;height:30px;margin:0 auto 5px;font-size:10px;font-weight:900;display:grid}.receipt-school-header h1{letter-spacing:.06em;margin:0;font-size:17px;font-weight:900}.receipt-school-header p{letter-spacing:.12em;margin:3px 0 0;font-size:7px;font-weight:700}.receipt-divider{border-top:1px dashed #6b7280;height:1px;margin:9px 0}.receipt-meta{gap:4px;display:grid}.receipt-meta>div,.receipt-detail-row,.receipt-balance-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.receipt-meta span,.receipt-detail-row span,.receipt-balance-row span{color:#4b5563;font-size:7.5px}.receipt-meta strong,.receipt-detail-row strong,.receipt-balance-row strong{color:#111827;text-align:right;overflow-wrap:anywhere;max-width:62%;font-size:7.5px;font-weight:800}.receipt-section-title{color:#4b5563;letter-spacing:.12em;margin-bottom:5px;font-size:7px;font-weight:900;display:block}.receipt-student-name{color:#111827;overflow-wrap:anywhere;margin-bottom:6px;font-size:10px;font-weight:900;line-height:1.3}.receipt-detail-row{margin-top:4px}.receipt-amount-row{border-top:1px solid #111827;border-bottom:1px solid #111827;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:7px 0;display:flex}.receipt-amount-row span{color:#111827;font-size:8px;font-weight:900}.receipt-amount-row strong{color:#111827;font-size:13px;font-weight:900}.receipt-balance-section{gap:5px;display:grid}.receipt-balance-row.overall{border-top:1px solid #d1d5db;padding-top:6px}.receipt-balance-row.overall span,.receipt-balance-row.overall strong{font-size:8px;font-weight:900}.receipt-note{color:#374151;overflow-wrap:anywhere;margin:0;font-size:7.5px;line-height:1.45}.receipt-footer{text-align:center;gap:3px;padding-top:2px;display:grid}.receipt-footer strong{color:#111827;font-size:8px}.receipt-footer span{color:#4b5563;font-size:7px}.receipt-footer .receipt-powered{color:#111827;letter-spacing:.08em;margin-top:5px;font-size:7px;font-weight:900}.payments-empty-state{text-align:center;align-content:center;place-items:center;gap:5px;min-height:280px;display:grid}.payments-empty-icon{border:1px solid var(--border-strong);background:var(--surface);width:52px;height:52px;color:var(--primary-light);border-radius:13px;place-items:center;margin-bottom:6px;font-size:22px;font-weight:800;display:grid}.payments-empty-state p{color:var(--text-muted);margin:0;font-size:11px}@keyframes payments-spin{to{transform:rotate(360deg)}}@media (width<=1150px){.payments-summary-grid,.payments-type-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.payments-page{padding:11px}.payments-header{flex-direction:column;align-items:flex-start}.payments-header-actions{width:100%}.payments-header-actions>button{flex:1}.payments-type-card-grid,.payments-filters{grid-template-columns:1fr}.payments-history-row{grid-template-columns:minmax(0,1fr) auto auto auto 29px;gap:7px}.payments-history-method{display:none}}@media (width<=560px){.payments-summary-grid{grid-template-columns:1fr 1fr;gap:6px}.payments-summary-card{padding:9px}.payments-summary-card strong{font-size:16px}.payments-summary-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payments-type-card-grid{padding:8px}.payments-type-card{min-height:270px;padding:12px}.payments-type-stats strong{font-size:8px}.payments-type-card-footer{flex-direction:column;align-items:flex-start}.payments-type-card-footer>span,.payments-type-card-actions{width:100%}.payments-type-record-button,.payments-type-delete-button{flex:1}.payments-form-grid{grid-template-columns:1fr}.payments-full-field{grid-column:auto}.payments-modal{border-radius:11px;max-height:calc(100vh - 18px)}.payments-modal-header,.payments-modal form{padding-inline:12px}.payments-history-row{padding-inline:10px}.payments-history-amount{font-size:9px}.payments-modal-actions{width:100%}.payments-modal-actions button{flex:1}.payments-receipt-toolbar{flex-direction:column;align-items:flex-start}.payments-receipt-toolbar-actions{width:100%}.payments-receipt-toolbar-actions .payments-secondary-button{flex:1}.payments-receipt-preview-wrap{padding:15px 5px;overflow-x:auto}}@media print{@page{size:3in auto;margin:0}html,body{background:#fff!important;width:3in!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}.payments-receipt-backdrop,.payments-receipt-backdrop *{visibility:visible!important}.payments-receipt-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;width:3in!important;min-width:3in!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.payments-receipt-dialog{width:3in!important;min-width:3in!important;max-width:3in!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;overflow:visible!important}.payments-receipt-toolbar{display:none!important}.payments-receipt-preview-wrap{background:#fff!important;width:3in!important;min-width:3in!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.payments-receipt-print{width:3in!important;min-width:3in!important;box-shadow:none!important;margin:0!important;padding:.14in!important;display:block!important}.payments-receipt-print,.payments-receipt-print *{color:#111827!important}}@media (prefers-reduced-motion:reduce){.payments-primary-button,.payments-secondary-button,.payments-danger-button,.payments-record-button,.payments-type-record-button,.payments-type-delete-button,.payments-receipt-button,.payment-delete-button,.payments-type-card{transition:none}.payments-spin,.payments-button-spinner,.payments-loader{animation:none}.payments-type-progress-fill{transition:none}}.subjects-page{color:var(--text);flex-direction:column;gap:22px;display:flex}.subjects-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.subjects-heading{align-items:flex-start;gap:14px;display:flex}.subjects-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue), var(--cyan));width:48px;height:48px;box-shadow:var(--shadow);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.subjects-title{color:var(--text);letter-spacing:-.02em;margin:0;font-size:25px;font-weight:800}.subjects-subtitle{color:var(--text-muted);margin:5px 0 0;font-size:14px}.subjects-actions{flex-wrap:wrap;gap:9px;display:flex}.subjects-button{min-height:42px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:650;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.subjects-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.subjects-button.primary{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));border-color:#0000}.subjects-button:disabled{opacity:.55;cursor:not-allowed}.subjects-year{background:linear-gradient(135deg, color-mix(in srgb, var(--cyan) 9%, var(--surface)), color-mix(in srgb, var(--primary) 9%, var(--surface)));border:1px solid var(--border);border-radius:14px;padding:17px 19px}.subjects-year-label{color:var(--text-muted);letter-spacing:1.2px;text-transform:uppercase;font-size:11px;font-weight:800}.subjects-year-name{color:var(--text);margin-top:5px;font-size:17px;font-weight:750}.subjects-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.subjects-stat{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:18px}.subjects-stat-label{color:var(--text-muted);font-size:12px;font-weight:650}.subjects-stat-value{color:var(--text);margin-top:7px;font-size:26px;font-weight:800}.subjects-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subjects-search{flex:1;min-width:230px;position:relative}.subjects-search svg{color:var(--text-muted);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.subjects-search input{box-sizing:border-box;width:100%;height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;outline:none;padding:0 14px 0 41px}.subjects-search input::placeholder{color:var(--text-muted)}.subjects-search input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.subjects-list{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:15px;overflow:hidden}.subjects-list-head,.subjects-row{grid-template-columns:minmax(0,1.8fr) minmax(100px,.7fr) minmax(125px,.8fr) 100px;align-items:center;gap:14px;padding:14px 17px;display:grid}.subjects-list-head{color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:800}.subjects-row{min-height:66px;color:var(--text);border-bottom:1px solid var(--border)}.subjects-row:last-child{border-bottom:0}.subjects-row:hover{background:var(--surface-hover)}.subjects-name{align-items:center;gap:11px;min-width:0;display:flex}.subjects-mini-icon{width:35px;height:35px;color:var(--primary-light);background:color-mix(in srgb, var(--primary) 10%, var(--surface));border:1px solid var(--border);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.subjects-name strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subjects-code{color:var(--text-secondary);font-size:13px}.subjects-date{color:var(--text-muted);font-size:13px}.subjects-row-actions{justify-content:flex-end;gap:5px;display:flex}.subjects-icon-button{width:36px;height:36px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9px;place-items:center;display:grid}.subjects-icon-button:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.subjects-icon-button.delete:hover{color:#ef4444;border-color:#ef444466}.subjects-empty,.subjects-loading{color:var(--text-muted);text-align:center;padding:55px 20px}.subjects-empty-icon{width:48px;height:48px;color:var(--primary-light);background:color-mix(in srgb, var(--primary) 10%, var(--surface));border:1px solid var(--border);border-radius:12px;place-items:center;margin:0 auto 12px;display:grid}.subjects-spinner{animation:.8s linear infinite subjects-spin}@keyframes subjects-spin{to{transform:rotate(360deg)}}.subjects-overlay{z-index:1000;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.subjects-modal{width:min(470px,100%);color:var(--text);background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:22px}.subjects-modal-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.subjects-modal-title{color:var(--text);margin:0;font-size:19px;font-weight:750}.subjects-close{width:36px;height:36px;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:9px;place-items:center;display:grid}.subjects-close:hover{color:var(--text);border-color:var(--border-strong)}.subjects-field{gap:7px;margin-bottom:15px;display:grid}.subjects-field label{color:var(--text-secondary);font-size:13px;font-weight:650}.subjects-field input{box-sizing:border-box;width:100%;height:44px;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-radius:9px;outline:none;padding:0 12px}.subjects-field input::placeholder{color:var(--text-muted)}.subjects-field input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.subjects-modal-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.subjects-delete-warning{color:var(--text-secondary);font-size:14px;line-height:1.55}.subjects-delete-name{color:var(--text);font-weight:750}.subjects-danger{color:#fff;background:#dc2626;border-color:#dc2626}.subjects-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}@media (width<=760px){.subjects-stats{grid-template-columns:1fr}.subjects-list-head{display:none}.subjects-row{grid-template-columns:1fr auto;gap:10px}.subjects-code,.subjects-date{display:none}.subjects-row-actions{grid-area:1/2}.subjects-name{grid-area:1/1}}.grading-page{color:var(--text);flex-direction:column;gap:22px;display:flex}.grading-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.grading-heading{align-items:flex-start;gap:14px;display:flex}.grading-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue), var(--cyan));width:48px;height:48px;box-shadow:var(--shadow);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.grading-heading h1{color:var(--text);margin:0;font-size:25px;font-weight:800}.grading-heading p,.grading-detail-header p{color:var(--text-muted);margin:5px 0 0;font-size:14px}.grading-header-actions,.grading-detail-actions{flex-wrap:wrap;gap:9px;display:flex}.grading-button{min-height:42px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:650;display:inline-flex}.grading-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.grading-button:disabled{opacity:.55;cursor:not-allowed}.grading-primary{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));border-color:#0000}.grading-layout{grid-template-columns:280px minmax(0,1fr);gap:16px;display:grid}.grading-scales,.grading-detail{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:15px}.grading-scales{overflow:hidden}.grading-section-header{border-bottom:1px solid var(--border);padding:17px}.grading-section-header strong{color:var(--text);display:block}.grading-section-header span{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.grading-scale-list{padding:9px}.grading-scale-card{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;margin-bottom:6px;padding:14px}.grading-scale-card:hover{background:var(--surface-hover);border-color:var(--border)}.grading-scale-card.selected{color:var(--text);background:color-mix(in srgb, var(--primary) 10%, var(--surface));border-color:var(--border-strong)}.grading-scale-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.grading-scale-card-top strong{color:var(--text)}.grading-scale-card>span{color:var(--text-muted);margin-top:5px;font-size:12px;display:block}.grading-default-badge{color:var(--primary-light);background:color-mix(in srgb, var(--primary) 12%, var(--surface));border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.grading-detail{overflow:hidden}.grading-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding:19px;display:flex}.grading-detail-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.grading-detail-title-row h2{color:var(--text);margin:0;font-size:19px}.grading-table-wrap{overflow-x:auto}.grading-table{border-collapse:collapse;width:100%}.grading-table th{color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:13px 17px;font-size:11px}.grading-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:14px 17px;font-size:14px}.grading-table tbody tr:hover{background:var(--surface-hover)}.grading-table tbody tr:last-child td{border-bottom:0}.grading-grade{min-width:43px;height:32px;color:var(--primary-light);background:color-mix(in srgb, var(--primary) 10%, var(--surface));border:1px solid var(--border-strong);border-radius:8px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.grading-row-actions{gap:5px;display:flex}.grading-icon-button{width:35px;height:35px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9px;place-items:center;display:grid}.grading-icon-button:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.grading-icon-button.danger:hover{color:#ef4444;border-color:#ef444466}.grading-empty{min-height:130px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.grading-empty-large{min-height:330px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.grading-empty-large strong{color:var(--text)}.grading-overlay{z-index:1000;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.grading-modal{width:min(500px,100%);color:var(--text);background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:22px}.grading-modal-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.grading-modal-header h2{color:var(--text);margin:0;font-size:19px}.grading-modal-header p{color:var(--text-muted);margin:5px 0 0;font-size:13px}.grading-close{width:36px;height:36px;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.grading-close:hover{color:var(--text);border-color:var(--border-strong)}.grading-field{gap:7px;margin-bottom:15px;display:grid}.grading-field label{color:var(--text-secondary);font-size:13px;font-weight:650}.grading-field input,.grading-field textarea{box-sizing:border-box;width:100%;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);resize:vertical;border-radius:9px;outline:none;padding:10px 12px}.grading-field input{height:44px}.grading-field input::placeholder,.grading-field textarea::placeholder{color:var(--text-muted)}.grading-field input:focus,.grading-field textarea:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.grading-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grading-modal-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.grading-danger{color:#fff;background:#dc2626;border-color:#dc2626}.grading-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.grading-spin{animation:.8s linear infinite grading-spin}@keyframes grading-spin{to{transform:rotate(360deg)}}@media (width<=900px){.grading-layout{grid-template-columns:1fr}.grading-detail-header{flex-direction:column}}@media (width<=600px){.grading-form-grid{grid-template-columns:1fr}.grading-table{min-width:680px}}.reports-page{width:100%;color:var(--text)}.reports-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.reports-eyebrow{color:var(--primary-light);letter-spacing:.13em;align-items:center;gap:7px;font-size:11px;font-weight:850;display:flex}.reports-header h1{margin:7px 0 0;font-size:clamp(26px,3vw,35px)}.reports-header p{color:var(--text-secondary);margin:7px 0 0;line-height:1.5}.reports-refresh,.report-print,.report-back{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:750;display:inline-flex}.reports-refresh:hover:not(:disabled),.report-print:hover,.report-back:hover{border-color:var(--border-strong)}.reports-refresh:disabled{opacity:.55;cursor:not-allowed}.reports-error{color:#f87171;background:#ef444414;border:1px solid #ef44444d;border-radius:10px;align-items:center;gap:10px;min-height:46px;margin-bottom:15px;padding:9px 13px;display:flex}.reports-error span{flex:1}.reports-error button{width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:0}.reports-filters{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:15px;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-bottom:18px;padding:15px;display:grid}.reports-field label{color:var(--text-muted);margin-bottom:7px;font-size:11px;font-weight:800;display:block}.reports-field select,.reports-static-value,.reports-search{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-solid);width:100%;min-height:43px;color:var(--text);border-radius:9px}.reports-field select{font:inherit;outline:none;padding:0 11px}.reports-static-value{align-items:center;padding:0 11px;display:flex}.reports-search{color:var(--text-muted);align-items:center;gap:8px;padding:0 11px;display:flex}.reports-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.reports-student-selector{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:15px;overflow:hidden}.reports-section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:16px;display:flex}.reports-section-heading h2{margin:0;font-size:17px}.reports-section-heading p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.reports-section-heading>span{color:var(--text-muted);font-size:12px}.reports-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.reports-student-card{border:1px solid var(--border);background:var(--surface-solid);min-width:0;color:var(--text);text-align:left;cursor:pointer;font:inherit;border-radius:12px;align-items:center;gap:11px;padding:13px;transition:border-color .15s,transform .15s;display:flex}.reports-student-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.reports-student-avatar{width:42px;height:42px;color:var(--primary-light);background:#7c3aed1f;border-radius:11px;flex:0 0 42px;place-items:center;font-weight:850;display:grid}.reports-student-info{flex:1;min-width:0}.reports-student-info strong,.reports-student-info span,.reports-student-info small{display:block}.reports-student-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reports-student-info span{color:var(--text-muted);margin-top:2px;font-size:11px}.reports-student-info small{color:var(--text-secondary);margin-top:4px;font-size:10px}.reports-student-average{text-align:right}.reports-student-average strong{font-size:18px;display:block}.reports-student-average span{color:var(--text-muted);text-transform:uppercase;font-size:9px}.reports-loading{min-height:200px;color:var(--text-secondary);justify-content:center;align-items:center;gap:9px;display:flex}.reports-empty{border:1px solid var(--border);background:var(--surface);text-align:center;min-height:250px;color:var(--primary-light);border-radius:15px;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.reports-empty h2,.reports-empty h3{color:var(--text);margin:12px 0 4px}.reports-empty p{color:var(--text-muted);margin:0}.reports-empty-small{min-height:190px}.report-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:15px;overflow:hidden}.report-card-top{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:13px 15px;display:flex}.report-card-header{text-align:center;border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:13px;padding:24px 20px;display:flex}.school-mark{border:1px solid var(--border);width:64px;height:64px;color:var(--primary-light);background:#7c3aed1f;border-radius:13px;flex:0 0 64px;place-items:center;display:grid;overflow:hidden}.school-mark img{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:5px;display:block}.school-heading h2{margin:0;font-size:24px}.school-heading span,.school-heading strong{display:block}.school-heading span{color:var(--text-muted);letter-spacing:.12em;margin-top:3px;font-size:10px;font-weight:800}.school-heading strong{color:var(--primary-light);margin-top:5px;font-size:13px}.student-report-header{border-bottom:1px solid var(--border);grid-template-columns:2fr 1.2fr 1fr 1fr;display:grid}.student-report-header>div{border-right:1px solid var(--border);padding:14px 15px}.student-report-header>div:last-child{border-right:0}.student-report-header span{color:var(--text-muted);letter-spacing:.08em;font-size:9px;font-weight:800;display:block}.student-report-header strong{margin-top:4px;font-size:13px;display:block}.report-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid}.report-summary>div{text-align:center;border-right:1px solid var(--border);padding:13px}.report-summary>div:last-child{border-right:0}.report-summary span{color:var(--text-muted);font-size:9px;font-weight:800;display:block}.report-summary strong{margin-top:4px;font-size:18px;display:block}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:700px}.report-table th{background:var(--surface-solid);color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.05em;padding:11px 12px;font-size:10px}.report-table td{border-top:1px solid var(--border);padding:11px 12px;font-size:12px}.report-table td:first-child strong,.report-table td:first-child span{display:block}.report-table td:first-child span{color:var(--text-muted);margin-top:2px;font-size:9px}.report-total{font-weight:850}.report-grade{border:1px solid var(--border);background:var(--surface-solid);border-radius:7px;justify-content:center;align-items:center;min-width:38px;min-height:26px;padding:0 7px;font-weight:850;display:inline-flex}.report-no-results{text-align:center;color:var(--text-muted);padding:35px}.report-card-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;gap:12px;padding:13px 15px;font-size:10px;display:flex}.reports-spin{animation:.8s linear infinite reports-spin}@keyframes reports-spin{to{transform:rotate(360deg)}}@media (width<=850px){.reports-filters{grid-template-columns:1fr 1fr}.reports-search-field{grid-column:1/-1}.reports-student-grid{grid-template-columns:1fr}.student-report-header{grid-template-columns:1fr 1fr}.student-report-header>div:nth-child(2){border-right:0}.report-summary{grid-template-columns:repeat(3,1fr)}.report-summary>div:nth-child(3){border-right:0}}@media (width<=600px){.reports-header{flex-direction:column;align-items:stretch}.reports-refresh{width:100%}.reports-filters{grid-template-columns:1fr}.reports-search-field{grid-column:auto}.report-card-top{flex-direction:column}.report-print,.report-back{width:100%}.report-summary{grid-template-columns:repeat(2,1fr)}.report-summary>div:nth-child(3){border-right:1px solid var(--border)}.report-summary>div:nth-child(2n){border-right:0}.report-card-footer{flex-direction:column}}@media print{body{background:#fff!important}.app-shell{display:block!important}.sidebar,.top-header,.report-card-top,.reports-header,.reports-filters,.reports-student-selector,.reports-error{display:none!important}.main-area{margin:0!important}.report-card{box-shadow:none!important;color:#000!important;background:#fff!important;border:0!important}.report-card *{color:#000!important}}@media print{@page{size:A4 portrait;margin:10mm}html,body{width:100%;min-height:100%;background:#fff!important}body{margin:0!important;padding:0!important}.app-shell,.main-area,.page-content{background:#fff!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}.report-card{width:100%!important;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #111!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.report-card-header{min-height:95px;background:#fff!important;border-bottom:2px solid #111!important;padding:14px 18px!important}.school-mark{background:0 0!important;border:0!important;width:70px!important;height:70px!important}.school-mark img{object-fit:contain!important;width:100%!important;height:100%!important}.school-heading{text-align:center!important}.school-heading h2{text-transform:uppercase;color:#000!important;margin:0!important;font-size:22px!important;font-weight:900!important}.school-heading span{color:#000!important;font-size:10px!important;font-weight:800!important}.school-heading strong{color:#000!important;font-size:12px!important}.student-report-header{background:#fff!important;border-bottom:1px solid #111!important;grid-template-columns:repeat(4,1fr) 90px!important;display:grid!important}.student-report-header>div{min-width:0;background:#fff!important;border-right:1px solid #aaa!important;padding:10px!important}.student-report-header>div:nth-child(4){border-right:0!important}.student-report-photo-cell{border-left:1px solid #111!important;border-right:0!important}.student-report-header span,.student-report-header strong{color:#000!important}.student-report-photo{background:#fff!important;border:1px solid #111!important;border-radius:0!important;width:62px!important;height:72px!important}.student-report-photo img{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-summary{background:#fff!important;border-bottom:1px solid #111!important}.report-summary>div{background:#fff!important;border-right:1px solid #aaa!important;padding:9px!important}.report-summary span,.report-summary strong{color:#000!important}.report-table-wrap{overflow:visible!important}.report-table{border-collapse:collapse!important;background:#fff!important;width:100%!important;min-width:0!important}.report-table th{color:#000!important;background:#eee!important;border:1px solid #111!important;padding:8px!important;font-size:9px!important}.report-table td{color:#000!important;border:1px solid #aaa!important;padding:7px 8px!important;font-size:9px!important}.report-grade{color:#000!important;background:#fff!important;border:1px solid #111!important;border-radius:0!important;min-height:20px!important}.report-overall-section{background:#fff!important;border-top:1px solid #111!important;grid-template-columns:1fr 1fr 1fr!important;display:grid!important}.report-overall-remark,.report-comment-box{background:#fff!important;border-right:1px solid #aaa!important;min-height:85px!important;padding:10px!important}.report-overall-remark>span,.report-comment-box>span{color:#000!important;font-size:8px!important}.report-overall-remark strong{color:#000!important;font-size:13px!important}.report-comment-line{border-bottom:1px dashed #555!important}.report-signatures{background:#fff!important;border-top:1px solid #111!important;grid-template-columns:1fr 1fr!important;gap:60px!important;padding:28px 20px 18px!important;display:grid!important}.signature-line{background:#000!important}.report-signature strong,.report-signature span{color:#000!important}.report-card-footer{color:#000!important;background:#fff!important;border-top:1px solid #111!important;padding:8px 12px!important;font-size:8px!important}.report-card-footer *{color:#000!important}}@media (width<=850px){.student-report-header{grid-template-columns:1fr 1fr}.student-report-photo-cell{border-left:0;border-top:1px solid var(--border);grid-column:1/-1;padding:12px}.report-overall-section{grid-template-columns:1fr}.report-overall-remark,.report-comment-box{border-right:0;border-bottom:1px solid var(--border)}.report-signatures{grid-template-columns:1fr;gap:25px}}.student-report-header{grid-template-columns:repeat(4,minmax(0,1fr)) 100px;align-items:stretch;display:grid;position:relative}.student-report-photo-cell{border-left:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;display:flex}.student-report-photo-cell>span{color:var(--text-muted);letter-spacing:.05em;font-size:9px;font-weight:800}.student-report-photo{border:1px solid var(--border);background:var(--surface-solid);width:68px;height:78px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;font-size:24px;font-weight:900;display:flex;overflow:hidden}.student-report-photo img{object-fit:cover;width:100%;height:100%;display:block}.report-overall-section{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;display:grid}.report-overall-remark,.report-comment-box{border-right:1px solid var(--border);min-height:105px;padding:15px}.report-overall-section>div:last-child{border-right:0}.report-overall-remark>span,.report-comment-box>span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px;font-size:9px;font-weight:900;display:block}.report-overall-remark strong{font-size:17px;font-weight:900;display:block}.report-comment-line{border-bottom:1px dashed var(--border);min-height:50px}.report-signatures{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:60px;padding:32px 25px 25px;display:grid}.report-signature{text-align:center;min-width:0}.signature-space{height:30px}.signature-line{background:currentColor;width:75%;height:1px;margin:0 auto 8px}.report-signature strong{letter-spacing:.04em;font-size:10px;font-weight:900;display:block}.report-signature span{color:var(--text-muted);margin-top:7px;font-size:9px;display:block}@media print{@page{size:A4 portrait;margin:10mm}html,body{width:100%;min-height:100%;background:#fff!important}body{margin:0!important;padding:0!important}.app-shell,.main-area,.page-content{background:#fff!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}.report-card{width:100%!important;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #111!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.report-card-header{min-height:95px;background:#fff!important;border-bottom:2px solid #111!important;padding:14px 18px!important}.school-mark{background:0 0!important;border:0!important;width:70px!important;height:70px!important}.school-mark img{object-fit:contain!important;width:100%!important;height:100%!important}.school-heading{text-align:center!important}.school-heading h2{text-transform:uppercase;color:#000!important;margin:0!important;font-size:22px!important;font-weight:900!important}.school-heading span{color:#000!important;font-size:10px!important;font-weight:800!important}.school-heading strong{color:#000!important;font-size:12px!important}.student-report-header{background:#fff!important;border-bottom:1px solid #111!important;grid-template-columns:repeat(4,1fr) 90px!important;display:grid!important}.student-report-header>div{min-width:0;background:#fff!important;border-right:1px solid #aaa!important;padding:10px!important}.student-report-header>div:nth-child(4){border-right:0!important}.student-report-photo-cell{border-left:1px solid #111!important;border-right:0!important}.student-report-header span,.student-report-header strong{color:#000!important}.student-report-photo{background:#fff!important;border:1px solid #111!important;border-radius:0!important;width:62px!important;height:72px!important}.student-report-photo img{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-summary{background:#fff!important;border-bottom:1px solid #111!important}.report-summary>div{background:#fff!important;border-right:1px solid #aaa!important;padding:9px!important}.report-summary span,.report-summary strong{color:#000!important}.report-table-wrap{overflow:visible!important}.report-table{border-collapse:collapse!important;background:#fff!important;width:100%!important;min-width:0!important}.report-table th{color:#000!important;background:#eee!important;border:1px solid #111!important;padding:8px!important;font-size:9px!important}.report-table td{color:#000!important;border:1px solid #aaa!important;padding:7px 8px!important;font-size:9px!important}.report-grade{color:#000!important;background:#fff!important;border:1px solid #111!important;border-radius:0!important;min-height:20px!important}.report-overall-section{background:#fff!important;border-top:1px solid #111!important;grid-template-columns:1fr 1fr 1fr!important;display:grid!important}.report-overall-remark,.report-comment-box{background:#fff!important;border-right:1px solid #aaa!important;min-height:85px!important;padding:10px!important}.report-overall-remark>span,.report-comment-box>span{color:#000!important;font-size:8px!important}.report-overall-remark strong{color:#000!important;font-size:13px!important}.report-comment-line{border-bottom:1px dashed #555!important}.report-signatures{background:#fff!important;border-top:1px solid #111!important;grid-template-columns:1fr 1fr!important;gap:60px!important;padding:28px 20px 18px!important;display:grid!important}.signature-line{background:#000!important}.report-signature strong,.report-signature span{color:#000!important}.report-card-footer{color:#000!important;background:#fff!important;border-top:1px solid #111!important;padding:8px 12px!important;font-size:8px!important}.report-card-footer *{color:#000!important}}@media (width<=850px){.student-report-header{grid-template-columns:1fr 1fr}.student-report-photo-cell{border-left:0;border-top:1px solid var(--border);grid-column:1/-1;padding:12px}.report-overall-section{grid-template-columns:1fr}.report-overall-remark,.report-comment-box{border-right:0;border-bottom:1px solid var(--border)}.report-signatures{grid-template-columns:1fr;gap:25px}}@media print{@page{size:A4 portrait;margin:10mm}html,body{background:#fff!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body *{visibility:hidden!important}#fameschool-report,#fameschool-report *{visibility:visible!important}#fameschool-report{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #111!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}#fameschool-report .report-card-top{display:none!important}#fameschool-report,#fameschool-report *{color:#000!important}#fameschool-report img{-webkit-print-color-adjust:exact;print-color-adjust:exact;max-width:100%!important}#fameschool-report table{border-collapse:collapse!important;width:100%!important}#fameschool-report tr,#fameschool-report img,#fameschool-report .report-signatures{break-inside:avoid;page-break-inside:avoid}}.attendance-page{width:100%;max-width:1500px;margin:0 auto;padding:8px 0 40px}.attendance-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.attendance-kicker{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:7px;font-size:12px;font-weight:800;display:inline-flex}.attendance-header h1{color:var(--text);margin:0;font-size:clamp(28px,4vw,38px);font-weight:900;line-height:1.05}.attendance-header p{color:var(--text-muted);margin:9px 0 0;font-size:14px}.attendance-refresh,.attendance-present-all,.attendance-save{border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-weight:800;transition:all .2s;display:inline-flex}.attendance-refresh{color:var(--text);background:var(--surface)}.attendance-refresh:hover,.attendance-present-all:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border));transform:translateY(-1px)}.attendance-controls{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:16px;margin-bottom:18px;padding:18px;display:grid;box-shadow:0 14px 45px #0000000d}.attendance-field{flex-direction:column;gap:8px;display:flex}.attendance-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800}.attendance-field select,.attendance-date-input{border:1px solid var(--border);background:var(--bg-secondary);width:100%;min-height:46px;color:var(--text);font:inherit;border-radius:12px;outline:none}.attendance-field select{padding:0 13px}.attendance-date-input{color:var(--primary);align-items:center;gap:9px;padding:0 13px;display:flex}.attendance-date-input input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.attendance-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.attendance-summary-card{border:1px solid var(--border);background:var(--surface);border-radius:17px;align-items:center;gap:13px;min-height:84px;padding:16px;display:flex;box-shadow:0 12px 35px #0000000a}.attendance-summary-card span{color:var(--text-muted);font-size:12px;font-weight:700;display:block}.attendance-summary-card strong{color:var(--text);margin-top:2px;font-size:25px;font-weight:900;display:block}.attendance-summary-icon{border-radius:13px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.attendance-summary-icon-total{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent)}.attendance-summary-icon-present{color:#16a34a;background:#16a34a1c}.attendance-summary-icon-absent{color:#dc2626;background:#dc26261c}.attendance-sheet-card,.attendance-history-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;overflow:hidden;box-shadow:0 18px 55px #0000000f}.attendance-sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.attendance-sheet-header h2,.attendance-history-header h2{color:var(--text);margin:0;font-size:18px;font-weight:900}.attendance-sheet-header p,.attendance-history-header p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.attendance-sheet-actions{align-items:center;gap:9px;display:flex}.attendance-present-all{color:#15803d;background:#16a34a14;border-color:#16a34a33}.attendance-save{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue,#2563eb), var(--cyan,#06b6d4));box-shadow:0 9px 25px color-mix(in srgb, var(--primary) 22%, transparent);border-color:#0000}.attendance-save:hover{transform:translateY(-1px)}.attendance-search{border:1px solid var(--border);min-height:44px;color:var(--text-muted);background:var(--bg-secondary);border-radius:12px;align-items:center;gap:9px;margin:18px 20px;padding:0 13px;display:flex}.attendance-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.attendance-table-wrap{width:100%;overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:760px}.attendance-table th{text-align:left;color:var(--text-muted);background:color-mix(in srgb, var(--bg-secondary) 80%, transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;padding:13px 20px;font-size:11px;font-weight:900}.attendance-table td{border-bottom:1px solid var(--border);color:var(--text);padding:13px 20px}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table tbody tr{transition:background .18s}.attendance-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 4%, transparent)}.attendance-table tbody .attendance-row-absent{background:#dc26260e}.attendance-table tbody .attendance-row-absent:hover{background:#dc262617}.attendance-number{width:55px;font-size:12px;font-weight:800;color:var(--text-muted)!important}.attendance-student{align-items:center;gap:11px;display:flex}.attendance-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue,#2563eb));border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.attendance-student strong{font-size:13px;font-weight:800}.attendance-admission{color:var(--text-muted);font-size:12px;font-weight:700}.attendance-toggle{gap:7px;display:flex}.attendance-option{border:1px solid var(--border);min-width:108px;min-height:38px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:800;transition:all .18s;display:inline-flex}.attendance-option-present.attendance-option-active{color:#15803d;background:#16a34a1a;border-color:#16a34a4d}.attendance-option-absent.attendance-option-active{color:#b91c1c;background:#dc26261c;border-color:#dc262652}.attendance-option:hover{transform:translateY(-1px)}.attendance-loading,.attendance-no-students,.attendance-empty{min-height:260px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:30px;display:flex}.attendance-no-students h3,.attendance-empty h2{color:var(--text);margin:5px 0 0}.attendance-no-students p,.attendance-empty p{margin:0;font-size:13px}.attendance-alert{border-radius:12px;align-items:center;gap:9px;margin-bottom:15px;padding:12px 14px;font-size:13px;font-weight:700;display:flex}.attendance-alert-error{color:#b91c1c;background:#dc262614;border:1px solid #dc26262e}.attendance-alert-success{color:#15803d;background:#16a34a14;border:1px solid #16a34a2e}.attendance-history-card{margin-top:18px}.attendance-history-header{border-bottom:1px solid var(--border);padding:18px 20px}.attendance-history-header>div{align-items:center;gap:11px;display:flex}.attendance-history-icon{width:38px;height:38px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:11px;place-items:center;display:grid}.attendance-history-list{flex-direction:column;display:flex}.attendance-history-row{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:15px;padding:14px 20px;transition:background .18s;display:flex}.attendance-history-row:last-child{border-bottom:0}.attendance-history-row:hover,.attendance-history-selected{background:color-mix(in srgb, var(--primary) 6%, transparent)}.attendance-history-row strong{font-size:13px}.attendance-history-stats{align-items:center;gap:14px;font-size:12px;font-weight:800;display:flex}.attendance-history-stats span{align-items:center;gap:5px;display:inline-flex}.history-present{color:#15803d}.history-absent{color:#b91c1c}.attendance-history-loading,.attendance-history-empty{color:var(--text-muted);padding:24px 20px;font-size:13px}.attendance-history-loading{align-items:center;gap:9px;display:flex}.attendance-spin{animation:.85s linear infinite attendance-spin}@keyframes attendance-spin{to{transform:rotate(360deg)}}@media (width<=850px){.attendance-controls,.attendance-summary{grid-template-columns:1fr}.attendance-header,.attendance-sheet-header{flex-direction:column;align-items:stretch}.attendance-sheet-actions{flex-wrap:wrap;width:100%}.attendance-present-all,.attendance-save{flex:1}}@media (width<=600px){.attendance-page{padding-bottom:25px}.attendance-controls,.attendance-sheet-header,.attendance-history-header{padding:15px}.attendance-search{margin:15px}.attendance-table th,.attendance-table td{padding-left:12px;padding-right:12px}.attendance-toggle{flex-direction:column}.attendance-option{width:100%}.attendance-history-row{flex-direction:column;align-items:flex-start}}.results-page{width:100%;min-width:0;color:var(--text)}.results-hero{justify-content:space-between;align-items:stretch;gap:22px;margin-bottom:20px;display:flex}.results-eyebrow{color:var(--primary-light);letter-spacing:.13em;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.results-hero h1{margin:0;font-size:clamp(25px,3vw,34px);line-height:1.1}.results-hero p{max-width:700px;color:var(--text-secondary);margin:9px 0 0;line-height:1.6}.results-year-card{border:1px solid var(--border);background:var(--surface);min-width:190px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:center;padding:16px 18px;display:flex}.results-year-card span{color:var(--text-muted);letter-spacing:.12em;font-size:10px;font-weight:800}.results-year-card strong{color:var(--text);margin-top:5px;font-size:17px}.results-message{border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;min-height:48px;margin-bottom:16px;padding:10px 14px;display:flex}.results-message span{flex:1;line-height:1.45}.results-message button{width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.results-message-error{color:#f87171;background:#ef444417;border-color:#ef44444d}.results-message-success{color:#4ade80;background:#22c55e17;border-color:#22c55e4d}.results-controls{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:minmax(170px,1fr) minmax(200px,1.2fr) minmax(190px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:grid}.results-control{min-width:0}.results-control label{color:var(--text-secondary);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.results-control select{border:1px solid var(--border);background:var(--surface-solid);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:10px;outline:none;padding:0 12px}.results-control select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1f}.results-control select:disabled{opacity:.55;cursor:not-allowed}.results-refresh-button,.results-save-button{border:1px solid var(--border);cursor:pointer;min-height:44px;font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:750;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.results-refresh-button{background:var(--surface-solid);color:var(--text)}.results-refresh-button:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.results-refresh-button:disabled,.results-save-button:disabled{opacity:.55;cursor:not-allowed}.results-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;display:flex}.results-toolbar>div:first-child{min-width:0}.results-toolbar strong{font-size:15px;display:block}.results-toolbar span{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.results-search{border:1px solid var(--border);background:var(--surface);width:min(280px,100%);min-height:42px;color:var(--text-muted);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.results-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none}.results-search input::placeholder{color:var(--text-muted)}.results-table-card{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.results-table-scroll{width:100%;overflow-x:auto}.results-table{border-collapse:collapse;width:100%;min-width:920px}.results-table th{background:var(--surface-solid);border-bottom:1px solid var(--border);color:var(--text-muted);text-align:left;letter-spacing:.05em;white-space:nowrap;padding:13px 12px;font-size:11px;font-weight:800}.results-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px}.results-table tbody tr:last-child td{border-bottom:0}.results-table tbody tr:hover{background:var(--surface-hover)}.results-student-column{width:270px}.results-student{align-items:center;gap:10px;min-width:210px;display:flex}.results-avatar{width:36px;height:36px;color:var(--primary-light);background:linear-gradient(135deg,#7c3aed3d,#2563eb2e);border-radius:10px;flex:0 0 36px;place-items:center;font-weight:850;display:grid}.results-student strong{color:var(--text);font-size:13px;line-height:1.35;display:block}.results-student span{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.score-input{border:1px solid var(--border);background:var(--surface-solid);width:78px;height:38px;color:var(--text);text-align:center;font:inherit;border-radius:8px;outline:none;padding:0 9px;font-weight:700}.score-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1f}.total-score{color:var(--text);font-weight:850}.grade-badge{background:var(--surface-solid);border:1px solid var(--border);min-width:42px;min-height:29px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:850;display:inline-flex}.grade-a1{color:#22c55e;background:#22c55e14;border-color:#22c55e47}.grade-b2,.grade-b3{color:#38bdf8;background:#38bdf814;border-color:#38bdf847}.grade-c4,.grade-c5,.grade-c6{color:#a78bfa;background:#a78bfa14;border-color:#a78bfa47}.grade-d7,.grade-e8{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b47}.grade-f9{color:#f87171;background:#f8717114;border-color:#f8717147}.remark-text{color:var(--text-secondary);white-space:nowrap;font-size:12px}.points-value{color:var(--text);font-weight:800}.published-badge{color:#4ade80;text-transform:uppercase;background:#22c55e1a;border-radius:5px;width:fit-content;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:800;display:block}.results-no-match{text-align:center;color:var(--text-muted);padding:35px 20px}.results-footer{border:1px solid var(--border);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:15px;margin-top:15px;padding:14px 16px;display:flex}.results-footer>div:first-child strong{font-size:13px;display:block}.results-footer>div:first-child span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.results-save-button{background:var(--primary);color:#fff;border-color:#0000;min-width:165px}.results-save-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.results-loading{min-height:220px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;display:flex}.results-empty-state{text-align:center;border:1px solid var(--border);background:var(--surface);min-height:270px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:35px 20px;display:flex}.results-selection-state{margin-top:5px}.results-empty-icon{width:58px;height:58px;color:var(--primary-light);background:#7c3aed1a;border-radius:15px;place-items:center;margin-bottom:13px;display:grid}.results-empty-state h2{margin:0;font-size:18px}.results-empty-state p{max-width:480px;color:var(--text-muted);margin:7px 0 0;line-height:1.5}.results-spin{animation:.8s linear infinite results-spin}@keyframes results-spin{to{transform:rotate(360deg)}}@media (width<=1050px){.results-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.results-refresh-button{width:100%}}@media (width<=720px){.results-hero{flex-direction:column}.results-year-card{width:100%;min-width:0}.results-controls{grid-template-columns:1fr}.results-toolbar{flex-direction:column;align-items:stretch}.results-search{width:100%}.results-footer{flex-direction:column;align-items:stretch}.results-save-button{width:100%}}.results-footer-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.results-publish-button{color:#e0f2fe;min-height:44px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#06b6d42e,#2563eb33);border:1px solid #06b6d473;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;transition:transform .18s,border-color .18s,background .18s,opacity .18s;display:inline-flex}.results-publish-button:hover:not(:disabled){background:linear-gradient(135deg,#06b6d447,#2563eb4d);border-color:#06b6d4cc;transform:translateY(-1px)}.results-publish-button:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.results-footer-actions{width:100%}.results-footer-actions button{flex:1}}.settings-page{width:100%;max-width:1400px;margin:0 auto}.settings-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.settings-eyebrow{color:var(--primary-light);letter-spacing:1.7px;margin-bottom:8px;font-size:10px;font-weight:800;display:inline-block}.settings-heading h1{letter-spacing:-.8px;margin:0;font-size:30px}.settings-heading p{color:var(--text-muted);margin:8px 0 0;font-size:14px;line-height:1.6}.settings-heading-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue), var(--cyan));border-radius:15px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 12px 30px #7c3aed40}.settings-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-sidebar,.settings-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.settings-sidebar{border-radius:18px;padding:16px}.settings-sidebar-title{color:var(--text-muted);letter-spacing:1.2px;text-transform:uppercase;padding:8px 10px 14px;font-size:11px;font-weight:800}.settings-section-list{flex-direction:column;gap:6px;display:flex}.settings-section{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;padding:12px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:flex}.settings-section:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border);transform:translate(2px)}.settings-section.active{color:#fff;background:linear-gradient(135deg,#7c3aedd9,#2563ebcc);border-color:#a78bfa59}.settings-section-icon{background:#ffffff12;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.settings-section-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-section-copy strong{font-size:13px}.settings-section-copy small{color:var(--text-muted);font-size:10px;line-height:1.35}.settings-section.active .settings-section-copy small{color:#ffffffb8}.settings-content{border-radius:18px;min-height:500px;padding:26px}.settings-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.settings-card-header h2,.settings-empty-section h2{margin:0;font-size:19px}.settings-card-header p,.settings-empty-section p{color:var(--text-muted);margin:7px 0 0;font-size:13px;line-height:1.6}.settings-card-icon{width:42px;height:42px;color:var(--primary-light);border:1px solid var(--border-strong);background:#7c3aed1f;border-radius:11px;flex-shrink:0;place-items:center;display:grid}.settings-form{flex-direction:column;gap:20px;padding-top:24px;display:flex}.settings-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-field label{color:var(--text-secondary);font-size:12px;font-weight:700}.settings-field input,.settings-field textarea{width:100%;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:11px;outline:none;transition:border-color .2s,box-shadow .2s}.settings-field input{min-height:46px;padding:0 13px}.settings-field textarea{resize:vertical;min-height:110px;padding:12px 13px}.settings-field input::placeholder,.settings-field textarea::placeholder{color:var(--text-muted)}.settings-field input:focus,.settings-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1f}.settings-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:15px;margin-top:28px;padding-top:20px;display:flex}.settings-saved{color:#34d399;font-size:12px;font-weight:600}.settings-save-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));cursor:pointer;border:1px solid #a78bfa59;border-radius:10px;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px #2563eb33}.settings-save-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #2563eb47}.settings-empty-section{min-height:440px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.settings-empty-section svg{color:var(--primary-light);margin-bottom:14px}.settings-empty-section p{max-width:400px}@media (width<=900px){.settings-layout{grid-template-columns:1fr}.settings-section-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=600px){.settings-heading h1{font-size:25px}.settings-heading-icon{width:46px;height:46px}.settings-content{padding:20px}.settings-section-list,.settings-form-row{grid-template-columns:1fr}.settings-actions{flex-direction:column;align-items:stretch}.settings-save-button{justify-content:center}}.school-logo-area{border:1px solid var(--border);background:#7c3aed0d;border-radius:15px;align-items:center;gap:20px;margin-top:24px;padding:18px;display:flex}.school-logo-preview{width:88px;height:88px;color:var(--primary-light);border:1px solid var(--border-strong);background:linear-gradient(135deg,#7c3aed2e,#2563eb1f);border-radius:18px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.school-logo-preview img{object-fit:contain;width:100%;height:100%;padding:8px}.school-logo-info{flex-direction:column;gap:6px;min-width:0;display:flex}.school-logo-info strong{font-size:14px}.school-logo-info p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.school-logo-info>small{color:var(--text-muted);font-size:10px}.school-logo-actions{gap:8px;margin:6px 0 2px;display:flex}.logo-upload-button,.logo-remove-button{cursor:pointer;border-radius:9px;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.logo-upload-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue))}.logo-remove-button{color:#fca5a5;background:#ef444414;border:1px solid #ef44442e}.appearance-panel{width:100%}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.theme-card{min-width:0;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:14px;padding:0;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.theme-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.theme-card.active{border-color:var(--primary);box-shadow:0 0 0 2px #7c3aed1f,0 15px 35px #7c3aed24}.theme-preview{justify-content:center;align-items:center;height:105px;padding:15px;display:flex}.theme-preview-window{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid;border-radius:10px;align-items:flex-end;gap:7px;width:78%;height:65px;padding:10px;display:flex;box-shadow:inset 0 1px #ffffff1f,0 8px 25px #00000040}.theme-preview-window span{opacity:.9;border-radius:5px;flex:1;height:28px;display:block}.theme-card-info{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:65px;padding:11px 12px;display:flex}.theme-card-info>div{flex-direction:column;gap:4px;min-width:0;display:flex}.theme-card-info strong{font-size:12px}.theme-card-info small{color:var(--text-muted);font-size:9px;line-height:1.4}.theme-check{color:#fff;background:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;display:grid}.appearance-controls{border-top:1px solid var(--border);flex-direction:column;gap:20px;margin-top:24px;padding-top:24px;display:flex}.appearance-control{border:1px solid var(--border);background:#7c3aed0a;border-radius:13px;padding:16px}.appearance-control-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:13px;display:flex}.appearance-control-heading>div{flex-direction:column;gap:4px;display:flex}.appearance-control-heading strong{font-size:12px}.appearance-control-heading small{color:var(--text-muted);font-size:10px}.appearance-control-heading>span{color:var(--primary-light);font-size:12px;font-weight:800}.appearance-control input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.custom-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.color-input{background:var(--surface-solid);border:1px solid var(--border);border-radius:11px;align-items:center;gap:10px;min-height:46px;padding:5px 12px 5px 5px;display:flex}.color-input input[type=color]{cursor:pointer;background:0 0;border:0;width:36px;height:36px;padding:2px}.color-input span{color:var(--text-secondary);font-family:monospace;font-size:11px}@media (width<=1100px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.school-logo-area{flex-direction:column;align-items:flex-start}.theme-grid,.custom-colors{grid-template-columns:1fr}}.account-security{flex-direction:column;gap:0;display:flex}.account-security-form{max-width:680px}.account-security-form h3{color:var(--text);margin:0;font-size:15px}.account-security-description{color:var(--text-muted);margin:7px 0 0;font-size:12px;line-height:1.65}.account-security-form input[readonly]{opacity:.75;cursor:not-allowed}.account-security-divider{background:var(--border);height:1px;margin-top:28px}.account-security-form .settings-save-button:disabled{opacity:.65;cursor:wait}.account-feedback{border:1px solid var(--border);border-radius:11px;align-items:flex-start;gap:10px;margin-top:20px;padding:13px 15px;font-size:12px;line-height:1.6;display:flex}.account-feedback svg{flex-shrink:0;margin-top:1px}.account-feedback.success{color:#059669;background:#10b98117;border-color:#10b98147}.account-feedback.error{color:#dc2626;background:#ef444414;border-color:#ef444440}@media (width<=700px){.account-security .settings-card-header{gap:12px}.account-security-form{max-width:none}}.notifications-page{min-height:100%;color:var(--text);padding:28px}.notifications-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.notifications-eyebrow{color:var(--primary-light);letter-spacing:.12em;align-items:center;gap:7px;margin-bottom:8px;font-size:11px;font-weight:800;display:inline-flex}.notifications-header h1{letter-spacing:-.03em;margin:0;font-size:30px;font-weight:800;line-height:1.1}.notifications-header p{color:var(--text-secondary);margin:8px 0 0;font-size:14px}.notifications-header-actions{flex-wrap:wrap;gap:10px;display:flex}.notifications-header-actions button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.notifications-header-actions button:hover:not(:disabled){transform:translateY(-1px)}.notifications-refresh{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border)!important}.notifications-refresh:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)!important}.notifications-mark-all{color:#fff;background:var(--primary);border:1px solid var(--primary)!important}.notifications-mark-all:hover:not(:disabled){background:var(--primary-light)}.notifications-header-actions button:disabled{opacity:.5;cursor:not-allowed}.notifications-summary{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;display:flex}.notifications-summary-icon{width:44px;height:44px;color:var(--primary-light);border:1px solid var(--border-strong);background:#7c3aed1f;border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.notifications-summary strong,.notifications-summary span{display:block}.notifications-summary strong{font-size:14px}.notifications-summary span{color:var(--text-muted);margin-top:3px;font-size:12px}.notifications-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.notifications-toolbar{border-bottom:1px solid var(--border);align-items:center;min-height:66px;padding:0 18px;display:flex}.notifications-tabs{align-items:center;gap:6px;display:flex}.notifications-tabs button{min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.notifications-tabs button span{background:var(--surface-hover);border-radius:7px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:10px;display:inline-grid}.notifications-tabs button:hover{color:var(--text);background:var(--surface-hover)}.notifications-tabs button.active{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.notifications-tabs button.active span{color:var(--primary-light)}.notifications-list{flex-direction:column;display:flex}.notification-card{border-bottom:1px solid var(--border);gap:14px;padding:18px;transition:background .18s;display:flex}.notification-card:last-child{border-bottom:0}.notification-card:hover{background:var(--surface-hover)}.notification-card.unread{background:linear-gradient(90deg,#7c3aed12,#0000 35%)}.notification-type-icon{width:40px;height:40px;color:var(--primary-light);border:1px solid var(--border-strong);background:#7c3aed1c;border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.notification-type-icon.success{color:#22c55e;background:#22c55e1a;border-color:#22c55e40}.notification-type-icon.warning{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b40}.notification-type-icon.error{color:#ef4444;background:#ef44441a;border-color:#ef444440}.notification-card-content{flex:1;min-width:0}.notification-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notification-card-top>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.notification-card h3{color:var(--text);margin:0;font-size:14px;font-weight:750}.notification-unread-label{color:var(--primary-light);letter-spacing:.06em;background:#7c3aed1f;border-radius:5px;padding:3px 6px;font-size:9px;font-weight:800}.notification-time{color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;font-size:11px;display:inline-flex}.notification-card p{color:var(--text-secondary);margin:7px 0 0;font-size:13px;line-height:1.55}.notification-card-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.notification-card-actions button{border:1px solid var(--border);min-height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.notification-card-actions button:hover:not(:disabled){color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.notification-card-actions .notification-delete:hover:not(:disabled){color:#ef4444;border-color:#ef44444d}.notification-card-actions button:disabled{opacity:.5;cursor:not-allowed}.notifications-state{text-align:center;min-height:320px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:40px;display:flex}.notifications-state strong{color:var(--text);font-size:15px}.notifications-state span{max-width:360px;font-size:12px;line-height:1.5}.notifications-empty-icon{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e38;border-radius:15px;place-items:center;width:52px;height:52px;margin-bottom:5px;display:grid}.notifications-spin{animation:.8s linear infinite notifications-spin}@keyframes notifications-spin{to{transform:rotate(360deg)}}@media (width<=760px){.notifications-page{padding:18px}.notifications-header{flex-direction:column}.notifications-header-actions{width:100%}.notifications-header-actions button{flex:1}.notification-card-top{flex-direction:column;gap:6px}.notification-time{align-self:flex-start}}.messaging-page{min-height:100%;color:var(--text);padding:28px}.messaging-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.messaging-eyebrow{color:var(--primary-light);letter-spacing:.12em;align-items:center;gap:7px;margin-bottom:8px;font-size:11px;font-weight:800;display:inline-flex}.messaging-header h1,.messaging-history-header h2{letter-spacing:-.03em;margin:0;font-weight:800}.messaging-header h1{font-size:30px}.messaging-history-header h2{font-size:20px}.messaging-header p{color:var(--text-secondary);margin:8px 0 0;font-size:14px}.messaging-refresh,.messaging-send-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:750;display:inline-flex}.messaging-refresh{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border)}.messaging-send-button{color:#fff;background:var(--primary);border:1px solid var(--primary)}.messaging-refresh:hover:not(:disabled),.messaging-send-button:hover:not(:disabled){transform:translateY(-1px)}.messaging-refresh:disabled,.messaging-send-button:disabled{opacity:.5;cursor:not-allowed}.messaging-alert{border-radius:12px;align-items:center;gap:9px;margin-bottom:16px;padding:12px 15px;font-size:13px;font-weight:650;display:flex}.messaging-alert-success{color:#86efac;background:#22c55e17;border:1px solid #22c55e38}.messaging-alert-error{color:#fca5a5;background:#ef444417;border:1px solid #ef444438}.messaging-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.messaging-stat{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:13px;padding:16px;display:flex}.messaging-stat-icon{width:42px;height:42px;color:var(--primary-light);border:1px solid var(--border-strong);background:#7c3aed1f;border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.messaging-sms-icon{color:#22d3ee;background:#06b6d41a}.messaging-email-icon{color:#60a5fa;background:#2563eb1a}.messaging-report-icon{color:#4ade80;background:#22c55e1a}.messaging-stat strong,.messaging-stat span{display:block}.messaging-stat strong{font-size:21px}.messaging-stat span{color:var(--text-muted);margin-top:3px;font-size:12px}.messaging-panel,.messaging-history{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.messaging-panel{margin-bottom:24px}.messaging-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:72px;padding:14px 18px;display:flex}.messaging-search{min-width:260px;height:40px;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;flex:1;align-items:center;gap:9px;padding:0 12px;display:flex}.messaging-search input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.messaging-toolbar select{min-width:145px;height:40px;color:var(--text);background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;outline:none;padding:0 11px}.messaging-selection-bar{min-height:50px;color:var(--text-muted);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:0 18px;font-size:12px;display:flex}.messaging-selection-bar label{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;font-weight:650;display:inline-flex}.messaging-batch-label{color:var(--primary-light);margin-left:auto;font-weight:750}.messaging-table-wrap{overflow-x:auto}.messaging-table{border-collapse:collapse;width:100%}.messaging-table th{height:46px;color:var(--text-muted);background:var(--surface-hover);border-bottom:1px solid var(--border);text-align:left;letter-spacing:.08em;text-transform:uppercase;padding:0 14px;font-size:10px;font-weight:800}.messaging-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:13px 14px;font-size:13px}.messaging-table tbody tr:last-child td{border-bottom:0}.messaging-table tbody tr:hover{background:#7c3aed09}.messaging-row-selected{background:#7c3aed12!important}.messaging-check-cell{width:42px;padding-left:18px!important}.messaging-student strong,.messaging-student span,.messaging-guardian strong{display:block}.messaging-student strong,.messaging-guardian strong{color:var(--text);font-weight:700}.messaging-student span{color:var(--text-muted);margin-top:3px;font-size:11px}.messaging-contacts{flex-direction:column;gap:5px;display:flex}.messaging-contacts span{white-space:nowrap;color:var(--text-secondary);align-items:center;gap:5px;font-size:11px;display:inline-flex}.messaging-no-contact{color:#f87171!important}.messaging-report-status{white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:750;display:inline-flex}.messaging-report-ready{color:#86efac;background:#22c55e17}.messaging-report-missing{color:#fbbf24;background:#f59e0b17}.messaging-loading,.messaging-empty{min-height:250px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.messaging-empty h2,.messaging-empty h3{color:var(--text);margin:0}.messaging-empty p{margin:0;font-size:13px}.messaging-history{padding-bottom:4px}.messaging-history-header{border-bottom:1px solid var(--border);padding:20px 20px 16px}.messaging-history-list{flex-direction:column;display:flex}.messaging-history-row{border-bottom:1px solid var(--border);align-items:center;gap:13px;min-height:68px;padding:10px 18px;display:flex}.messaging-history-row:last-child{border-bottom:0}.messaging-history-channel{width:36px;height:36px;color:var(--primary-light);background:#7c3aed1a;border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.messaging-history-main{flex:1;min-width:0}.messaging-history-main strong,.messaging-history-main span{display:block}.messaging-history-main strong{color:var(--text);font-size:13px}.messaging-history-main span{color:var(--text-muted);margin-top:3px;font-size:11px}.messaging-history-row time{color:var(--text-muted);white-space:nowrap;font-size:10px}.messaging-status{text-transform:uppercase;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.messaging-status-pending{color:#fbbf24;background:#f59e0b17}.messaging-status-sent{color:#86efac;background:#22c55e17}.messaging-status-failed{color:#fca5a5;background:#ef444417}.messaging-history-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.messaging-spin{animation:.9s linear infinite messaging-spin}@keyframes messaging-spin{to{transform:rotate(360deg)}}@media (width<=1100px){.messaging-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.messaging-toolbar{flex-wrap:wrap}.messaging-search{min-width:100%}}@media (width<=700px){.messaging-page{padding:18px}.messaging-header{flex-direction:column}.messaging-stats{grid-template-columns:1fr}.messaging-toolbar select,.messaging-send-button{width:100%}.messaging-history-row{flex-wrap:wrap;align-items:flex-start}.messaging-history-row time{width:100%;margin-left:49px}}.login-page{width:100%;min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 18%, #7c3aed38, transparent 32%), radial-gradient(circle at 88% 20%, #2563eb2e, transparent 30%), radial-gradient(circle at 50% 100%, #06b6d41f, transparent 34%), var(--bg);justify-content:center;align-items:center;padding:32px;display:flex;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.login-page:before{background:#7c3aed1a;width:420px;height:420px;top:-180px;left:-150px;box-shadow:0 0 120px #7c3aed2e}.login-page:after{background:#06b6d414;width:500px;height:500px;bottom:-240px;right:-220px;box-shadow:0 0 140px #06b6d424}.login-page .login-background-grid{pointer-events:none;background-image:linear-gradient(#7c3aed0b 1px,#0000 1px),linear-gradient(90deg,#2563eb0b 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.login-shell{z-index:2;border:1px solid var(--border-strong);background:var(--surface);-webkit-backdrop-filter:blur(28px);border-radius:28px;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);width:min(1080px,100%);min-height:650px;display:grid;position:relative;overflow:hidden;box-shadow:0 35px 100px #0f172a2e,0 0 80px #7c3aed14}.login-brand-panel{color:#fff;background:radial-gradient(circle at 15% 15%,#7c3aed6b,#0000 38%),radial-gradient(circle at 90% 80%,#06b6d43d,#0000 34%),linear-gradient(145deg,#090d22 0%,#10133b 45%,#101b43 100%);flex-direction:column;justify-content:space-between;padding:54px;display:flex;position:relative;overflow:hidden}.login-brand-panel:before{content:"";border:1px solid #a78bfa38;border-radius:50%;width:330px;height:330px;position:absolute;top:-120px;right:-120px;box-shadow:0 0 70px #7c3aed29,inset 0 0 70px #2563eb1a}.login-brand-panel:after{content:"";border:1px solid #06b6d42e;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-100px;left:-110px}.login-brand-content,.login-brand-footer{z-index:2;position:relative}.login-brand-logo{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb,#06b6d4);border-radius:19px;place-items:center;width:66px;height:66px;margin-bottom:28px;display:grid;box-shadow:0 18px 45px #7c3aed59,0 0 45px #06b6d429}.login-brand-logo svg{width:32px;height:32px}.login-brand-eyebrow{color:#a78bfa;letter-spacing:2px;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.login-brand-title{letter-spacing:-2px;max-width:500px;margin:0;font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1.03}.login-brand-title span{background:linear-gradient(90deg,#a78bfa,#60a5fa,#22d3ee);color:#0000;-webkit-background-clip:text;background-clip:text;display:block}.login-brand-description{color:#e2e8f0c2;max-width:460px;margin:24px 0 0;font-size:15px;line-height:1.75}.login-feature-list{gap:13px;margin-top:38px;display:grid}.login-feature{color:#f1f5f9e0;align-items:center;gap:11px;font-size:13px;font-weight:600;display:flex}.login-feature-icon{color:#c4b5fd;background:#7c3aed24;border:1px solid #a78bfa33;border-radius:9px;flex-shrink:0;place-items:center;width:29px;height:29px;display:grid}.login-brand-footer{color:#94a3b8cc;align-items:center;gap:9px;font-size:11px;font-weight:600;display:flex}.login-brand-footer-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #22c55ea6}.login-form-panel{background:linear-gradient(#ffffff75,#ffffff2e);justify-content:center;align-items:center;padding:54px;display:flex}.theme-dark .login-form-panel{background:linear-gradient(#0f172a6b,#02061738)}.login-form-container{width:100%;max-width:410px}.login-form-header{margin-bottom:34px}.login-form-kicker{color:var(--primary);letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:13px;font-size:11px;font-weight:800;display:inline-flex}.login-form-title{color:var(--text);letter-spacing:-1px;margin:0;font-size:31px;font-weight:800;line-height:1.15}.login-form-subtitle{color:var(--text-muted);margin:10px 0 0;font-size:14px;line-height:1.65}.login-field{margin-bottom:21px}.login-field-label{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.login-input-wrap{position:relative}.login-input-icon{width:18px;height:18px;color:var(--text-muted);pointer-events:none;transition:color .2s;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.login-input{width:100%;height:53px;color:var(--text);border:1px solid var(--border);background:var(--surface-solid);border-radius:14px;outline:none;padding:0 15px 0 46px;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 8px 25px #0f172a0a,inset 0 1px #ffffff2e}.theme-dark .login-input{background:#0f172ab8}.login-input::placeholder{color:var(--text-muted);opacity:.75}.login-input:hover{border-color:var(--border-strong)}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #7c3aed1a,0 12px 28px #7c3aed14}.login-input-wrap:focus-within .login-input-icon{color:var(--primary)}.login-password-toggle{width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;transition:color .2s,background .2s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--primary);background:var(--surface-hover)}.login-password-input{padding-right:52px}.login-error{color:#dc2626;background:#ef444412;border:1px solid #dc26262e;border-radius:13px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:13px 14px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.theme-dark .login-error{color:#fca5a5;background:#ef44441a}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#2563eb 60%,#0891b2);border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;height:54px;margin-top:8px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s;display:flex;box-shadow:0 14px 30px #2563eb38,0 6px 18px #7c3aed33}.login-submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 18px 38px #2563eb47,0 8px 24px #7c3aed3d}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;opacity:.7}.login-theme-toggle{z-index:10;position:absolute;top:24px;right:24px}.screen-loader{width:100%;min-height:100vh;color:var(--text);background:radial-gradient(circle at 20% 20%, #7c3aed29, transparent 30%), radial-gradient(circle at 80% 80%, #06b6d41f, transparent 30%), var(--bg);justify-content:center;align-items:center;gap:12px;font-size:14px;font-weight:700;display:flex}.spinner{border:3px solid #7c3aed2e;border-top-color:var(--primary);border-radius:50%;width:21px;height:21px;animation:.75s linear infinite fameSchoolSpin;display:inline-block}@keyframes fameSchoolSpin{to{transform:rotate(360deg)}}@media (width<=900px){.login-page{padding:22px}.login-shell{grid-template-columns:1fr;max-width:560px;min-height:auto}.login-brand-panel{min-height:330px;padding:38px}.login-brand-footer{margin-top:38px}.login-form-panel{padding:38px}}@media (width<=560px){.login-page{padding:14px}.login-shell{border-radius:22px}.login-brand-panel{min-height:auto;padding:30px 25px}.login-brand-logo{border-radius:16px;width:56px;height:56px;margin-bottom:22px}.login-brand-title{font-size:34px}.login-brand-description{font-size:13px}.login-feature-list{margin-top:26px}.login-form-panel{padding:30px 25px 34px}.login-form-title{font-size:27px}.login-theme-toggle{top:14px;right:14px}}@media (prefers-reduced-motion:reduce){.login-submit,.login-input,.login-password-toggle{transition:none}.spinner{animation:none}}.my-profile-page{max-width:850px;color:var(--text-primary,var(--text,#e8edff));margin:0 auto;padding:24px}.my-profile-heading{align-items:center;gap:14px;margin-bottom:24px;display:flex}.my-profile-icon{border:1px solid var(--border);width:52px;height:52px;color:var(--primary-light);background:var(--surface);border-radius:14px;place-items:center;display:grid}.my-profile-heading h1{margin:0 0 6px}.my-profile-heading p,.my-profile-note{color:var(--text-muted);line-height:1.6}.my-profile-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:28px}.my-profile-avatar{background:var(--primary-light);color:#fff;border-radius:50%;place-items:center;width:68px;height:68px;margin-bottom:24px;font-size:28px;font-weight:700;display:grid}.my-profile-card label{margin:18px 0 8px;font-weight:600;display:block}.my-profile-card input{box-sizing:border-box;border:1px solid var(--border);background:var(--background-secondary,var(--surface));width:100%;color:inherit;font:inherit;border-radius:10px;padding:13px 14px}.my-profile-card input:focus{outline:2px solid var(--primary-light);outline-offset:1px}.my-profile-card input[readonly]{opacity:.75}.my-profile-note{margin-top:18px;font-size:13px}.my-profile-success{color:#22c55e}.my-profile-error{color:#ef4444;overflow-wrap:anywhere}.my-profile-save{background:var(--primary-light);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;margin-top:12px;padding:12px 18px;font-weight:600;display:inline-flex}.my-profile-save:disabled{opacity:.6;cursor:not-allowed}.my-profile-spinner{animation:1s linear infinite my-profile-spin}@keyframes my-profile-spin{to{transform:rotate(360deg)}}.my-profile-avatar{justify-content:center;align-items:center;display:flex;overflow:hidden}.my-profile-avatar img{object-fit:cover;width:100%;height:100%;display:block}.my-profile-file-input{display:none}.my-profile-avatar-button{color:var(--text-primary,inherit);background:var(--surface-secondary,transparent);border:1px solid var(--border-color,currentColor);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;margin:12px auto 4px;padding:10px 15px;display:inline-flex}.my-profile-avatar-button:disabled{opacity:.65;cursor:wait}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:320px}button,input{font:inherit}button{border:0}.app-shell{min-height:100vh;transition:background .3s,color .3s;display:flex;overflow:hidden}.theme-dark{--bg:#020617;--bg-secondary:#071027;--surface:#0a142ad1;--surface-solid:#0b1730;--surface-hover:#162544e6;--border:#94a3b826;--border-strong:#7c3aed66;--text:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#8ea0ba;--primary:#7c3aed;--primary-light:#a78bfa;--blue:#2563eb;--cyan:#06b6d4;--shadow:0 20px 60px #00000059}.theme-light{--bg:#f1f5f9;--bg-secondary:#e8eef7;--surface:#ffffffe0;--surface-solid:#fff;--surface-hover:#f8fafc;--border:#0f172a1a;--border-strong:#7c3aed40;--text:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--primary:#6d28d9;--primary-light:#7c3aed;--blue:#2563eb;--cyan:#0891b2;--shadow:0 20px 50px #0f172a1a}.app-shell{color:var(--text);background:radial-gradient(circle at 10% 0%, #7c3aed24, transparent 30%), radial-gradient(circle at 90% 10%, #2563eb1f, transparent 28%), var(--bg)}.sidebar{z-index:100;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:linear-gradient(#091328f5,#040b1bfa);flex-direction:column;width:292px;height:100vh;padding:24px 18px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:15px 0 50px #0003}.theme-light .sidebar{background:#fffffff0}.sidebar-brand{align-items:center;gap:13px;min-height:58px;padding:0 10px 24px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue), var(--cyan));border-radius:15px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 30px #7c3aed59,0 0 30px #06b6d41f}.brand-text{flex-direction:column;gap:4px;display:flex}.brand-text strong{letter-spacing:-.4px;font-size:19px}.brand-text span{color:var(--text-muted);font-size:11px;font-weight:500}.sidebar-section-label{color:var(--text-muted);letter-spacing:1.5px;padding:12px 14px 10px;font-size:10px;font-weight:800}.sidebar-nav{flex-direction:column;gap:6px;padding-right:2px;display:flex;overflow-y:auto}.nav-item{width:100%;min-height:52px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:13px;padding:0 14px;font-size:14px;font-weight:600;transition:background .2s,color .2s,border .2s,transform .2s;display:flex}.nav-item:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border);transform:translate(2px)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#7c3aede6,#2563ebd9);border-color:#a78bfa59;box-shadow:0 12px 30px #2563eb33,inset 0 1px #ffffff1f}.nav-icon{place-items:center;width:26px;display:grid}.notification-dot{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:24px;height:24px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;display:grid}.sidebar-footer{margin-top:auto;padding-top:18px}.admin-mini-card{border:1px solid var(--border);background:#ffffff0b;border-radius:16px;align-items:center;gap:10px;padding:12px;display:flex}.admin-avatar,.profile-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));flex-shrink:0;place-items:center;font-weight:800;display:grid}.admin-avatar{border-radius:12px;width:40px;height:40px}.admin-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.admin-info strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.admin-info span{color:var(--text-muted);font-size:10px}.mini-icon-button{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:grid}.mini-icon-button:hover{color:var(--text);background:var(--surface-hover)}.main-area{width:calc(100% - 292px);min-height:100vh;margin-left:292px}.top-header{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);justify-content:space-between;align-items:center;min-height:82px;padding:0 34px;display:flex;position:sticky;top:0}.header-left,.header-actions{align-items:center;display:flex}.header-left{gap:15px}.header-actions{gap:12px}.header-title{flex-direction:column;gap:3px;display:flex}.header-title span{color:var(--text-muted);font-size:11px;font-weight:600}.header-title strong{letter-spacing:-.3px;font-size:18px}.menu-button,.mobile-close-button{display:none}.theme-toggle,.header-notification,.header-profile{min-height:46px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;transition:background .2s,transform .2s,border .2s;display:flex}.theme-toggle:hover,.header-notification:hover,.header-profile:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.theme-toggle{gap:9px;padding:0 15px;font-size:13px;font-weight:700}.header-notification{width:46px;position:relative}.header-notification span{color:#fff;border:2px solid var(--bg);background:#ef4444;border-radius:50%;place-items:center;width:19px;height:19px;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.profile-wrapper{position:relative}.header-profile{gap:10px;padding:0 12px 0 7px}.profile-avatar{border-radius:10px;width:34px;height:34px;font-size:12px;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%;display:block}.profile-details{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.profile-details strong{font-size:12px}.profile-details span{color:var(--text-muted);font-size:10px}.profile-menu{background:var(--surface-solid);border:1px solid var(--border);width:190px;box-shadow:var(--shadow);z-index:200;border-radius:15px;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.profile-menu button{width:100%;min-height:44px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.profile-menu button:hover{color:var(--text);background:var(--surface-hover)}.content-area{width:100%;padding:34px}.page{width:100%;max-width:1600px;margin:0 auto}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.page-heading{align-items:center;gap:17px;display:flex}.page-heading-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));border:1px solid #ffffff1f;border-radius:16px;flex-shrink:0;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 12px 30px #2563eb2e}.page-heading h1{letter-spacing:-1px;margin:0 0 6px;font-size:clamp(25px,3vw,34px)}.page-heading p{color:var(--text-muted);margin:0;font-size:14px}.primary-button,.secondary-button{cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:0 20px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));box-shadow:0 10px 25px #7c3aed38,inset 0 1px #ffffff29}.primary-button:hover{transform:translateY(-2px);box-shadow:0 15px 35px #7c3aed4d,inset 0 1px #ffffff2e}.secondary-button{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border)}.secondary-button:hover{color:var(--text);background:var(--surface-hover);transform:translateY(-1px)}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}.stat-card,.glass-card{background:linear-gradient(145deg, #ffffff0e, #ffffff05), var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:20px}.stat-card{flex-direction:column;justify-content:center;min-height:150px;padding:25px;display:flex}.stat-card span{color:var(--text-muted);font-size:13px;font-weight:600}.stat-card strong{letter-spacing:-1.5px;margin:7px 0;font-size:38px;line-height:1}.stat-card small{color:var(--text-muted);font-size:12px}.large-card{min-height:430px;padding:26px}.card-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.card-toolbar h2{margin:0 0 5px;font-size:18px}.card-toolbar p{color:var(--text-muted);margin:0;font-size:12px}.toolbar-actions{align-items:center;gap:10px;display:flex}.search-box{width:280px;height:46px;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.search-box input::placeholder{color:var(--text-muted)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;display:flex}.empty-icon{width:72px;height:72px;color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:20px;place-items:center;margin-bottom:18px;display:grid}.empty-state h3{margin:0 0 8px;font-size:18px}.empty-state p{max-width:420px;color:var(--text-muted);margin:0 0 22px;font-size:13px}.sidebar-overlay{display:none}@media (width<=1100px){.sidebar{transition:transform .3s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020617a6;display:block;position:fixed;inset:0}.main-area{width:100%;margin-left:0}.menu-button{width:46px;height:46px;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:13px;place-items:center;display:grid}.mobile-close-button{width:40px;height:40px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:11px;place-items:center;margin-left:auto;display:grid}}@media (width<=800px){.top-header{padding:0 20px}.content-area{padding:24px 20px}.page-header{flex-direction:column;align-items:flex-start}.page-header .primary-button{width:100%}.stats-grid{grid-template-columns:1fr}.card-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions,.search-box{width:100%}.header-profile{padding-right:7px}.profile-details,.header-profile>svg,.theme-toggle span{display:none}.theme-toggle{width:46px;padding:0}}@media (width<=520px){.content-area{padding:20px 14px}.top-header{padding:0 14px}.header-actions{gap:7px}.page-heading{align-items:flex-start}.page-heading-icon{width:50px;height:50px}.page-heading h1{font-size:25px}.large-card{padding:18px}.primary-button,.secondary-button{min-height:48px}}@media (width<=1250px){.dashboard-stats,.role-cards{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}}@media (width<=800px){.dashboard-welcome,.roles-hero{flex-direction:column;align-items:flex-start}.dashboard-batch{width:100%}.dashboard-stats,.roles-overview{grid-template-columns:1fr}.roles-search{width:100%}.roles-section-heading{flex-direction:column;align-items:stretch}.role-cards{grid-template-columns:1fr}.performance-content{flex-direction:column;align-items:stretch;gap:30px}.performance-score{min-width:0}.permission-table{overflow-x:auto}.permission-table-head,.permission-table-row{min-width:700px}}@media (width<=520px){.dashboard-stat-card{min-height:185px}.dashboard-panel-header{padding:16px}.activity-list,.notification-list{padding-left:16px;padding-right:16px}.activity-time{display:none}.performance-bars>div{grid-template-columns:70px 1fr 35px;gap:8px}.roles-primary-button{width:100%}}.dashboard-page,.roles-page{width:100%}.dashboard-welcome{justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.dashboard-eyebrow,.roles-eyebrow{color:var(--primary-light);letter-spacing:1.5px;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:800;display:flex}.status-pulse{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #22c55eb3}.dashboard-welcome h1{letter-spacing:-1.4px;margin:0 0 8px;font-size:clamp(27px,3vw,37px);line-height:1.15}.dashboard-welcome p{color:var(--text-muted);margin:0;font-size:14px}.dashboard-batch{background:var(--surface);border:1px solid var(--border);min-width:205px;box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:13px;padding:16px 18px;display:flex}.dashboard-batch>svg{color:var(--primary-light)}.dashboard-batch div{flex-direction:column;gap:3px;display:flex}.dashboard-batch span{color:var(--text-muted);font-size:10px;font-weight:600}.dashboard-batch strong{font-size:17px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.dashboard-stat-card{background:var(--surface);border:1px solid var(--border);min-height:205px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:22px;position:relative;overflow:hidden}.dashboard-stat-card:after{content:"";opacity:.18;filter:blur(2px);border-radius:50%;width:130px;height:130px;position:absolute;bottom:-55px;right:-50px}.dashboard-stat-purple:after{background:var(--primary)}.dashboard-stat-blue:after{background:var(--blue)}.dashboard-stat-cyan:after{background:var(--cyan)}.dashboard-stat-green:after{background:#22c55e}.dashboard-stat-top{justify-content:space-between;align-items:center;display:flex}.dashboard-stat-icon{color:#fff;border-radius:15px;place-items:center;width:52px;height:52px;display:grid}.dashboard-stat-purple .dashboard-stat-icon{background:linear-gradient(135deg,#7c3aed,#9333ea)}.dashboard-stat-blue .dashboard-stat-icon{background:linear-gradient(135deg,#2563eb,#3b82f6)}.dashboard-stat-cyan .dashboard-stat-icon{background:linear-gradient(135deg,#0891b2,#06b6d4)}.dashboard-stat-green .dashboard-stat-icon{background:linear-gradient(135deg,#16a34a,#22c55e)}.dashboard-more-button{width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:grid}.dashboard-more-button:hover{color:var(--text);background:var(--surface-hover)}.dashboard-stat-content{flex-direction:column;gap:6px;margin-top:22px;display:flex}.dashboard-stat-content span{color:var(--text-muted);font-size:12px;font-weight:600}.dashboard-stat-content strong{letter-spacing:-1px;font-size:29px;line-height:1}.dashboard-stat-bottom{align-items:center;gap:9px;margin-top:17px;display:flex}.dashboard-stat-bottom small{color:var(--text-muted);font-size:10px}.positive-change{color:#22c55e;align-items:center;gap:3px;font-size:11px;font-weight:800;display:inline-flex}.dashboard-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(350px,.85fr);gap:20px;margin-bottom:20px;display:grid}.dashboard-bottom-grid{grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr);gap:20px;display:grid}.dashboard-panel{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.dashboard-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;min-height:82px;padding:18px 22px;display:flex}.dashboard-panel-header>div:first-child{align-items:center;gap:12px;display:flex}.panel-icon{width:43px;height:43px;color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed2e;border-radius:12px;place-items:center;display:grid}.dashboard-panel-header h2{margin:0 0 4px;font-size:15px}.dashboard-panel-header p{color:var(--text-muted);margin:0;font-size:10px}.panel-action-button{color:var(--primary-light);cursor:pointer;background:0 0;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.activity-list{padding:6px 22px 12px}.activity-item{border-bottom:1px solid var(--border);align-items:center;gap:13px;min-height:76px;display:flex}.activity-item:last-child{border-bottom:0}.activity-icon{width:40px;height:40px;color:var(--primary-light);background:#7c3aed1a;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.activity-details{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.activity-details strong{font-size:12px}.activity-details span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.activity-time{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:flex}.upcoming-list{padding:8px 20px 15px}.upcoming-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:73px;display:flex}.upcoming-item:last-child{border-bottom:0}.upcoming-date{width:42px;height:42px;color:var(--cyan);background:#06b6d417;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.upcoming-item>div:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.upcoming-item strong{font-size:11px}.upcoming-item span{color:var(--text-muted);font-size:10px}.upcoming-item small{color:var(--text-muted);font-size:9px}.performance-content{align-items:center;gap:60px;min-height:210px;padding:28px;display:flex}.performance-score{flex-direction:column;gap:8px;min-width:170px;display:flex}.performance-score strong{letter-spacing:-2px;font-size:43px}.performance-score span{color:var(--text-muted);font-size:11px}.performance-bars{flex-direction:column;flex:1;gap:20px;display:flex}.performance-bars>div{grid-template-columns:85px 1fr 40px;align-items:center;gap:12px;display:grid}.performance-bars span{color:var(--text-secondary);font-size:10px}.performance-bars strong{text-align:right;font-size:10px}.progress-track{background:var(--bg-secondary);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), var(--blue), var(--cyan));border-radius:inherit;height:100%}.notification-count{color:#fff;background:#ef4444;border-radius:50%;place-items:center;min-width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.notification-list{padding:10px 22px 17px}.dashboard-notification{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:65px;display:flex}.dashboard-notification:last-child{border-bottom:0}.notification-status{border-radius:50%;flex-shrink:0;width:9px;height:9px}.notification-status.warning{background:#f59e0b;box-shadow:0 0 12px #f59e0b80}.notification-status.blue{background:#3b82f6;box-shadow:0 0 12px #3b82f680}.notification-status.green{background:#22c55e;box-shadow:0 0 12px #22c55e80}.dashboard-notification>div:last-child{flex-direction:column;gap:4px;display:flex}.dashboard-notification strong{font-size:11px}.dashboard-notification span{color:var(--text-muted);font-size:9px}.performance-badge{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e2e;border-radius:8px;padding:6px 10px;font-size:10px;font-weight:800}.roles-hero{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px;display:flex}.roles-eyebrow{color:var(--primary-light)}.roles-hero h1{letter-spacing:-1.4px;margin:0 0 8px;font-size:clamp(27px,3vw,37px)}.roles-hero p{color:var(--text-muted);margin:0;font-size:14px}.roles-primary-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));cursor:pointer;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:9px;min-height:52px;padding:0 21px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 28px #7c3aed3b}.roles-primary-button:hover{transform:translateY(-2px);box-shadow:0 17px 35px #7c3aed52}.roles-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:34px;display:grid}.roles-overview-card{background:var(--surface);border:1px solid var(--border);min-height:105px;box-shadow:var(--shadow);border-radius:17px;align-items:center;gap:15px;padding:20px;display:flex}.roles-overview-icon{border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.roles-overview-icon.purple,.role-large-icon.purple{color:#c4b5fd;background:#7c3aed24;border:1px solid #7c3aed38}.roles-overview-icon.blue,.role-large-icon.blue{color:#93c5fd;background:#2563eb24;border:1px solid #2563eb38}.roles-overview-icon.cyan,.role-large-icon.cyan{color:#67e8f9;background:#06b6d424;border:1px solid #06b6d438}.role-large-icon.green{color:#86efac;background:#22c55e24;border:1px solid #22c55e38}.roles-overview-card>div:last-child{flex-direction:column;gap:4px;display:flex}.roles-overview-card span{color:var(--text-muted);font-size:11px}.roles-overview-card strong{font-size:27px}.roles-section,.permissions-section{margin-bottom:34px}.roles-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.roles-section-heading h2{letter-spacing:-.4px;margin:0 0 5px;font-size:19px}.roles-section-heading p{color:var(--text-muted);margin:0;font-size:11px}.roles-search{width:260px;height:45px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:9px;padding:0 13px;display:flex}.roles-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:11px}.role-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.role-card{background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow);border-radius:19px;padding:20px;transition:transform .2s,border-color .2s}.role-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.role-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.role-large-icon{border-radius:15px;place-items:center;width:54px;height:54px;display:grid}.role-open-button{width:36px;height:36px;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:10px;place-items:center;display:grid}.role-card-title h3{margin:0 0 6px;font-size:16px}.role-card-title p{min-height:34px;color:var(--text-muted);margin:0;font-size:10px;line-height:1.55}.role-user-count{color:var(--text-secondary);align-items:center;gap:6px;margin:17px 0;font-size:10px;font-weight:600;display:flex}.role-permissions{background:var(--bg-secondary);border:1px solid var(--border);border-radius:13px;padding:14px}.role-permissions-header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.role-permissions-header span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:800}.role-permissions-header strong{min-width:20px;height:20px;color:var(--primary-light);background:#7c3aed1a;border-radius:6px;place-items:center;font-size:9px;display:grid}.role-permission{min-height:27px;color:var(--text-secondary);align-items:center;gap:7px;font-size:10px;display:flex}.role-permission svg{color:#22c55e;flex-shrink:0}.role-more-permissions{color:var(--primary-light);margin-top:6px;font-size:9px;font-weight:700}.role-manage-button{width:100%;min-height:43px;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:11px;justify-content:space-between;align-items:center;margin-top:15px;padding:0 13px;font-size:10px;font-weight:700;transition:color .2s,background .2s;display:flex}.role-manage-button:hover{color:var(--text);background:var(--surface-hover)}.permission-table{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.permission-table-head,.permission-table-row{grid-template-columns:220px 1fr;align-items:center;display:grid}.permission-table-head{min-height:52px;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border);letter-spacing:.7px;text-transform:uppercase;padding:0 20px;font-size:10px;font-weight:800}.permission-table-row{border-bottom:1px solid var(--border);min-height:75px;padding:12px 20px}.permission-table-row:last-child{border-bottom:0}.permission-module{align-items:center;gap:10px;display:flex}.permission-module-icon{color:#22c55e;background:#22c55e14;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.permission-module strong{font-size:11px}.permission-actions{flex-wrap:wrap;gap:8px;display:flex}.permission-actions span{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;align-items:center;gap:5px;padding:7px 10px;font-size:9px;font-weight:600;display:inline-flex}.permission-actions svg{color:#22c55e}@media (width<=1250px){.dashboard-stats,.role-cards{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}}@media (width<=800px){.dashboard-welcome,.roles-hero{flex-direction:column;align-items:flex-start}.dashboard-batch{width:100%}.dashboard-stats,.roles-overview{grid-template-columns:1fr}.roles-search{width:100%}.roles-section-heading{flex-direction:column;align-items:stretch}.role-cards{grid-template-columns:1fr}.performance-content{flex-direction:column;align-items:stretch;gap:30px}.performance-score{min-width:0}.permission-table{overflow-x:auto}.permission-table-head,.permission-table-row{min-width:700px}}@media (width<=520px){.dashboard-stat-card{min-height:185px}.dashboard-panel-header{padding:16px}.activity-list,.notification-list{padding-left:16px;padding-right:16px}.activity-time{display:none}.performance-bars>div{grid-template-columns:70px 1fr 35px;gap:8px}.roles-primary-button{width:100%}}.data-table-wrapper{width:100%;margin-top:20px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:850px}.data-table th{color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border);text-align:left;text-transform:uppercase;letter-spacing:.7px;padding:15px 14px;font-size:10px;font-weight:800}.data-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:17px 14px;font-size:12px}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table td strong{color:var(--text);font-size:12px}.data-table td small{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.status-badge{text-transform:capitalize;border-radius:8px;align-items:center;padding:6px 10px;font-size:9px;font-weight:800;display:inline-flex}.status-badge.active{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e2e}.table-actions{align-items:center;gap:7px;display:flex}.table-icon-button{width:38px;height:38px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;place-items:center;display:grid}.table-icon-button:hover{color:var(--text);background:var(--surface-hover)}.table-icon-button.danger:hover{color:#f87171;background:#ef444414;border-color:#ef44444d}.table-empty{min-height:250px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.table-empty svg{color:var(--primary-light);margin-bottom:8px}.table-empty strong{color:var(--text)!important}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617b8;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:20px;width:min(680px,100%);max-height:calc(100vh - 50px);overflow-y:auto;box-shadow:0 30px 100px #00000073,0 0 50px #7c3aed14}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:25px;display:flex}.modal-header h2{margin:0 0 6px;font-size:20px}.modal-header p{color:var(--text-muted);margin:0;font-size:11px}.modal-close{width:40px;height:40px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;place-items:center;display:grid}.modal-close:hover{color:var(--text);background:var(--surface-hover)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:25px;display:grid}.form-grid label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:11px;font-weight:700;display:flex}.form-grid input,.form-grid select{width:100%;min-height:48px;color:var(--text);background:var(--bg-secondary);border:1px solid var(--border);border-radius:11px;outline:none;padding:0 13px;font-size:12px}.form-grid input:focus,.form-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;padding:20px 25px;display:flex}@media (width<=600px){.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal-card{max-height:calc(100vh - 24px)}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}select,.toolbar-select,.form-grid select{border:1px solid var(--border-color,#94a3b838);background-color:var(--card-background,#0f172ab8);width:100%;min-height:50px;color:var(--text-primary,#f8fafc);font:inherit;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;border-radius:12px;outline:none;padding:0 44px 0 16px;font-size:15px;font-weight:500;transition:border-color .2s,box-shadow .2s,background-color .2s}select:hover,.toolbar-select:hover,.form-grid select:hover{border-color:#7c3aeda6}select:focus,.toolbar-select:focus,.form-grid select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed24,0 0 22px #7c3aed1f}select:disabled,.toolbar-select:disabled{opacity:.55;cursor:not-allowed}select option{color:#f8fafc;background:#0f172a;padding:12px}[data-theme=light] select,[data-theme=light] .toolbar-select,[data-theme=light] .form-grid select{color:#0f172a;background-color:#fff;border-color:#0f172a29}[data-theme=light] select option{color:#0f172a;background:#fff}.student-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-modal .form-grid label:first-child{grid-column:span 1}@media (width<=760px){.student-modal .form-grid{grid-template-columns:1fr}}.yb-page{width:100%;min-width:0}.yb-top{border:1px solid var(--border-color);background:radial-gradient(circle at 90% 0%, #7c3aed1f, transparent 34%), radial-gradient(circle at 10% 100%, #2563eb14, transparent 32%), var(--card-bg);min-height:148px;box-shadow:var(--card-shadow);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:27px 29px;display:flex;position:relative;overflow:hidden}.yb-title-area{z-index:1;min-width:0;position:relative}.yb-eyebrow-icon{color:#8b5cf6;background:#7c3aed14;border:1px solid #7c3aed47;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.yb-title-area h1{color:var(--text-color);letter-spacing:-.045em;margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:900;line-height:1.05}.yb-title-area p{max-width:650px;color:var(--muted-text);margin:9px 0 0;font-size:.78rem;line-height:1.55}.yb-add{z-index:2;color:#fff;min-width:158px;height:46px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#2563eb);border:1px solid #7c3aed61;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-size:.76rem;font-weight:850;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;position:relative;box-shadow:0 9px 25px #2563eb2e,inset 0 1px #ffffff1f}.yb-add:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 13px 30px #2563eb40,inset 0 1px #ffffff24}.yb-message{border:1px solid;border-radius:10px;align-items:center;gap:9px;min-height:43px;margin-bottom:15px;padding:0 13px;font-size:.75rem;font-weight:750;display:flex}.yb-stat{border:1px solid var(--border-color);background:var(--card-bg);min-width:0;min-height:94px;box-shadow:var(--card-shadow);border-radius:14px;align-items:center;gap:14px;padding:16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.yb-stat:hover{border-color:#7c3aed47;transform:translateY(-2px)}.yb-stat-content strong{color:var(--text-color);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:900;display:block;overflow:hidden}.yb-refresh{border:1px solid var(--border-color);height:37px;color:var(--text-color);background:var(--surface-2);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.7rem;font-weight:800;transition:all .18s;display:inline-flex}.yb-refresh:hover:not(:disabled){background:#7c3aed12;border-color:#7c3aed59}.yb-search input{border:1px solid var(--border-color);width:100%;height:42px;color:var(--text-color);background:var(--surface-2);font:inherit;border-radius:9px;outline:none;padding:0 13px 0 38px;font-size:.74rem;transition:all .18s}.yb-search input::placeholder{color:var(--muted-text)}.yb-name{color:var(--text-color);align-items:center;gap:10px;font-weight:800;display:flex}.yb-set-current{color:#8b5cf6;min-height:29px;font:inherit;cursor:pointer;background:#7c3aed0d;border:1px solid #7c3aed3d;border-radius:8px;padding:0 10px;font-size:.62rem;font-weight:800;transition:all .18s}.yb-set-current:hover:not(:disabled){background:#7c3aed1a;border-color:#7c3aed80}.yb-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.yb-loading svg{color:#8b5cf6}.yb-empty{height:205px;color:var(--muted-text);text-align:center}.yb-empty svg{color:#8b5cf6;margin:0 auto 9px;display:block}.yb-empty strong,.yb-empty span{display:block}.yb-empty strong{color:var(--text-color);margin-bottom:4px;font-size:.8rem}.yb-empty span{font-size:.71rem}.yb-modal-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:15px;padding:20px;display:flex}.yb-modal-close:hover{color:var(--text-color);border-color:#7c3aed59}.yb-field{display:block}.yb-field input[type=text]{border:1px solid var(--border-color);width:100%;height:46px;color:var(--text-color);background:var(--surface-2);font:inherit;border-radius:9px;outline:none;padding:0 12px;font-size:.78rem;transition:all .18s}.yb-field input[type=text]:focus{border-color:#7c3aed8c;box-shadow:0 0 0 3px #7c3aed12,0 0 20px #7c3aed0a}.yb-checkbox input{accent-color:#7c3aed;width:16px;height:16px}.yb-checkbox span{color:var(--text-color);font-size:.73rem;font-weight:700}.yb-modal-button{min-height:39px;font:inherit;cursor:pointer;border:1px solid;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:.71rem;font-weight:850;transition:all .18s;display:inline-flex}.yb-modal-cancel:hover:not(:disabled){border-color:#7c3aed4d}.yb-modal-save{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-color:#7c3aed66;box-shadow:0 7px 20px #2563eb29}.yb-modal-save:hover:not(:disabled){filter:brightness(1.06)}.yb-confirm-modal{width:min(100%,430px);padding-top:25px}.yb-confirm-warning{background:#f59e0b0d;border:1px solid #f59e0b2e;border-radius:9px;padding:10px;color:#f59e0b!important;margin-bottom:20px!important;font-size:.66rem!important}@media (width<=900px){.yb-top{flex-direction:column;align-items:flex-start}.yb-add{width:100%}.yb-stats{grid-template-columns:1fr}}@media (width<=640px){.yb-top{padding:21px}.yb-title-area h1{font-size:1.65rem}.yb-panel-head{flex-direction:column;align-items:flex-start}.yb-refresh,.yb-search{width:100%}.yb-table th,.yb-table td{padding-left:14px;padding-right:14px}.yb-modal-head,.yb-modal-body{padding:18px}.yb-modal-footer{padding:13px 18px}.yb-modal-button{flex:1}}.yb-page{width:100%;color:var(--text-color)}.yb-top{border:1px solid var(--border-color);background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:28px;display:flex}.yb-title-area{min-width:0}.yb-eyebrow{color:#8b5cf6;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;font-size:.65rem;font-weight:850;display:flex}.yb-eyebrow-icon{background:#7c3aed14;border:1px solid #7c3aed40;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.yb-title-area h1{color:var(--text-color);letter-spacing:-.045em;margin:0;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:900}.yb-title-area p{color:var(--muted-text);margin:8px 0 0;font-size:.77rem}.yb-add{color:#fff;height:45px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#2563eb);border:1px solid #7c3aed66;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-size:.73rem;font-weight:850;transition:all .18s;display:inline-flex;box-shadow:0 8px 22px #2563eb29}.yb-add:hover{filter:brightness(1.06);transform:translateY(-2px)}.yb-message{border:1px solid;border-radius:11px;align-items:center;gap:9px;min-height:44px;margin-bottom:16px;padding:0 42px 0 14px;font-size:.73rem;font-weight:750;display:flex;position:relative}.yb-success{color:#22c55e;background:#22c55e0f;border-color:#22c55e38}.yb-error{color:#ef4444;background:#ef44440f;border-color:#ef444438}.yb-message-close{color:currentColor;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:27px;height:27px;padding:0;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.yb-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.yb-stat{border:1px solid var(--border-color);background:var(--card-bg);min-height:92px;box-shadow:var(--card-shadow);border-radius:14px;align-items:center;gap:13px;padding:16px;display:flex}.yb-stat-icon{color:#8b5cf6;background:#7c3aed12;border:1px solid #7c3aed38;border-radius:11px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.yb-stat-icon.current{color:#22c55e;background:#22c55e0f;border-color:#22c55e33}.yb-stat-content{min-width:0}.yb-stat-content span{color:var(--muted-text);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:.61rem;font-weight:800;display:block}.yb-stat-content strong{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:900;display:block;overflow:hidden}.yb-panel{border:1px solid var(--border-color);background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:16px;overflow:hidden}.yb-panel-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.yb-panel-title{align-items:center;gap:11px;display:flex}.yb-panel-title-icon{color:#8b5cf6;background:#7c3aed12;border:1px solid #7c3aed33;border-radius:9px;flex:0 0 37px;place-items:center;width:37px;height:37px;display:grid}.yb-panel-title h2{color:var(--text-color);margin:0;font-size:.94rem;font-weight:850}.yb-panel-title p{color:var(--muted-text);margin:4px 0 0;font-size:.69rem}.yb-refresh{border:1px solid var(--border-color);height:36px;color:var(--text-color);background:var(--surface-2);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 12px;font-size:.69rem;font-weight:800;display:inline-flex}.yb-refresh:hover:not(:disabled){color:#8b5cf6;border-color:#7c3aed59}.yb-refresh:disabled{opacity:.5;cursor:not-allowed}.yb-search-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:15px;padding:13px 20px;display:flex}.yb-search{width:min(390px,100%);position:relative}.yb-search>svg{color:var(--muted-text);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.yb-search input{border:1px solid var(--border-color);width:100%;height:41px;color:var(--text-color);background:var(--surface-2);font:inherit;border-radius:9px;outline:none;padding:0 40px 0 37px;font-size:.72rem}.yb-search input:focus{border-color:#7c3aed80;box-shadow:0 0 0 3px #7c3aed12}.yb-search-clear{width:27px;height:27px;color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.yb-result-count{color:var(--muted-text);white-space:nowrap;font-size:.67rem;font-weight:750}.yb-table-wrap{width:100%;overflow-x:auto}.yb-table{border-collapse:collapse;width:100%;min-width:680px}.yb-table th{border-bottom:1px solid var(--border-color);height:41px;color:var(--muted-text);background:var(--surface-2);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:0 20px;font-size:.58rem;font-weight:850}.yb-table td{border-bottom:1px solid var(--border-color);height:64px;color:var(--text-color);padding:0 20px;font-size:.74rem}.yb-table tbody tr{transition:background .15s}.yb-table tbody tr:hover{background:#7c3aed09}.yb-table tbody tr:last-child td{border-bottom:0}.yb-actions-heading{text-align:right!important}.yb-name{align-items:center;gap:10px;display:flex}.yb-name-icon{color:#8b5cf6;background:#7c3aed12;border:1px solid #7c3aed33;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.yb-name strong{color:var(--text-color);font-weight:800}.yb-current{color:#22c55e;background:#22c55e0e;border:1px solid #22c55e33;border-radius:999px;align-items:center;gap:5px;min-height:27px;padding:0 9px;font-size:.6rem;font-weight:850;display:inline-flex}.yb-set-current{color:#8b5cf6;height:29px;font:inherit;cursor:pointer;background:#7c3aed0d;border:1px solid #7c3aed3b;border-radius:8px;padding:0 10px;font-size:.61rem;font-weight:800}.yb-set-current:hover{background:#7c3aed1a}.yb-date{color:var(--muted-text);font-size:.7rem}.yb-actions{justify-content:flex-end;gap:6px;display:flex}.yb-action{border:1px solid var(--border-color);width:33px;height:33px;color:var(--muted-text);background:var(--surface-2);cursor:pointer;border-radius:9px;place-items:center;padding:0;transition:all .16s;display:grid}.yb-action:hover{color:#8b5cf6;background:#7c3aed0f;border-color:#7c3aed59}.yb-action.delete:hover{color:#ef4444;background:#ef44440f;border-color:#ef44444d}.yb-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:245px;padding:30px 20px;display:flex}.yb-empty-icon{color:#8b5cf6;background:#7c3aed12;border:1px solid #7c3aed38;border-radius:16px;place-items:center;width:58px;height:58px;margin-bottom:13px;display:grid}.yb-empty strong{color:var(--text-color);margin-bottom:5px;font-size:.82rem;font-weight:850}.yb-empty span{color:var(--muted-text);font-size:.7rem}.yb-empty-button{color:#8b5cf6;height:36px;font:inherit;cursor:pointer;background:#7c3aed0f;border:1px solid #7c3aed4d;border-radius:9px;align-items:center;gap:7px;margin-top:15px;padding:0 13px;font-size:.67rem;font-weight:800;display:inline-flex}.yb-empty-button:hover{background:#7c3aed1c}.yb-loading{min-height:245px;color:var(--muted-text);flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:.71rem;display:flex}.yb-overlay{z-index:2000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#020817ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.yb-modal{background:var(--card-bg);border:1px solid #7c3aed45;border-radius:18px;width:min(100%,500px);overflow:hidden;box-shadow:0 28px 75px #00000061}.yb-modal-head{border-bottom:1px solid var(--border-color);justify-content:space-between;gap:15px;padding:20px;display:flex}.yb-modal-kicker{color:#8b5cf6;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.59rem;font-weight:850;display:block}.yb-modal-head h2{color:var(--text-color);margin:0;font-size:1rem;font-weight:900}.yb-modal-head p{color:var(--muted-text);margin:5px 0 0;font-size:.7rem}.yb-modal-close{border:1px solid var(--border-color);width:34px;height:34px;color:var(--muted-text);background:var(--surface-2);cursor:pointer;border-radius:9px;flex:0 0 34px;place-items:center;padding:0;display:grid}.yb-modal-body{padding:20px}.yb-field>span{color:var(--text-color);margin-bottom:7px;font-size:.7rem;font-weight:800;display:block}.yb-field input{box-sizing:border-box;border:1px solid var(--border-color);width:100%;height:45px;color:var(--text-color);background:var(--surface-2);font:inherit;border-radius:9px;outline:none;padding:0 12px;font-size:.75rem}.yb-field input:focus{border-color:#7c3aed80;box-shadow:0 0 0 3px #7c3aed12}.yb-checkbox{border:1px solid var(--border-color);background:var(--surface-2);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin-top:15px;padding:13px;display:flex}.yb-checkbox input{accent-color:#7c3aed;width:16px;height:16px;margin-top:2px}.yb-checkbox span{flex-direction:column;gap:3px;display:flex}.yb-checkbox strong{color:var(--text-color);font-size:.7rem}.yb-checkbox small{color:var(--muted-text);font-size:.63rem;line-height:1.45}.yb-modal-footer{border-top:1px solid var(--border-color);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.yb-modal-button{min-height:39px;font:inherit;cursor:pointer;border:1px solid;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:.69rem;font-weight:850;display:inline-flex}.yb-modal-cancel{border-color:var(--border-color);color:var(--text-color);background:var(--card-bg)}.yb-modal-save{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-color:#7c3aed66}.yb-modal-delete{color:#ef4444;background:#ef444412;border-color:#ef44444d}.yb-modal-button:disabled{opacity:.5;cursor:not-allowed}.yb-confirm-modal{width:min(100%,430px)}.yb-confirm-icon{color:#ef4444;background:#ef444412;border:1px solid #ef44443b;border-radius:15px;place-items:center;width:55px;height:55px;margin:25px auto 14px;display:grid}.yb-confirm-modal>h2{color:var(--text-color);text-align:center;margin:0 22px;font-size:1rem;font-weight:900}.yb-confirm-modal>p{color:var(--muted-text);text-align:center;margin:8px 22px 12px;font-size:.72rem;line-height:1.55}.yb-confirm-warning{color:#f59e0b;text-align:center;background:#f59e0b0d;border:1px solid #f59e0b33;border-radius:9px;margin:0 22px 20px;padding:10px;font-size:.64rem;line-height:1.45}.yb-spin{animation:.8s linear infinite yb-spin}@media (width<=850px){.yb-top{flex-direction:column;align-items:flex-start}.yb-add{width:100%}.yb-stats{grid-template-columns:1fr}}@media (width<=600px){.yb-top{padding:21px}.yb-panel-head{flex-direction:column;align-items:flex-start}.yb-refresh{justify-content:center;width:100%}.yb-search-row{flex-direction:column;align-items:stretch}.yb-search{width:100%}.yb-result-count{align-self:flex-end}.yb-table th,.yb-table td{padding-left:14px;padding-right:14px}.yb-modal-footer{padding:13px}.yb-modal-button{flex:1}}.yb-page,.yb-page *{box-sizing:border-box}.yb-page{width:100%;max-width:100%;color:var(--text-color)}.yb-page .yb-top{border:1px solid var(--border-color)!important;background:var(--card-bg)!important;width:100%!important;box-shadow:var(--card-shadow)!important;border-radius:16px!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;margin:0 0 18px!important;padding:24px!important;display:flex!important}.yb-page .yb-title-area{flex:auto!important;min-width:0!important}.yb-page .yb-eyebrow{color:#8b5cf6!important;letter-spacing:.1em!important;text-transform:uppercase!important;align-items:center!important;gap:8px!important;margin:0 0 9px!important;font-size:11px!important;font-weight:800!important;display:flex!important}.yb-page .yb-eyebrow-icon{background:#7c3aed14!important;border:1px solid #7c3aed40!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;width:27px!important;min-width:27px!important;height:27px!important;display:inline-flex!important}.yb-page .yb-title-area h1{color:var(--text-color)!important;letter-spacing:-.04em!important;margin:0!important;padding:0!important;font-size:30px!important;font-weight:900!important;line-height:1.1!important}.yb-page .yb-title-area p{color:var(--muted-text)!important;margin:8px 0 0!important;font-size:13px!important;line-height:1.5!important}.yb-page .yb-add{color:#fff!important;cursor:pointer!important;background:linear-gradient(135deg,#7c3aed,#2563eb)!important;border:1px solid #7c3aed66!important;border-radius:10px!important;flex:none!important;justify-content:center!important;align-items:center!important;gap:8px!important;height:43px!important;padding:0 16px!important;font-size:12px!important;font-weight:800!important;display:inline-flex!important;box-shadow:0 8px 20px #2563eb29!important}.yb-page .yb-message{border:1px solid!important;border-radius:10px!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:43px!important;margin:0 0 15px!important;padding:0 40px 0 13px!important;font-size:12px!important;font-weight:700!important;display:flex!important;position:relative!important}.yb-page .yb-success{color:#22c55e!important;background:#22c55e0f!important;border-color:#22c55e33!important}.yb-page .yb-error{color:#ef4444!important;background:#ef44440f!important;border-color:#ef444433!important}.yb-page .yb-message-close{color:currentColor!important;cursor:pointer!important;background:0 0!important;border:0!important;border-radius:7px!important;place-items:center!important;width:27px!important;height:27px!important;padding:0!important;display:grid!important;position:absolute!important;top:50%!important;right:8px!important;transform:translateY(-50%)!important}.yb-page .yb-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;margin:0 0 18px!important;display:grid!important}.yb-page .yb-stat{border:1px solid var(--border-color)!important;background:var(--card-bg)!important;min-width:0!important;min-height:88px!important;box-shadow:var(--card-shadow)!important;border-radius:14px!important;align-items:center!important;gap:13px!important;padding:15px!important;display:flex!important}.yb-page .yb-stat-icon{color:#8b5cf6!important;background:#7c3aed12!important;border:1px solid #7c3aed38!important;border-radius:11px!important;justify-content:center!important;align-items:center!important;width:43px!important;min-width:43px!important;height:43px!important;display:flex!important}.yb-page .yb-stat-icon.current{color:#22c55e!important;background:#22c55e0f!important;border-color:#22c55e33!important}.yb-page .yb-stat-content{min-width:0!important}.yb-page .yb-stat-content span{color:var(--muted-text)!important;letter-spacing:.07em!important;text-transform:uppercase!important;margin:0 0 4px!important;font-size:10px!important;font-weight:800!important;display:block!important}.yb-page .yb-stat-content strong{color:var(--text-color)!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin:0!important;font-size:17px!important;font-weight:900!important;line-height:1.2!important;display:block!important;overflow:hidden!important}.yb-page .yb-panel{border:1px solid var(--border-color)!important;background:var(--card-bg)!important;width:100%!important;box-shadow:var(--card-shadow)!important;border-radius:16px!important;overflow:hidden!important}.yb-page .yb-panel-head{border-bottom:1px solid var(--border-color)!important;justify-content:space-between!important;align-items:center!important;gap:15px!important;width:100%!important;padding:17px 20px!important;display:flex!important}.yb-page .yb-panel-title{align-items:center!important;gap:10px!important;min-width:0!important;display:flex!important}.yb-page .yb-panel-title-icon{color:#8b5cf6!important;background:#7c3aed12!important;border:1px solid #7c3aed33!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;width:36px!important;min-width:36px!important;height:36px!important;display:flex!important}.yb-page .yb-panel-title h2{color:var(--text-color)!important;margin:0!important;font-size:15px!important;font-weight:850!important}.yb-page .yb-panel-title p{color:var(--muted-text)!important;margin:4px 0 0!important;font-size:11px!important}.yb-page .yb-refresh{border:1px solid var(--border-color)!important;height:35px!important;color:var(--text-color)!important;background:var(--surface-2)!important;cursor:pointer!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;gap:7px!important;padding:0 12px!important;font-size:11px!important;font-weight:800!important;display:inline-flex!important}.yb-page .yb-search-row{border-bottom:1px solid var(--border-color)!important;justify-content:space-between!important;align-items:center!important;gap:15px!important;width:100%!important;padding:12px 20px!important;display:flex!important}.yb-page .yb-search{width:min(380px,100%)!important;position:relative!important}.yb-page .yb-search>svg{color:var(--muted-text)!important;position:absolute!important;top:50%!important;left:12px!important;transform:translateY(-50%)!important}.yb-page .yb-search input{border:1px solid var(--border-color)!important;width:100%!important;height:39px!important;color:var(--text-color)!important;background:var(--surface-2)!important;border-radius:9px!important;outline:none!important;padding:0 37px!important;font-size:11px!important}.yb-page .yb-result-count{color:var(--muted-text)!important;font-size:11px!important;font-weight:750!important}.yb-page .yb-table-wrap{width:100%!important;overflow-x:auto!important}.yb-page .yb-table{border-collapse:collapse!important;border-spacing:0!important;width:100%!important;min-width:680px!important}.yb-page .yb-table th{border-bottom:1px solid var(--border-color)!important;height:40px!important;color:var(--muted-text)!important;background:var(--surface-2)!important;letter-spacing:.08em!important;text-align:left!important;text-transform:uppercase!important;padding:0 20px!important;font-size:9px!important;font-weight:850!important}.yb-page .yb-table td{border-bottom:1px solid var(--border-color)!important;height:62px!important;color:var(--text-color)!important;padding:0 20px!important;font-size:12px!important}.yb-page .yb-table tbody tr:last-child td{border-bottom:0!important}.yb-page .yb-table tbody tr:hover{background:#7c3aed09!important}.yb-page .yb-name{align-items:center!important;gap:9px!important;display:flex!important}.yb-page .yb-name-icon{color:#8b5cf6!important;background:#7c3aed12!important;border:1px solid #7c3aed33!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;width:33px!important;min-width:33px!important;height:33px!important;display:flex!important}.yb-page .yb-name strong{color:var(--text-color)!important;font-size:12px!important;font-weight:800!important}.yb-page .yb-current{color:#22c55e!important;background:#22c55e0d!important;border:1px solid #22c55e33!important;border-radius:999px!important;align-items:center!important;gap:5px!important;height:26px!important;padding:0 9px!important;font-size:9px!important;font-weight:850!important;display:inline-flex!important}.yb-page .yb-set-current{color:#8b5cf6!important;cursor:pointer!important;background:#7c3aed0d!important;border:1px solid #7c3aed40!important;border-radius:8px!important;height:28px!important;padding:0 10px!important;font-size:9px!important;font-weight:800!important}.yb-page .yb-date{color:var(--muted-text)!important;font-size:11px!important}.yb-page .yb-actions{justify-content:flex-end!important;gap:6px!important;display:flex!important}.yb-page .yb-action{border:1px solid var(--border-color)!important;width:32px!important;height:32px!important;color:var(--muted-text)!important;background:var(--surface-2)!important;cursor:pointer!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;padding:0!important;display:flex!important}.yb-page .yb-action.delete:hover{color:#ef4444!important;background:#ef44440f!important;border-color:#ef44444d!important}.yb-page .yb-empty{text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:245px!important;padding:30px!important;display:flex!important}.yb-page .yb-empty-icon{color:#8b5cf6!important;background:#7c3aed12!important;border:1px solid #7c3aed38!important;border-radius:15px!important;justify-content:center!important;align-items:center!important;width:56px!important;height:56px!important;margin:0 0 13px!important;display:flex!important}.yb-page .yb-empty strong{color:var(--text-color)!important;margin:0 0 5px!important;font-size:14px!important;font-weight:850!important;display:block!important}.yb-page .yb-empty span{color:var(--muted-text)!important;font-size:11px!important;display:block!important}.yb-page .yb-empty-button{color:#8b5cf6!important;cursor:pointer!important;background:#7c3aed0f!important;border:1px solid #7c3aed4d!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;gap:7px!important;height:36px!important;margin-top:15px!important;padding:0 13px!important;font-size:10px!important;font-weight:800!important;display:inline-flex!important}.yb-page .yb-loading{min-height:245px!important;color:var(--muted-text)!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:9px!important;font-size:11px!important;display:flex!important}.yb-page .yb-overlay{z-index:9999!important;-webkit-backdrop-filter:blur(9px)!important;backdrop-filter:blur(9px)!important;background:#020817ad!important;justify-content:center!important;align-items:center!important;padding:20px!important;display:flex!important;position:fixed!important;inset:0!important}.yb-page .yb-modal{background:var(--card-bg)!important;border:1px solid #7c3aed47!important;border-radius:17px!important;width:min(500px,100%)!important;overflow:hidden!important;box-shadow:0 28px 75px #00000059!important}.yb-page .yb-modal-head{border-bottom:1px solid var(--border-color)!important;justify-content:space-between!important;gap:15px!important;padding:19px!important;display:flex!important}.yb-page .yb-modal-head h2{color:var(--text-color)!important;margin:0!important;font-size:17px!important;font-weight:900!important}.yb-page .yb-modal-head p{color:var(--muted-text)!important;margin:5px 0 0!important;font-size:11px!important}.yb-page .yb-modal-body{padding:20px!important}.yb-page .yb-field{display:block!important}.yb-page .yb-field>span{color:var(--text-color)!important;margin-bottom:7px!important;font-size:11px!important;font-weight:800!important;display:block!important}.yb-page .yb-field input{border:1px solid var(--border-color)!important;width:100%!important;height:43px!important;color:var(--text-color)!important;background:var(--surface-2)!important;border-radius:9px!important;outline:none!important;padding:0 12px!important;font-size:12px!important}.yb-page .yb-checkbox{border:1px solid var(--border-color)!important;background:var(--surface-2)!important;border-radius:10px!important;align-items:flex-start!important;gap:10px!important;margin-top:14px!important;padding:12px!important;display:flex!important}.yb-page .yb-checkbox input{accent-color:#7c3aed!important;margin-top:2px!important}.yb-page .yb-checkbox span{flex-direction:column!important;gap:3px!important;display:flex!important}.yb-page .yb-checkbox strong{color:var(--text-color)!important;font-size:11px!important}.yb-page .yb-checkbox small{color:var(--muted-text)!important;font-size:10px!important;line-height:1.4!important}.yb-page .yb-modal-footer{border-top:1px solid var(--border-color)!important;background:var(--surface-2)!important;justify-content:flex-end!important;gap:8px!important;padding:13px 19px!important;display:flex!important}.yb-page .yb-modal-button{border-radius:9px!important;justify-content:center!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:0 14px!important;font-size:11px!important;font-weight:850!important;display:inline-flex!important}.yb-page .yb-modal-cancel{border:1px solid var(--border-color)!important;color:var(--text-color)!important;background:var(--card-bg)!important}.yb-page .yb-modal-save{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#2563eb)!important;border:1px solid #7c3aed66!important}.yb-page .yb-modal-delete{color:#ef4444!important;background:#ef444412!important;border:1px solid #ef44444d!important}@media (width<=850px){.yb-page .yb-stats{grid-template-columns:1fr!important}.yb-page .yb-top{flex-direction:column!important;align-items:flex-start!important}.yb-page .yb-add{width:100%!important}}@media (width<=600px){.yb-page .yb-top{padding:19px!important}.yb-page .yb-title-area h1{font-size:25px!important}.yb-page .yb-panel-head{flex-direction:column!important;align-items:flex-start!important}.yb-page .yb-refresh{width:100%!important}.yb-page .yb-search-row{flex-direction:column!important;align-items:stretch!important}.yb-page .yb-search{width:100%!important}.yb-page .yb-result-count{align-self:flex-end!important}}.classes-page{width:100%;max-width:1500px;margin:0 auto;padding:8px 4px 40px}.classes-page .classes-header,.classes-page .page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.classes-page .classes-header>div:first-child,.classes-page .page-header>div:first-child{min-width:0}.classes-page .eyebrow,.classes-page .page-eyebrow{color:var(--primary-light);letter-spacing:1.6px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:800;display:inline-flex}.classes-page h1,.classes-page .page-title{color:var(--text);letter-spacing:-1.3px;margin:0;font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.05}.classes-page .page-description,.classes-page .description{max-width:680px;color:var(--text-secondary);margin:10px 0 0;font-size:14px;line-height:1.65}.classes-page .classes-actions,.classes-page .page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.classes-page button{-webkit-tap-highlight-color:transparent}.classes-page .add-class-button,.classes-page .primary-button,.classes-page .create-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));cursor:pointer;border:1px solid #a78bfa52;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 17px;font-size:13px;font-weight:750;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 12px 30px #2563eb2e,inset 0 1px #ffffff21}.classes-page .add-class-button:hover,.classes-page .primary-button:hover,.classes-page .create-button:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 16px 36px #2563eb3d,inset 0 1px #ffffff29}.classes-page .add-class-button:active,.classes-page .primary-button:active,.classes-page .create-button:active{transform:translateY(0)}.classes-page .classes-toolbar,.classes-page .toolbar{border:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(135deg,#ffffff0e,#ffffff05);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding:13px;display:flex;box-shadow:0 18px 45px #0000001f,inset 0 1px #ffffff0b}.theme-light .classes-page .classes-toolbar,.theme-light .classes-page .toolbar{background:linear-gradient(135deg,#fffffff5,#f8fafcd6);box-shadow:0 16px 40px #0f172a12,inset 0 1px #ffffffe6}.classes-page .search-box,.classes-page .search-wrapper{flex:1;min-width:240px;position:relative}.classes-page .search-box svg,.classes-page .search-wrapper svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.classes-page .search-box input,.classes-page .search-wrapper input{width:100%;height:46px;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:13px;outline:none;padding:0 15px 0 45px;transition:border-color .2s,box-shadow .2s,background .2s}.classes-page .search-box input::placeholder,.classes-page .search-wrapper input::placeholder{color:var(--text-muted)}.classes-page .search-box input:focus,.classes-page .search-wrapper input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #7c3aed1a,0 8px 24px #7c3aed12}.classes-page .classes-count{min-height:40px;color:var(--text-secondary);background:var(--surface-solid);border:1px solid var(--border);white-space:nowrap;border-radius:12px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.classes-page .classes-grid,.classes-page .class-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:17px;display:grid}.classes-page .class-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#fff1,#ffffff05);border-radius:20px;min-width:0;padding:20px;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000024,inset 0 1px #ffffff0e}.theme-light .classes-page .class-card{background:linear-gradient(145deg,#fffffffa,#f8fafce6);box-shadow:0 18px 42px #0f172a12,inset 0 1px #ffffffe6}.classes-page .class-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--blue), var(--cyan));opacity:.75;width:100%;height:2px;position:absolute;top:0;left:0}.classes-page .class-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#7c3aed33,#0000 68%);width:110px;height:110px;position:absolute;top:-55px;right:-55px}.classes-page .class-card:hover{border-color:#7c3aed61;transform:translateY(-4px);box-shadow:0 25px 60px #0003,0 0 30px #7c3aed12,inset 0 1px #ffffff14}.classes-page .class-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.classes-page .class-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));border:1px solid #a78bfa4d;border-radius:14px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 28px #2563eb2e}.classes-page .class-status,.classes-page .status-badge{min-height:28px;color:var(--cyan);background:#06b6d414;border:1px solid #06b6d429;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.classes-page .class-name{color:var(--text);letter-spacing:-.55px;overflow-wrap:anywhere;margin:0;font-size:21px;font-weight:800}.classes-page .class-created{color:var(--text-muted);margin-top:7px;font-size:11px}.classes-page .class-metrics{grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;display:grid}.classes-page .class-metric{border:1px solid var(--border);background:#ffffff09;border-radius:14px;min-height:70px;padding:12px}.theme-light .classes-page .class-metric{background:#0f172a06}.classes-page .class-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.classes-page .class-metric strong{color:var(--text);font-size:20px;font-weight:800}.classes-page .class-card-actions{grid-template-columns:1fr auto;gap:9px;margin-top:17px;display:grid}.classes-page .class-open-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue));cursor:pointer;border:1px solid #a78bfa47;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:43px;font-size:12px;font-weight:750;transition:transform .2s,filter .2s;display:inline-flex}.classes-page .class-open-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.classes-page .class-edit-button,.classes-page .class-delete-button,.classes-page .icon-action-button{width:43px;height:43px;color:var(--text-secondary);background:var(--surface-solid);border:1px solid var(--border);cursor:pointer;border-radius:12px;place-items:center;transition:color .2s,background .2s,border-color .2s,transform .2s;display:grid}.classes-page .class-edit-button:hover,.classes-page .icon-action-button:hover{color:var(--primary-light);border-color:#7c3aed4d;transform:translateY(-1px)}.classes-page .class-delete-button:hover{color:#f87171;background:#ef444412;border-color:#ef444438;transform:translateY(-1px)}.classes-page .class-dashboard{width:100%}.classes-page .class-dashboard-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.classes-page .class-dashboard-title{align-items:flex-start;gap:14px;display:flex}.classes-page .back-button{width:43px;height:43px;color:var(--text-secondary);background:var(--surface-solid);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-shrink:0;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.classes-page .back-button:hover{color:var(--text);border-color:var(--border-strong);transform:translate(-2px)}.classes-page .class-dashboard h1{font-size:clamp(26px,3vw,35px)}.classes-page .class-dashboard-subtitle{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px;font-size:12px;display:flex}.classes-page .class-dashboard-subtitle strong{color:var(--text-secondary)}.classes-page .class-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.classes-page .class-summary-card{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff0f,#ffffff05);border-radius:18px;min-height:116px;padding:18px;position:relative;overflow:hidden;box-shadow:0 18px 45px #0000001f,inset 0 1px #ffffff0d}.theme-light .classes-page .class-summary-card{background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 16px 38px #0f172a11}.classes-page .class-summary-card-icon{width:40px;height:40px;color:var(--primary-light);background:#7c3aed1a;border:1px solid #7c3aed29;border-radius:12px;place-items:center;margin-bottom:11px;display:grid}.classes-page .class-summary-card strong{color:var(--text);letter-spacing:-.8px;font-size:25px;font-weight:800;display:block}.classes-page .class-summary-card span{color:var(--text-muted);margin-top:3px;font-size:11px;font-weight:600;display:block}.classes-page .class-students-panel,.classes-page .students-panel{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff0e,#ffffff05);border-radius:20px;overflow:hidden;box-shadow:0 20px 55px #00000021,inset 0 1px #ffffff0b}.theme-light .classes-page .class-students-panel,.theme-light .classes-page .students-panel{background:linear-gradient(145deg,#fffffffa,#f8fafce6);box-shadow:0 18px 45px #0f172a11}.classes-page .class-students-header,.classes-page .students-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:19px 20px;display:flex}.classes-page .class-students-header h2,.classes-page .students-panel-header h2{color:var(--text);margin:0;font-size:16px;font-weight:800}.classes-page .class-students-header p,.classes-page .students-panel-header p{color:var(--text-muted);margin:4px 0 0;font-size:11px}.classes-page .student-search{width:min(330px,100%);position:relative}.classes-page .student-search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.classes-page .student-search input{width:100%;height:40px;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:11px;outline:none;padding:0 12px 0 39px}.classes-page .student-search input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #7c3aed14}.classes-page .class-students-table,.classes-page .students-table{width:100%;overflow-x:auto}.classes-page .class-students-table table,.classes-page .students-table table{border-collapse:collapse;width:100%;min-width:680px}.classes-page .class-students-table th,.classes-page .students-table th{color:var(--text-muted);border-bottom:1px solid var(--border);letter-spacing:.8px;text-align:left;text-transform:uppercase;background:#ffffff06;padding:12px 18px;font-size:10px;font-weight:800}.theme-light .classes-page .class-students-table th,.theme-light .classes-page .students-table th{background:#0f172a06}.classes-page .class-students-table td,.classes-page .students-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:14px 18px;font-size:12px}.classes-page .class-students-table tbody tr,.classes-page .students-table tbody tr{transition:background .18s}.classes-page .class-students-table tbody tr:hover,.classes-page .students-table tbody tr:hover{background:#7c3aed0b}.classes-page .student-name{color:var(--text);font-weight:750}.classes-page .student-admission{color:var(--text-muted);font-size:11px}.classes-page .student-status{border-radius:999px;align-items:center;min-height:25px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.classes-page .student-status.active,.classes-page .status-active{color:#16a34a;background:#22c55e17;border:1px solid #22c55e29}.classes-page .student-status.inactive,.classes-page .status-inactive{color:#dc2626;background:#ef444414;border:1px solid #ef444429}.classes-page .class-empty,.classes-page .empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:35px;display:flex}.classes-page .class-empty-icon,.classes-page .empty-icon{width:54px;height:54px;color:var(--primary-light);background:#7c3aed17;border:1px solid #7c3aed29;border-radius:15px;place-items:center;margin-bottom:14px;display:grid}.classes-page .class-empty h3,.classes-page .empty-state h3{color:var(--text);margin:0;font-size:15px;font-weight:800}.classes-page .class-empty p,.classes-page .empty-state p{max-width:420px;color:var(--text-muted);margin:7px 0 0;font-size:12px;line-height:1.6}.classes-page .refresh-button{width:42px;height:42px;color:var(--text-secondary);background:var(--surface-solid);border:1px solid var(--border);cursor:pointer;border-radius:12px;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.classes-page .refresh-button:hover{color:var(--primary-light);border-color:var(--border-strong)}.classes-page .refresh-button:active{transform:rotate(-25deg)}.classes-page .loading-spinner,.classes-page .spinner{animation:.8s linear infinite fameschool-class-spin}@keyframes fameschool-class-spin{to{transform:rotate(360deg)}}.classes-page .modal-backdrop,.classes-page .dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020617ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.classes-page .modal,.classes-page .dialog{width:min(100%,500px);color:var(--text);background:linear-gradient(145deg,#0c1830fa,#071024fa);border:1px solid #94a3b82b;border-radius:20px;padding:24px;box-shadow:0 35px 90px #00000073,0 0 45px #7c3aed14}.theme-light .classes-page .modal,.theme-light .classes-page .dialog{background:linear-gradient(145deg,#fff,#f8fafc);border-color:#0f172a1a;box-shadow:0 30px 80px #0f172a2e}.classes-page .modal h2,.classes-page .dialog h2{color:var(--text);margin:0;font-size:21px;font-weight:800}.classes-page .modal p,.classes-page .dialog p{color:var(--text-secondary);font-size:12px;line-height:1.6}.classes-page .modal input,.classes-page .modal select,.classes-page .dialog input,.classes-page .dialog select{width:100%;height:45px;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:12px;outline:none;padding:0 13px}.classes-page .modal input:focus,.classes-page .modal select:focus,.classes-page .dialog input:focus,.classes-page .dialog select:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #7c3aed14}.classes-page .modal-actions,.classes-page .dialog-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.classes-page .cancel-button{min-height:43px;color:var(--text-secondary);background:var(--surface-solid);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:0 15px;font-size:12px;font-weight:700}.classes-page .cancel-button:hover{color:var(--text);border-color:var(--border-strong)}.classes-page .delete-confirm,.classes-page .danger-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#dc2626,#ef4444);border:1px solid #f8717140;border-radius:12px;min-height:43px;padding:0 15px;font-size:12px;font-weight:750}.dashboard-batch{min-width:285px;min-height:72px;color:var(--text);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0f;cursor:pointer;text-align:left;align-items:center;gap:13px;padding:12px 14px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;background:linear-gradient(145deg, var(--surface), var(--surface-solid))!important;border:1px solid var(--border)!important;border-radius:17px!important}.dashboard-batch:hover{transform:translateY(-2px);box-shadow:0 18px 45px #00000024,0 0 28px #7c3aed14,inset 0 1px #ffffff14;border-color:var(--border-strong)!important}.theme-dark .dashboard-batch{color:var(--text)!important;background:linear-gradient(145deg,#0d1934f0,#071024eb)!important;border-color:#94a3b829!important}.theme-light .dashboard-batch{box-shadow:0 16px 40px #0f172a17,inset 0 1px #fffffff2;color:var(--text)!important;background:linear-gradient(145deg,#fff,#f8fafc)!important;border-color:#0f172a1a!important}.dashboard-batch>svg:first-child{color:var(--primary-light);filter:drop-shadow(0 4px 10px #7c3aed2e);flex-shrink:0}.dashboard-batch>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.dashboard-batch span{letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;color:var(--text-muted)!important}.dashboard-batch strong{letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden;color:var(--text)!important}.dashboard-batch>svg:last-child{color:var(--text-muted);flex-shrink:0}.theme-light .dashboard-page .dashboard-panel,.theme-light .dashboard-page .dashboard-stat-card{color:var(--text);background:linear-gradient(145deg,#fffffffa,#f8fafce6)}.theme-light .dashboard-welcome{color:var(--text)}@media (width<=900px){.classes-page .classes-header,.classes-page .page-header{flex-direction:column;align-items:flex-start}.classes-page .classes-actions,.classes-page .page-actions,.classes-page .add-class-button,.classes-page .primary-button,.classes-page .create-button{width:100%}.classes-page .class-summary-grid{grid-template-columns:1fr}.dashboard-batch{width:100%;min-width:0}}@media (width<=680px){.classes-page{padding-bottom:25px}.classes-page .classes-toolbar,.classes-page .toolbar{flex-direction:column;align-items:stretch}.classes-page .search-box,.classes-page .search-wrapper{width:100%;min-width:0}.classes-page .classes-count{justify-content:center}.classes-page .classes-grid,.classes-page .class-grid{grid-template-columns:1fr}.classes-page .class-dashboard-header{flex-direction:column}.classes-page .class-students-header,.classes-page .students-panel-header{flex-direction:column;align-items:stretch}.classes-page .student-search{width:100%}.classes-page .modal,.classes-page .dialog{padding:20px}}@media (width<=430px){.classes-page h1,.classes-page .page-title{font-size:27px}.classes-page .class-card{padding:17px}.classes-page .class-card-actions{grid-template-columns:1fr}.classes-page .class-edit-button,.classes-page .class-delete-button,.classes-page .icon-action-button{width:100%}.classes-page .modal-actions,.classes-page .dialog-actions{flex-direction:column}.classes-page .cancel-button,.classes-page .delete-confirm,.classes-page .danger-button{width:100%}}.dashboard-page .dashboard-batch{-webkit-backdrop-filter:blur(20px);color:var(--text)!important;border:1px solid var(--border-strong)!important;box-shadow:var(--shadow)!important;background:linear-gradient(135deg,#7c3aed1a,#2563eb14)!important}.dashboard-page .dashboard-batch:hover{color:var(--text)!important;border-color:var(--primary-light)!important;background:linear-gradient(135deg,#7c3aed29,#2563eb1f)!important}.dashboard-page .dashboard-batch>svg{color:var(--primary-light)!important}.dashboard-page .dashboard-batch div span{color:var(--text-muted)!important}.dashboard-page .dashboard-batch div strong{color:var(--text)!important}.theme-light .dashboard-page .dashboard-batch{color:#0f172a!important;background:linear-gradient(135deg,#fffffff5,#f1f5f9f0)!important;border-color:#7c3aed38!important;box-shadow:0 14px 35px #0f172a17!important}.theme-light .dashboard-page .dashboard-batch:hover{background:linear-gradient(135deg,#fff,#f8fafc)!important;border-color:#7c3aed66!important}.theme-light .dashboard-page .dashboard-batch>svg{color:#6d28d9!important}.theme-light .dashboard-page .dashboard-batch div span{color:#64748b!important}.theme-light .dashboard-page .dashboard-batch div strong{color:#0f172a!important}.theme-dark .dashboard-page .dashboard-batch{color:#f8fafc!important;background:linear-gradient(135deg,#0f172ae6,#0a142ad6)!important}.theme-dark .dashboard-page .dashboard-batch div span{color:#8ea0ba!important}.theme-dark .dashboard-page .dashboard-batch div strong{color:#f8fafc!important}.school-brand-logo{object-fit:contain;border-radius:12px;width:100%;height:100%;display:block}.header-school-identity{align-items:center;gap:12px;min-width:0;display:flex}.header-school-logo{border:1px solid var(--border-strong);width:40px;height:40px;color:var(--primary-light);background:linear-gradient(135deg,#7c3aed47,#2563eb3d,#06b6d433);border-radius:11px;flex:0 0 40px;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 0 18px #7c3aed2e,inset 0 0 18px #06b6d414}.header-school-logo img{object-fit:contain;width:100%;height:100%;display:block}.header-school-identity .header-title{min-width:0}.header-school-identity .header-title span{text-overflow:ellipsis;white-space:nowrap;max-width:360px;display:block;overflow:hidden}@media (width<=700px){.header-school-logo{flex-basis:36px;width:36px;height:36px}.header-school-identity .header-title span{max-width:180px}}@media (width<=700px){.app-shell .glass-card,.app-shell .settings-card,.app-shell .settings-section{-webkit-backdrop-filter:blur(18px)}}.app-shell{--fameschool-glass-alpha:var(--fameschool-glass-opacity,.82);--fameschool-glow-alpha:var(--fameschool-glow-opacity,.7);--fameschool-primary-glow:var(--primary);--fameschool-secondary-glow:var(--blue)}.app-shell .glass-card,.app-shell .settings-card,.app-shell .settings-section,.app-shell .theme-card{background:linear-gradient(135deg, #ffffff0b, #ffffff04), rgba(10, 20, 42, var(--fameschool-glass-opacity,.82));border-color:color-mix(in srgb, var(--primary) 22%, var(--border));box-shadow:0 0 calc(18px * var(--fameschool-glow-opacity,.7)) color-mix(in srgb, var(--primary) 18%, transparent)}.app-shell .sidebar{box-shadow:8px 0 35px color-mix(in srgb, var(--primary) calc(12% * var(--fameschool-glow-opacity,.7)), transparent), inset -1px 0 0 color-mix(in srgb, var(--primary) 16%, transparent)}.app-shell .brand-mark{box-shadow:0 0 calc(24px * var(--fameschool-glow-opacity,.7)) color-mix(in srgb, var(--primary) 35%, transparent)}.app-shell .nav-item.active{box-shadow:0 0 calc(18px * var(--fameschool-glow-opacity,.7)) color-mix(in srgb, var(--primary) 22%, transparent)}.app-shell .header-school-logo{box-shadow:0 0 calc(20px * var(--fameschool-glow-opacity,.7)) color-mix(in srgb, var(--primary) 30%, transparent)}.app-shell button.primary,.app-shell .primary-button{box-shadow:0 0 calc(16px * var(--fameschool-glow-opacity,.7)) color-mix(in srgb, var(--primary) 28%, transparent)}@media (width<=700px){.app-shell .glass-card,.app-shell .settings-card,.app-shell .settings-section{-webkit-backdrop-filter:blur(18px)}}.app-shell{background:radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 34%), radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 32%), radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--blue) 12%, transparent), transparent 38%), var(--bg);background-color:var(--bg);transition:background-color .42s,background .42s}.app-shell .content-area,.app-shell .main-area{background:0 0}.app-shell,.app-shell .sidebar,.app-shell .top-header,.app-shell .content-area,.app-shell .glass-card{transition:background .42s,background-color .42s,border-color .3s,box-shadow .3s}.theme-dark{--bg:var(--fameschool-dark-bg,#020617);--bg-secondary:var(--fameschool-dark-bg-secondary,#071027)}.theme-light{--bg:var(--fameschool-light-bg,#f1f5f9);--bg-secondary:var(--fameschool-light-bg-secondary,#e8eef7)}.theme-dark.app-shell{background:radial-gradient(circle at 8% 5%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 30%), radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--cyan) 12%, transparent), transparent 28%), radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--blue) 14%, transparent), transparent 40%), var(--bg)!important;background-color:var(--bg)!important}.theme-light.app-shell{background:radial-gradient(circle at 8% 5%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 30%), radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 28%), radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--blue) 7%, transparent), transparent 40%), var(--bg)!important;background-color:var(--bg)!important}.theme-dark.app-shell{--surface:rgba(10, 20, 42, var(--fameschool-glass-opacity,.82));--surface-solid:color-mix(in srgb, var(--bg-secondary) 88%, var(--primary) 12%);--surface-hover:color-mix(in srgb, var(--bg-secondary) 80%, var(--primary) 20%)}.theme-light.app-shell{--surface:rgba(255, 255, 255, var(--fameschool-glass-opacity,.88));--surface-solid:color-mix(in srgb, var(--bg-secondary) 82%, white 18%);--surface-hover:color-mix(in srgb, var(--bg-secondary) 72%, white 28%)}.theme-light.app-shell .glass-card,.theme-light.app-shell .settings-card,.theme-light.app-shell .settings-section,.theme-light.app-shell .theme-card{background:linear-gradient(135deg, #ffffffb8, #ffffff61), var(--surface);border-color:color-mix(in srgb, var(--primary) 20%, var(--border));box-shadow:0 12px 40px #0f172a14, 0 0 calc(22px * var(--fameschool-glow-opacity,.7)) color-mix(in srgb, var(--primary) 10%, transparent)}.theme-light.app-shell .sidebar{background:linear-gradient(180deg, color-mix(in srgb, white 92%, var(--primary) 8%), color-mix(in srgb, var(--bg-secondary) 90%, white 10%))}.app-shell,.app-shell *,.app-shell:before,.app-shell:after{transition:background-color .35s,background .35s,border-color .25s,box-shadow .3s,color .25s}.app-shell .content-area,.app-shell .main-area,.theme-dark.app-shell .content-area,.theme-light.app-shell .content-area{background:0 0}.app-shell{--fameschool-glass-opacity:.82;--fameschool-glow-opacity:.7;--theme-primary:var(--primary);--theme-secondary:var(--blue);--theme-glow:var(--cyan);color:var(--text);background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--theme-primary) 14%, transparent), transparent 30%), radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--theme-secondary) 12%, transparent), transparent 28%), var(--bg)}.theme-dark{--bg:var(--fameschool-dark-bg,#020617);--bg-secondary:var(--fameschool-dark-bg-secondary,#071027);--surface:color-mix(in srgb, var(--bg-secondary) 84%, transparent);--surface-solid:var(--bg-secondary);--surface-hover:color-mix(in srgb, var(--bg-secondary) 88%, var(--primary) 12%);--border:color-mix(in srgb, var(--text) 12%, transparent);--border-strong:color-mix(in srgb, var(--primary) 45%, transparent);--text:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#8ea0ba;--shadow:0 20px 60px #00000059}.theme-light{--bg:var(--fameschool-light-bg,#f8fafc);--bg-secondary:var(--fameschool-light-bg-secondary,#eef2f7);--surface:#ffffffe0;--surface-solid:#fff;--surface-hover:color-mix(in srgb, #fff 88%, var(--primary) 12%);--border:#0f172a17;--border-strong:color-mix(in srgb, var(--primary) 28%, transparent);--text:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--shadow:0 18px 50px #0f172a1a}.theme-dark.app-shell{background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 30%), radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--blue) 13%, transparent), transparent 28%), linear-gradient(145deg, var(--bg), var(--bg-secondary))}.theme-light.app-shell{background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 32%), radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--blue) 7%, transparent), transparent 30%), linear-gradient(145deg, var(--bg), var(--bg-secondary))}.theme-dark.app-shell .glass-card,.theme-dark.app-shell .settings-card,.theme-dark.app-shell .settings-section,.theme-dark.app-shell .theme-card{background:color-mix(in srgb, var(--surface-solid) 82%, transparent);border-color:var(--border)}.theme-light.app-shell .glass-card,.theme-light.app-shell .settings-card,.theme-light.app-shell .settings-section,.theme-light.app-shell .theme-card{border-color:var(--border);background:#ffffffd1;box-shadow:0 12px 35px #0f172a12}.theme-dark.app-shell .sidebar{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-secondary) 94%, var(--primary) 6%), var(--bg))}.theme-light.app-shell .sidebar{background:linear-gradient(180deg, #fffffff5, var(--bg-secondary));border-right-color:var(--border)}.theme-dark.app-shell .top-header{background:color-mix(in srgb, var(--bg-secondary) 88%, transparent)}.theme-light.app-shell .top-header{border-bottom-color:var(--border);background:#ffffffe0}.app-shell .brand-mark,.app-shell .header-school-logo{border-color:color-mix(in srgb, var(--primary) 42%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 20%, transparent), color-mix(in srgb, var(--blue) 16%, transparent))}.app-shell .nav-item.active{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 22%, transparent), color-mix(in srgb, var(--blue) 14%, transparent));border-color:color-mix(in srgb, var(--primary) 38%, transparent)}.app-shell button.primary,.app-shell .primary-button{background:linear-gradient(135deg, var(--primary), var(--blue));border-color:#0000}.theme-light.app-shell input,.theme-light.app-shell select,.theme-light.app-shell textarea{color:var(--text);border-color:var(--border);background:#ffffffe6}.theme-light.app-shell input::placeholder,.theme-light.app-shell textarea::placeholder{color:var(--text-muted)}.app-shell,.app-shell .sidebar,.app-shell .top-header,.app-shell .content-area,.app-shell .main-area,.app-shell .glass-card,.app-shell .settings-card,.app-shell .settings-section,.app-shell .theme-card,.app-shell input,.app-shell select,.app-shell textarea{transition:background .22s,background-color .22s,border-color .22s,color .18s,box-shadow .22s}.sidebar{transition:transform .26s,box-shadow .26s;transform:translate(0)}.sidebar:not(.sidebar-open){transform:translate(-100%)}.main-area{margin-left:292px;transition:margin-left .26s,width .26s}.main-area.sidebar-hidden{margin-left:0}.sidebar-toggle-button{justify-content:center;align-items:center;display:inline-flex!important}@media (width>=901px){.mobile-menu-button.sidebar-toggle-button{display:inline-flex!important}.sidebar:not(.sidebar-open){pointer-events:none}}@media (width<=900px){.sidebar{transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.main-area,.main-area.sidebar-hidden,.main-area.sidebar-visible{margin-left:0}}.app-shell .main-area{min-width:0;transition:none;width:100%!important;margin-left:0!important}.app-shell .sidebar{z-index:120;width:292px;height:100vh;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.app-shell .sidebar-toggle-button,.app-shell .mobile-menu-button{flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex!important}.app-shell .sidebar-overlay{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0206176b;animation:.22s fameschool-sidebar-overlay;position:fixed;inset:0}@keyframes fameschool-sidebar-overlay{0%{opacity:0}to{opacity:1}}.app-shell .sidebar{isolation:isolate}@media (width>=901px){.app-shell .main-area,.app-shell .content-area{width:100%!important;margin-left:0!important}.app-shell .sidebar{width:292px}}@media (width<=900px){.app-shell .main-area,.app-shell .content-area{width:100%!important;margin-left:0!important}.app-shell .sidebar{width:min(292px,86vw)}}.app-shell .top-header .mobile-menu-button,.app-shell .top-header .sidebar-toggle-button{width:42px;min-width:42px;height:42px;color:var(--text);background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;z-index:200;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:background .18s,border-color .18s,color .18s,transform .18s;position:relative;visibility:visible!important;opacity:1!important;display:inline-flex!important}.app-shell .top-header .mobile-menu-button:hover,.app-shell .top-header .sidebar-toggle-button:hover{color:var(--primary-light);background:var(--surface);border-color:var(--border-strong);transform:translateY(-1px)}.app-shell .top-header .mobile-menu-button:active,.app-shell .top-header .sidebar-toggle-button:active{transform:scale(.94)}@media (width>=901px){.app-shell .top-header .mobile-menu-button,.app-shell .top-header .sidebar-toggle-button{display:inline-flex!important}}.app-shell .top-header .menu-button{cursor:pointer;z-index:250;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;position:relative;visibility:visible!important;opacity:1!important;color:var(--text)!important;background:var(--surface-hover)!important;border:1px solid var(--border)!important;display:inline-flex!important}.app-shell .top-header .menu-button:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000029;color:var(--primary-light)!important;background:var(--surface)!important;border-color:var(--border-strong)!important}.app-shell .top-header .menu-button:active{transform:scale(.94)}.app-shell .top-header .menu-button svg{flex-shrink:0;width:25px;height:25px;display:block}.app-shell .top-header{z-index:105;position:relative}.app-shell .main-area{min-width:0;width:100%!important;margin-left:0!important}.app-shell .sidebar{z-index:120;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;transform:translate(-105%);width:292px!important;height:100vh!important;margin:0!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}.app-shell .sidebar.sidebar-open{transform:translate(0)}@media (width>=901px){.app-shell .top-header .menu-button{display:inline-flex!important}}@media (width<=900px){.app-shell .top-header .menu-button{display:inline-flex!important}.app-shell .sidebar{width:min(292px,86vw)!important}}.app-shell .sidebar .mobile-close-button{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;visibility:visible!important;opacity:1!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;color:var(--text)!important;background:var(--surface-hover)!important;border:1px solid var(--border)!important;z-index:999!important;border-radius:10px!important;margin:0!important;padding:0!important;display:inline-flex!important;position:absolute!important;top:18px!important;right:18px!important}.app-shell .sidebar .mobile-close-button:hover{transform:scale(1.05);box-shadow:0 8px 24px #0000002e;color:var(--primary-light)!important;background:var(--surface)!important;border-color:var(--border-strong)!important}.app-shell .sidebar .mobile-close-button svg{flex-shrink:0;width:22px!important;height:22px!important;display:block!important}.app-shell .sidebar{position:fixed!important}.app-shell .sidebar .sidebar-brand{padding-right:52px!important}.app-shell .sidebar-overlay{pointer-events:auto;z-index:110!important;-webkit-backdrop-filter:blur(8px)saturate(.88)!important;background:#0206174d!important;position:fixed!important;inset:0!important}.app-shell .sidebar{isolation:isolate;z-index:120!important}.app-shell .top-header{position:relative;z-index:125!important}@media (width>=901px){.app-shell .sidebar-overlay{-webkit-backdrop-filter:blur(12px)saturate(.82)brightness(.88)!important;background:#02061757!important}}@media (width<=900px){.app-shell .sidebar-overlay{-webkit-backdrop-filter:blur(8px)!important;background:#02061761!important}}.app-shell .main-area{flex:1;min-width:0;min-height:100vh}.app-shell .top-header{z-index:90;background:linear-gradient(180deg, color-mix(in srgb, var(--bg-secondary) 88%, transparent), color-mix(in srgb, var(--bg-secondary) 72%, transparent));border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(24px);justify-content:space-between;align-items:center;min-height:76px;padding:12px 28px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 35px #00000014}.app-shell .header-brand{align-items:center;gap:12px;min-width:0;display:flex}.app-shell .header-brand-logo{color:#fff;background:linear-gradient(135deg, var(--primary), var(--blue), var(--cyan));border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);width:44px;height:44px;box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 22%, transparent);border-radius:12px;flex:0 0 44px;place-items:center;display:grid;overflow:hidden}.app-shell .header-brand-logo img{object-fit:cover;width:100%;height:100%}.app-shell .header-title{flex-direction:column;gap:2px;min-width:0;display:flex}.app-shell .header-title span{text-overflow:ellipsis;white-space:nowrap;max-width:320px;color:var(--text);font-size:14px;font-weight:800;overflow:hidden}.app-shell .header-title strong{color:var(--text-muted);font-size:12px;font-weight:600}.app-shell .menu-button{width:44px;height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex:0 0 44px;place-items:center;transition:transform .2s,background .2s,border-color .2s;display:grid}.app-shell .menu-button:hover{background:var(--surface-hover);border-color:var(--primary);transform:translateY(-1px)}.app-shell .content-area{min-height:100vh;padding-top:76px}.app-shell .sidebar{z-index:120}.app-shell .sidebar-overlay{z-index:110;-webkit-backdrop-filter:blur(8px);background:#0206176b;position:fixed;inset:0}.app-shell .mobile-close-button{width:42px;height:42px;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;place-items:center;margin-left:auto;display:grid}.app-shell .mobile-close-button:hover{background:var(--surface-hover);border-color:var(--primary)}@media (width>=769px){.app-shell .sidebar{transition:transform .32s cubic-bezier(.22,1,.36,1);transform:translate(-105%)}.app-shell .sidebar.sidebar-open{transform:translate(0)}.app-shell .main-area{width:100%;margin-left:0}.app-shell .mobile-close-button{display:none}.app-shell .sidebar-overlay{display:block}}@media (width<=768px){.app-shell .sidebar{transition:transform .32s cubic-bezier(.22,1,.36,1);transform:translate(-105%)}.app-shell .sidebar.sidebar-open{transform:translate(0)}.app-shell .top-header{padding:10px 14px}.app-shell .content-area{padding-top:70px}.app-shell .header-brand-logo{flex-basis:40px;width:40px;height:40px}.app-shell .header-title span{max-width:180px}.app-shell .mobile-close-button{display:grid}}.app-shell .header-school-name{align-items:center;min-width:0;display:flex}.app-shell .header-school-name strong{text-overflow:ellipsis;white-space:nowrap;max-width:360px;color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:800;overflow:hidden}.app-shell .sidebar{isolation:isolate;background:radial-gradient(circle at 20% 0%, #7c3aed1f, transparent 34%), radial-gradient(circle at 100% 70%, #2563eb17, transparent 34%), var(--fameschool-dark-bg,#020817);border-right:1px solid #94a3b824;flex-direction:column;gap:0;width:264px;min-width:264px;padding:18px 14px 14px;transition:background .22s,border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:12px 0 40px #0208172e}.app-shell .sidebar:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#ffffff09,#0000 22% 78%,#7c3aed06);position:absolute;inset:0}.theme-light.app-shell .sidebar{background:radial-gradient(circle at 20% 0%, #7c3aed13, transparent 34%), radial-gradient(circle at 100% 70%, #2563eb0e, transparent 34%), var(--fameschool-light-bg,#f8fafc);border-right-color:#64748b29;box-shadow:10px 0 32px #0f172a0f}.theme-dark.app-shell .sidebar{color:#e5e7eb}.theme-light.app-shell .sidebar{color:#1e293b}.app-shell .sidebar .sidebar-brand{border-bottom:1px solid #94a3b821;justify-content:space-between;align-items:center;gap:12px;min-height:68px;margin:0 2px 20px;padding:8px 8px 16px;display:flex}.app-shell .sidebar-brand-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.app-shell .sidebar-brand-copy strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.025em;font-size:18px;font-weight:800;line-height:1.15;display:block;overflow:hidden}.app-shell .sidebar-brand-eyebrow{letter-spacing:.18em;opacity:.55;font-size:8px;font-weight:800;line-height:1;display:block}.theme-dark.app-shell .sidebar-brand-copy strong{color:#f8fafc}.theme-light.app-shell .sidebar-brand-copy strong{color:#0f172a}.theme-dark.app-shell .sidebar-brand-eyebrow{color:#c4b5fd}.theme-light.app-shell .sidebar-brand-eyebrow{color:#6366f1}.app-shell .sidebar .mobile-close-button{cursor:pointer;width:34px;height:34px;color:inherit;background:#94a3b814;border:1px solid #94a3b829;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;transition:transform .16s,background .16s,border-color .16s;display:none}.app-shell .sidebar .mobile-close-button:hover{background:#7c3aed24;border-color:#7c3aed52;transform:translateY(-1px)}.app-shell .sidebar .mobile-close-button:active{transform:scale(.95)}.app-shell .sidebar .sidebar-section-label{letter-spacing:.15em;color:#64748b;align-items:center;gap:9px;margin:0 7px 9px;padding:0;font-size:9px;font-weight:800;line-height:1;display:flex}.app-shell .sidebar-section-line{opacity:.15;background:currentColor;flex:1;height:1px}.app-shell .sidebar .sidebar-nav{scrollbar-width:thin;scrollbar-color:#7c3aed40 transparent;flex-direction:column;gap:4px;padding:0;display:flex;overflow:hidden auto}.app-shell .sidebar .nav-item{color:#64748b;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 11px;font-size:13px;font-weight:600;transition:color .16s,background .16s,border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.theme-dark.app-shell .sidebar .nav-item{color:#94a3b8}.theme-light.app-shell .sidebar .nav-item{color:#64748b}.app-shell .sidebar .nav-item:hover{color:#7c3aed;background:#7c3aed12;border-color:#7c3aed1c;transform:translate(2px)}.theme-dark.app-shell .sidebar .nav-item:hover{color:#c4b5fd;background:#7c3aed18;border-color:#7c3aed26}.app-shell .sidebar .nav-item.active{color:#fff;background:linear-gradient(100deg,#7c3aedf2,#2563ebe0);border-color:#a78bfa47;box-shadow:0 8px 24px #4f46e538,inset 0 1px #ffffff1f}.theme-light.app-shell .sidebar .nav-item.active{color:#fff;box-shadow:0 7px 20px #4f46e529}.app-shell .sidebar .nav-item.active:before{content:"";background:#a78bfa;border-radius:0 4px 4px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-14px;box-shadow:0 0 12px #a78bfabf}.app-shell .sidebar .nav-icon{width:34px;height:34px;color:inherit;background:#94a3b811;border-radius:9px;flex:0 0 34px;justify-content:center;align-items:center;transition:background .16s,transform .16s;display:flex}.app-shell .sidebar .nav-item:hover .nav-icon{background:#7c3aed1f;transform:scale(1.04)}.app-shell .sidebar .nav-item.active .nav-icon{background:#ffffff21}.app-shell .sidebar .nav-item>span:not(.nav-icon):not(.notification-dot){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .sidebar .notification-dot{color:#f87171;background:#ef44441f;border:1px solid #ef44442e;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.app-shell .sidebar .nav-item.active .notification-dot{color:#fff;background:#ffffff29;border-color:#ffffff2e}.app-shell .sidebar .sidebar-footer{margin-top:auto;padding:14px 2px 0}.app-shell .sidebar .admin-mini-card{background:#94a3b80e;border:1px solid #94a3b821;border-radius:13px;align-items:center;gap:10px;min-height:58px;padding:8px;transition:background .16s,border-color .16s;display:flex}.theme-light.app-shell .sidebar .admin-mini-card{background:#ffffff9e;border-color:#64748b21}.app-shell .sidebar .admin-mini-card:hover{background:#7c3aed13;border-color:#7c3aed2b}.app-shell .sidebar .admin-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:10px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:flex;box-shadow:0 5px 14px #4f46e538}.app-shell .sidebar .admin-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-shell .sidebar .admin-info strong{text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:11px;font-weight:750;overflow:hidden}.app-shell .sidebar .admin-info span{text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:9px;overflow:hidden}.app-shell .sidebar .mini-icon-button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 29px;justify-content:center;align-items:center;width:29px;height:29px;transition:background .16s,color .16s,transform .16s;display:flex}.app-shell .sidebar .mini-icon-button:hover{color:#7c3aed;background:#7c3aed1a;transform:translateY(-1px)}.app-shell .sidebar .sidebar-nav::-webkit-scrollbar{width:4px}.app-shell .sidebar .sidebar-nav::-webkit-scrollbar-track{background:0 0}.app-shell .sidebar .sidebar-nav::-webkit-scrollbar-thumb{background:#7c3aed38;border-radius:999px}@media (width<=900px){.app-shell .sidebar .mobile-close-button{display:flex}.app-shell .sidebar{width:278px;min-width:278px}}.app-shell .top-header{box-sizing:border-box;height:78px!important;min-height:78px!important;padding:10px 28px!important}.app-shell .header-left{align-items:center;gap:14px;min-width:0;display:flex}.app-shell .header-school-identity{min-width:0;max-width:min(52vw,560px);align-items:center!important;gap:12px!important;display:flex!important}.app-shell .header-school-logo{box-sizing:border-box!important;background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 16%, transparent), color-mix(in srgb, var(--blue) 14%, transparent))!important;border:1px solid color-mix(in srgb, var(--primary) 38%, var(--border))!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;box-shadow:0 7px 22px color-mix(in srgb, var(--primary) 18%, transparent), inset 0 0 14px #ffffff0a!important;border-radius:12px!important;flex:0 0 48px!important;justify-content:center!important;align-items:center!important;padding:4px!important;display:flex!important;overflow:hidden!important}.app-shell .header-school-logo img{object-fit:contain!important;object-position:center!important;border-radius:8px!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:block!important}.app-shell .header-school-name{flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-width:0!important;max-width:100%!important;display:flex!important}.app-shell .header-school-name strong{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;max-width:min(42vw,470px)!important;color:var(--text)!important;letter-spacing:-.015em!important;font-size:15px!important;font-weight:800!important;line-height:1.2!important;display:block!important;overflow:hidden!important}.app-shell .header-school-name:after{content:"School Management System";text-overflow:ellipsis;white-space:nowrap;max-width:min(42vw,470px);color:var(--text-muted);letter-spacing:.9px;text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:700;line-height:1.2;display:block;overflow:hidden}@media (width<=800px){.app-shell .top-header{height:70px!important;min-height:70px!important;padding:8px 16px!important}.app-shell .header-school-logo{flex-basis:42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important}.app-shell .header-school-identity{gap:9px!important;max-width:45vw!important}.app-shell .header-school-name strong{max-width:45vw!important;font-size:13px!important}.app-shell .header-school-name:after{display:none}}@media (width<=520px){.app-shell .top-header{padding:8px 10px!important}.app-shell .header-school-identity{max-width:38vw!important}.app-shell .header-school-name strong{max-width:38vw!important;font-size:12px!important}.app-shell .header-school-logo{flex-basis:38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:3px!important}}.app-shell .content-area{padding-top:94px!important}@media (width<=800px){.app-shell .content-area{padding-top:84px!important}}.dashboard-stat-card{appearance:none;width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;border:0}.dashboard-stat-card:focus-visible{outline-offset:3px;outline:2px solid}.dashboard-stat-card .dashboard-more-button{color:inherit;pointer-events:none;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-user-welcome{flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 12px;display:flex}.dashboard-user-role{border:1px solid var(--primary-light);background:color-mix(in srgb, var(--primary-light) 12%, transparent);min-height:27px;color:var(--primary-light);letter-spacing:.35px;border-radius:999px;align-items:center;padding:5px 11px;font-size:11px;font-weight:750;display:inline-flex}.dashboard-user-email{max-width:100%;color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}@media (width<=480px){.dashboard-user-welcome{flex-direction:column;align-items:flex-start;gap:7px}.dashboard-user-email{font-size:11px}}[hidden]{display:none!important}
