@tailwind base;@tailwind components;@tailwind utilities;:root{--primary-navy: #0f284e;--primary-gold: #d4af37;--primary-gold-hover: #b4860b;--primary-navy-hover: #1a3b6e;--bg-light: #f8f9fa;--text-dark: #1f2937;--text-gray: #6b7280;--white: #ffffff;--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.07);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--radius-md: 10px;--radius-lg: 16px;--safe-bottom: env(safe-area-inset-bottom, 20px)}*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-tap-highlight-color:transparent}html{height:100%;width:100%;background-color:var(--bg-light)}body{height:100%;width:100%;background-color:var(--bg-light);color:var(--text-dark);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary-navy)}.login-page-wrapper{min-height:100dvh;width:100%;display:flex;justify-content:center;align-items:center;padding:20px;background-color:#f3f4f6;background-image:radial-gradient(#e5e7eb 1px,transparent 1px);background-size:20px 20px}.login-container{width:100%;max-width:480px;background:var(--white);padding:40px 35px;border-radius:var(--radius-lg);box-shadow:0 20px 50px #0000001a;border-top:6px solid var(--primary-gold);display:flex;flex-direction:column;position:relative;overflow:hidden;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}.logo-img{width:100px;height:100px;object-fit:cover;border-radius:50%;border:3px solid var(--primary-gold);padding:2px;margin-bottom:15px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));background:#fff}.brand-title{color:var(--primary-navy);font-size:26px;font-weight:800;margin-top:5px;letter-spacing:-.5px}.brand-subtitle{color:var(--text-gray);font-size:14px;margin-top:5px}.form-group{width:100%;margin-bottom:20px;position:relative}.input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;z-index:10}.form-input{width:100%;padding:14px 14px 14px 50px;border:2px solid #f3f4f6;border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;outline:none;background-color:#f9fafb;color:#333;font-weight:500}.form-input:focus{border-color:var(--primary-navy);background-color:var(--white);box-shadow:0 0 0 4px #0f284e1a}.form-input::placeholder{color:#d1d5db;font-weight:400}.btn-login{width:100%;padding:14px;background-color:var(--primary-navy);color:var(--white);border:none;border-radius:var(--radius-md);font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0f284e4d;margin-top:10px;letter-spacing:.5px}.btn-login:hover{background-color:var(--primary-navy-hover);transform:translateY(-2px);box-shadow:0 8px 25px #0f284e66}.btn-login:active{transform:translateY(0)}.btn-login:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.footer-text{margin-top:25px;font-size:14px;color:var(--text-gray);text-align:center}.link-gold{color:var(--primary-gold);font-weight:700;cursor:pointer;transition:color .2s}.link-gold:hover{color:var(--primary-gold-hover);text-decoration:underline}.header-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header-welcome h1{font-size:28px;font-weight:800;color:var(--primary-navy)}.stats-grid{display:grid;width:100%;gap:20px;margin-bottom:40px;grid-template-columns:1fr}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--white);padding:30px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left-width:5px;border-left-style:solid;transition:all .3s ease;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;height:100%}.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.stat-label{color:var(--text-gray);font-size:13px;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.stat-value{color:var(--primary-navy);font-size:38px;font-weight:800;margin:0;line-height:1.2}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.glass-panel{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-student{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.badge-alumni{background:#fffbeb;color:#92400e;border:1px solid #fde047}@media(max-width:768px){.main-content,div[style*=margin-left]{margin-left:0!important;width:100%!important;overflow-x:hidden!important;padding-left:0!important;padding-right:0!important}.main-content>div{padding:15px!important}nav{padding:0 15px!important;height:70px!important}.stats-grid{grid-template-columns:1fr!important;gap:15px}.stat-card{padding:20px}.stat-value{font-size:32px}.login-container{padding:30px 20px;max-width:100%;margin:10px}.logo-img{width:90px;height:90px}.brand-title{font-size:22px}.btn-login{padding:12px;font-size:15px}}@media(min-width:1400px){.login-container{max-width:500px;padding:50px}.stat-value{font-size:42px}.stats-grid{gap:40px}}button:focus,button:active,a:focus,a:active,input:focus{outline:none!important;box-shadow:none!important;background-color:transparent}svg{background-color:transparent!important;display:inline-block;vertical-align:middle}
