:root{--primary:#1e3a8a;--primary-hover:#1e40af;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg-color:#f8fafc;--card-bg:#fff;--text-main:#0f172a;--text-muted:#64748b;--border:#e2e8f0}html{scrollbar-gutter:stable;overflow-y:scroll}html,body{overscroll-behavior-x:none}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box}.dashboard-container{flex-direction:column;gap:1.25rem;display:flex}.welcome-banner{border:1px solid var(--border);border-left:6px solid var(--primary);background-color:#fff;border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 2px 8px #00000008}.welcome-banner h2{color:var(--text-main);letter-spacing:.05em;margin:0 0 .5rem;font-size:1.4rem;font-weight:700}.welcome-banner p{color:var(--text-muted);margin:0;font-size:1rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d}.task-cards{flex-direction:column;gap:1rem;display:flex}.section-title{color:var(--text-main);margin:0 0 1rem}.card-header{align-items:center;gap:.8rem;margin-bottom:.5rem;display:flex}.card-header h3{margin:0;font-size:1.2rem}.icon{width:24px;height:24px}.icon-large{width:40px;height:40px;color:var(--primary);margin-bottom:1rem}.pending-icon{color:var(--warning)}.success-icon{color:var(--success)}.task-detail{color:var(--text-muted);margin:0 0 1rem;font-size:1.05rem}.action-btn{cursor:pointer;border:none;border-radius:8px;width:100%;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.action-btn.primary{background:var(--primary);color:#fff}.action-btn.primary:hover{background:var(--primary-hover)}.action-btn.outline{border:2px solid var(--primary);color:var(--primary);background:0 0}.action-btn.outline:hover{background:#eff6ff}.test-result{color:#065f46;text-align:center;background:#ecfdf5;border-radius:8px;padding:.75rem;font-weight:600}.status-box.warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.status-box h4{margin:0 0 .5rem;font-size:1.1rem}.status-box p{margin:0}.badge{border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.badge.warning{color:#92400e;background:#fef3c7}.badge.success{color:#065f46;background:#d1fae5}.border-left-warning{border-left:4px solid var(--warning)}.border-left-success{border-left:4px solid var(--success)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem;font-weight:600;transition:all .2s;display:flex}.back-btn:hover{color:var(--text-main);background:#f1f5f9}.icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.icon-btn:hover{color:var(--text-main);background:#f1f5f9}@keyframes smoothExpand{0%{opacity:0;max-height:0;overflow:hidden;transform:translateY(-8px)}30%{opacity:.4}to{opacity:1;max-height:600px;overflow:visible;transform:translateY(0)}}.one-on-one-slot-picker{animation:.45s cubic-bezier(.16,1,.3,1) forwards smoothExpand}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.login-container{box-sizing:border-box;background-color:#f8fafc;background-image:radial-gradient(#e2e8f0 1px,#0000 1px);background-size:24px 24px;justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.login-card{text-align:center;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:100%;max-width:430px;padding:3rem 2.5rem;animation:.3s ease-out fadeInCard;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0f172a0f,0 8px 10px -6px #0f172a0a}.login-card:before{content:"";background:linear-gradient(90deg,#1e3a8a 0%,#f59e0b 50%,#1e3a8a 100%);height:4px;position:absolute;top:0;left:0;right:0}@keyframes fadeInCard{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-header{flex-direction:column;align-items:center;margin-bottom:2.25rem;display:flex}.login-badge{color:#1e3a8a;letter-spacing:.05em;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:9999px;align-items:center;gap:.35rem;margin-bottom:.85rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.login-header h1{color:#1e3a8a;letter-spacing:4px;text-indent:4px;margin:0;font-size:2.35rem;font-weight:800}.login-accent-bar{background-color:#f59e0b;border-radius:9999px;width:44px;height:3.5px;margin:.85rem auto .75rem}.login-header p{color:#64748b;margin:0;font-size:.88rem;line-height:1.5}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-group{flex-direction:column;gap:.85rem;display:flex}.login-field-box{background-color:#fff;border:1.5px solid #cbd5e1;border-radius:12px;align-items:center;padding:.45rem .95rem;transition:all .2s;display:flex}.login-field-box:focus-within{background-color:#fff;border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1f}.login-field-icon{flex-shrink:0;margin-right:.65rem}.login-text-input{color:#0f172a;background:0 0;border:none;outline:none;width:100%;padding:.55rem 0;font-size:.95rem}.login-text-input::placeholder{color:#94a3b8}.login-submit-btn{color:#fff;cursor:pointer;background-color:#1e3a8a;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.9rem 1.25rem;font-size:1.05rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #1e3a8a38}.login-submit-btn:hover:not(:disabled){background-color:#172554;transform:translateY(-1px);box-shadow:0 6px 16px #1e3a8a47}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.stylish-error-text{color:#b91c1c;text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;animation:.2s ease-out forwards slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-footer-info{color:#94a3b8;border-top:1px solid #f1f5f9;margin-top:2rem;padding-top:1.25rem;font-size:.78rem;line-height:1.5}@media (width<=480px){.login-container{padding:1rem}.login-card{border-radius:16px;padding:2.25rem 1.35rem}.login-header h1{font-size:2rem}.login-submit-btn{padding:.85rem;font-size:1rem}}.app-layout{background-color:#f8fafc;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;display:flex}.app-header{z-index:10;background:#fff;padding:1rem 2rem;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.app-header-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.student-theme .app-header{padding:.65rem 1rem}.student-theme .app-header-inner{max-width:900px;margin:0 auto}.header-brand{align-items:center;gap:1rem;display:flex}.app-title{color:#0f172a;font-size:1.25rem;font-weight:700}.role-badge{text-transform:uppercase;border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.role-badge.student{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.role-badge.parent{color:#065f46;background:#d1fae5}.role-badge.admin{color:#6b21a8;background:#faf5ff;border:1px solid #e9d5ff}.header-user{align-items:center;gap:1.5rem;display:flex}.user-name{color:#475569;font-weight:500}.logout-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.logout-btn:hover{color:#0f172a;background:#f1f5f9}.app-main{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.student-theme .app-main{box-sizing:border-box;max-width:900px;padding:0!important}.student-datetime-text{color:#475569;white-space:nowrap;font-size:.9rem;font-weight:500}@media (width<=640px){.app-header{padding:.75rem 1rem}.header-brand{gap:.6rem}.header-user{gap:.75rem}.role-badge{padding:.2rem .55rem;font-size:.75rem}.student-datetime-text{font-size:.78rem}.app-main{padding:1rem}.student-theme .app-main{padding:0!important}.user-name{display:none}}.app-layout.app-layout-fullscreen{background-color:#0f172a;min-height:100dvh}.app-layout.app-layout-fullscreen .app-main,.app-main.app-main-fullscreen{background-color:#0f172a;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
