:root{--font-primary: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--bg-light: #F0F6FF;--bg-card: rgba(255, 255, 255, .88);--bg-input: #FFFFFF;--primary-dark-blue: #0A2540;--primary-blue: #1E3A8A;--accent-blue: #2563EB;--sky-blue: #0284C7;--indigo-blue: #3B82F6;--text-main: #0F172A;--text-muted: #475569;--text-dark-blue: #0A2540;--border-light: rgba(191, 219, 254, .7);--border-focus: #2563EB;--shadow-glow: 0 10px 25px -5px rgba(37, 99, 235, .25);--shadow-card: 0 20px 45px -10px rgba(30, 58, 138, .12), 0 8px 16px -6px rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-primary);background-color:var(--bg-light);color:var(--text-main);min-height:100vh;width:100%;margin:0;padding:0;overflow-x:hidden}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;margin:0;padding:0}.ambient-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#0f172a1f,#1e3a8a26),url(/splash_screen_bg.avif) center/cover no-repeat fixed}.ambient-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15;animation:floatOrb 14s ease-in-out infinite alternate}.blob-1{width:550px;height:550px;background:radial-gradient(circle,#bae6fd,#93c5fd);top:-120px;left:-120px}.blob-2{width:500px;height:500px;background:radial-gradient(circle,#60a5fa,#93c5fd);bottom:-120px;right:-120px;animation-delay:-5s}.blob-3{width:400px;height:400px;background:radial-gradient(circle,#e0f2fe,#bae6fd);top:35%;left:50%;transform:translate(-50%,-50%);animation-delay:-9s;opacity:.4}@keyframes floatOrb{0%{transform:translate(0) scale(1)}50%{transform:translate(35px,25px) scale(1.06)}to{transform:translate(-25px,40px) scale(.96)}}.app-container{position:relative;z-index:1;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:2.5rem 1.5rem}.app-container.dashboard-view{padding:0;margin:0;width:100%;max-width:100%;align-items:stretch;justify-content:flex-start}.app-container>.splash-container,.app-container>.auth-card{margin:auto;padding:0}.splash-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:fadeIn .8s ease-out forwards;max-width:550px;width:100%}.logo-wrapper{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem}.logo-halo{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;background:conic-gradient(from 0deg,#2563eb,#60a5fa,#38bdf8,#2563eb);filter:blur(12px);opacity:.5;animation:spinHalo 8s linear infinite}.splash-logo-img{position:relative;z-index:2;width:140px;height:140px;object-fit:contain;border-radius:20px;box-shadow:0 12px 30px #1e3a8a2e;animation:scalePop .8s cubic-bezier(.34,1.56,.64,1) forwards}.app-title-dark-blue{font-family:var(--font-heading);font-size:3.75rem;font-weight:800;letter-spacing:-.02em;color:#0a2540;background:linear-gradient(135deg,#0a2540,#1e3a8a 60%,#2563eb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem;animation:slideUp .7s ease-out .2s both;filter:drop-shadow(0 2px 10px rgba(10,37,64,.15))}.tagline-text{font-size:1.3rem;font-weight:600;color:#1d4ed8;letter-spacing:.03em;margin-bottom:2.5rem;animation:slideUp .7s ease-out .4s both;display:flex;align-items:center;gap:.5rem;justify-content:center}.splash-progress-bar-container{width:240px;height:8px;background:#bfdbfe99;border-radius:10px;overflow:hidden;position:relative;animation:slideUp .7s ease-out .5s both;box-shadow:inset 0 1px 3px #0000000f}.splash-progress-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,#1e3a8a,#2563eb,#38bdf8);border-radius:10px;animation:fillProgress 3s linear forwards}.splash-timer-badge{margin-top:1rem;font-size:.9rem;color:var(--text-muted);font-weight:500;animation:fadeIn .5s ease-out .6s both}.auth-card{width:100%;background:#fffffff0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 20px 50px -10px #0f172a38,0 0 0 1px #fff9;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) forwards;position:relative;transition:all .3s ease}.auth-card.login-card{max-width:460px;padding:2.25rem 2.5rem}.auth-card.signup-card{max-width:640px;padding:2.25rem 2.75rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-brand-logo{width:64px;height:64px;object-fit:contain;border-radius:14px;margin-bottom:.75rem;box-shadow:0 4px 14px #1e3a8a26}.auth-title{font-family:var(--font-heading);font-size:1.95rem;font-weight:800;color:var(--primary-dark-blue);margin-bottom:.3rem}.auth-subtitle{font-size:.95rem;color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:1.15rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}@media (max-width: 620px){.form-grid{grid-template-columns:1fr}}.role-selector{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.role-pill{padding:.65rem;border-radius:12px;background:#f1f5f9;border:1.5px solid #CBD5E1;color:#475569;font-family:var(--font-heading);font-size:.9rem;font-weight:700;text-align:center;cursor:pointer;transition:all .25s ease}.role-pill.active{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border-color:#2563eb;box-shadow:0 4px 14px #2563eb40}.role-pill:hover:not(.active){background:#e2e8f0;color:#1e293b}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.875rem;font-weight:700;color:#1e293b}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:#64748b;transition:color .2s;pointer-events:none}.form-input{width:100%;padding:.85rem 1rem .85rem 2.85rem;background:var(--bg-input);border:1.5px solid #CBD5E1;border-radius:12px;color:var(--text-main);font-size:.95rem;font-family:var(--font-primary);outline:none;transition:all .2s ease-in-out}.form-input::placeholder{color:#94a3b8}.form-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 4px #2563eb26;background:#fff}.form-input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--accent-blue)}.password-toggle{position:absolute;right:1rem;background:transparent;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--text-main)}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.remember-me{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-weight:500;cursor:pointer}.custom-checkbox{width:16px;height:16px;accent-color:var(--accent-blue);border-radius:4px;cursor:pointer}.forgot-link{color:var(--accent-blue);text-decoration:none;font-weight:600;transition:opacity .2s}.forgot-link:hover{text-decoration:underline;opacity:.85}.btn-primary{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#1e3a8a,#2563eb);border:none;border-radius:14px;color:#fff;font-family:var(--font-heading);font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-glow);transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.6rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px -5px #2563eb66;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-primary:active{transform:translateY(0)}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--text-muted);border-top:1px solid var(--border-light);padding-top:1.15rem}.auth-switch-btn{background:none;border:none;color:var(--accent-blue);font-weight:800;cursor:pointer;font-size:.95rem;margin-left:.4rem;transition:all .2s;text-decoration:underline}.auth-switch-btn:hover{color:#1d4ed8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes scalePop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes spinHalo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fillProgress{0%{width:0%}to{width:100%}}.btn-google{width:100%;padding:.85rem 1.5rem;background:#fff;border:1.5px solid #CBD5E1;border-radius:14px;color:#1e293b;font-family:var(--font-heading);font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.65rem;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000f}.btn-google:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8;box-shadow:0 4px 14px #0000001a;transform:translateY(-1px)}.btn-google:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000000f}.btn-google:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:.75rem}.auth-divider-line{flex:1;height:1px;background:var(--border-light)}.auth-divider-text{font-size:.8rem;color:var(--text-muted);font-weight:500;white-space:nowrap}
