:root{--navy: #022A4B;--navy-light: #0E3E8F;--navy-dark: #06162E;--amber: #F6C244;--amber-light: #f8d374;--coral: #00E5F5;--teal: #00C2F0;--sunshine: #f8d374;--success: #22C55E;--error: #EF4444;--warning: #F59E0B;--white: #FFFFFF;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.07);--shadow-lg: 0 10px 25px rgba(0,0,0,.1);--shadow-xl: 0 20px 40px rgba(0,0,0,.15);--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--gray-900);background-color:var(--gray-50);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:600;color:var(--navy)}a{color:var(--navy);text-decoration:none;transition:color .2s ease}a:hover{color:var(--amber)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:Poppins,sans-serif;font-weight:600;font-size:var(--text-base);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease-in-out;outline:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background-color:var(--amber);color:var(--navy-dark);box-shadow:0 4px 0 var(--amber-light)}.btn-primary:hover:not(:disabled){background-color:var(--amber-light)}.btn-secondary{background-color:transparent;color:var(--navy);border:2px solid var(--navy)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-100)}.btn-ghost{background-color:transparent;color:var(--gray-600)}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100);color:var(--navy)}.btn-destructive{background-color:var(--error);color:var(--white)}.btn-destructive:hover:not(:disabled){opacity:.9}.btn-pill{border-radius:var(--radius-pill)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-lg)}.card{background-color:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);padding:var(--space-4);transition:box-shadow .2s ease,transform .2s ease}.card-student{border-radius:var(--radius-lg);border:2px solid var(--gray-100);box-shadow:var(--shadow-md)}.card-hoverable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.input-container{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.input-label{font-weight:500;font-size:var(--text-sm);color:var(--gray-700)}.input{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:border-color .2s,box-shadow .2s;background-color:var(--white)}.input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #022a4b1a}.input.error{border-color:var(--error)}.input.error:focus{box-shadow:0 0 0 3px #ef44441a}.input-error-msg{color:var(--error);font-size:var(--text-xs)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef9c3;color:#854d0e}.badge-error{background:#fee2e2;color:#991b1b}.badge-navy{background:var(--navy);color:var(--white)}.badge-coral{background:var(--coral);color:var(--navy-dark)}
