@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--panel-bg:#fff;--panel-border:#e2e8f0;--panel-border-hover:#cbd5e1;--glow-color:#3b82f60a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--student-color:#0891b2;--student-glow:#0891b21a;--teacher-color:#d97706;--teacher-glow:#d977061a;--parent-color:#db2777;--parent-glow:#db27771a;--accent-blue:#2563eb;--accent-purple:#7c3aed;--success-color:#059669;--error-color:#dc2626;--warning-color:#d97706;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sidebar-width:270px;--sidebar-collapsed-width:80px;--navbar-height:70px}*{box-sizing:border-box;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{background:radial-gradient(circle at 50% 0%, #f1f5f9 0%, var(--bg-primary) 100%);color:var(--text-primary);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#00000005}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0003}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #00000008,0 1px 3px #00000005}.glass-panel:hover{border-color:var(--panel-border-hover);box-shadow:0 10px 25px #0000000d,0 2px 6px #00000008}.glass-input{border:1px solid var(--panel-border);color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:12px 16px;font-size:14px;transition:all .2s}.glass-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f633}.glass-select{border:1px solid var(--panel-border);color:var(--text-primary);cursor:pointer;appearance:none;background:#0a0f18cc url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 12px center/16px no-repeat;border-radius:8px;outline:none;padding:12px 40px 12px 16px;font-size:14px}.glass-select option{background-color:var(--bg-secondary);color:var(--text-primary)}.glass-button{background:linear-gradient(135deg, var(--accent-blue) 0%, #3b82f6cc 100%);color:var(--text-primary);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:550;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #3b82f64d}.glass-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.glass-button:active{transform:translateY(0)}.glass-button.secondary{border:1px solid var(--panel-border);color:var(--text-primary);box-shadow:none;background:#ffffff0d}.glass-button.secondary:hover{border-color:var(--panel-border-hover);background:#ffffff1a;box-shadow:0 4px 12px #0000001a}.glow-student{box-shadow:0 0 15px var(--student-glow);border-color:#06b6d44d!important}.glow-teacher{box-shadow:0 0 15px var(--teacher-glow);border-color:#f59e0b4d!important}.glow-parent{box-shadow:0 0 15px var(--parent-glow);border-color:#ec48994d!important}.badge{border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:550;display:inline-flex}.badge-student{color:var(--student-color);background:#06b6d426;border:1px solid #06b6d44d}.badge-teacher{color:var(--teacher-color);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-parent{color:var(--parent-color);background:#ec489926;border:1px solid #ec48994d}.badge-success{color:var(--success-color);background:#10b98126;border:1px solid #10b9814d}.badge-error{color:var(--error-color);background:#ef444426;border:1px solid #ef44444d}.app-wrapper{width:100vw;min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);min-height:100vh;width:calc(100% - var(--sidebar-width));flex-direction:column;flex-grow:1;transition:margin-left .3s;display:flex}@media (width<=1024px){.main-content{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}}.view-container{flex-grow:1;padding:30px;animation:.4s cubic-bezier(.4,0,.2,1) fadeIn;overflow-y:auto}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px;display:grid}.dashboard-layout{grid-template-columns:2fr 1fr;gap:25px;margin-bottom:30px;display:grid}@media (width<=1200px){.dashboard-layout{grid-template-columns:1fr}}.panel-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.panel-header h3{color:var(--text-primary);font-size:18px;font-weight:600}.form-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:12px;font-weight:600}.table-container{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--panel-border);letter-spacing:.05em;padding:16px;font-size:12px;font-weight:600}td{color:var(--text-primary);border-bottom:1px solid #ffffff0a;padding:16px;font-size:14px}tr:hover td{background:#ffffff05}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.login-page{--bg-primary:#0a0f18;--bg-secondary:#111827;--panel-bg:#0f172aa6;--panel-border:#ffffff14;--panel-border-hover:#ffffff29;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;background:radial-gradient(circle at 50% 0%, #152238 0%, var(--bg-primary) 70%);width:100vw;min-height:100vh}.login-page .glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:0 30px 60px #0006}.login-page .glass-input{border:1px solid var(--panel-border)!important;color:var(--text-primary)!important;background:#0a0f1899!important}.login-page .glass-input:focus{border-color:var(--accent-blue)!important;box-shadow:0 0 0 3px #3b82f633!important}
