*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{color:#0f172a;background:linear-gradient(135deg,#eef2f7 0%,#e4eaf2 100%);font-family:Inter,Arial,sans-serif}button,input{font:inherit}.app-shell{min-height:100vh}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border:1px solid #94a3b82e;border-radius:24px;width:100%;max-width:430px;padding:36px;box-shadow:0 24px 60px #0f172a1f}.auth-title{margin:0 0 8px;font-size:32px;font-weight:700}.auth-subtitle{color:#64748b;margin:0 0 24px;font-size:14px}.form-label{color:#334155;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-input{background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;height:52px;margin-bottom:16px;padding:0 16px;font-size:16px}.form-input:focus{border-color:#0f172a}.primary-button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:12px;width:100%;height:52px;font-size:16px;font-weight:600}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{color:#475569;cursor:pointer;background:0 0;border:none;width:100%;margin-top:12px;font-size:14px}.secondary-button:disabled{color:#94a3b8;cursor:not-allowed}.error-box{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:16px;padding:12px 14px;font-size:14px}.dashboard-page{min-height:100vh;padding:32px 20px}.dashboard-container{max-width:1100px;margin:0 auto}.dashboard-topbar{background:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:24px;display:flex;box-shadow:0 16px 40px #0f172a14}.dashboard-title{margin:0;font-size:28px;font-weight:700}.dashboard-subtitle{color:#64748b;margin:6px 0 0;font-size:14px}.logout-button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:600}.students-grid{gap:16px;display:grid}.student-card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 16px 40px #0f172a14}.student-name{margin:0 0 10px;font-size:18px;font-weight:700}.student-meta{color:#475569;margin:4px 0;font-size:14px}.empty-box{color:#64748b;background:#fff;border-radius:18px;padding:24px;box-shadow:0 16px 40px #0f172a14}@media (width<=640px){.auth-card{border-radius:18px;padding:24px}.auth-title{font-size:26px}.dashboard-topbar{flex-direction:column;align-items:flex-start}.logout-button{width:100%}}
