@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Outfit:wght@400;500;600;700&display=swap";:root{--bg-base:#09090b;--bg-surface:#18181ba6;--bg-card:#27272a73;--border-glow:#00cffd26;--border-focus:#00cffd;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--gradient-accent:linear-gradient(135deg, #0084ad 0%, #00cffd 100%);--gradient-glow:radial-gradient(circle at top, #00cffd26 0%, #09090b00 70%);--btn-shadow:#0084ad4d;--btn-shadow-hover:#0084ad66;--font-sans:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--border-radius-card:16px;--border-radius-input:10px;--transition-smooth:cubic-bezier(.4, 0, .2, 1);--transition-duration:.25s}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);background-image:var(--gradient-glow);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;display:flex;overflow-x:hidden}#root{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1rem;display:flex}@keyframes pulseGlow{0%,to{opacity:.6;filter:drop-shadow(0 0 4px #00cffd33);transform:scale(1)}50%{opacity:1;filter:drop-shadow(0 0 12px #00cffd99);transform:scale(1.05)}}.animate-pulse-glow{animation:2s ease-in-out infinite pulseGlow}body.admin-layout{display:block}body.admin-layout #root{padding:0;display:block}.login-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(20px)saturate(190%);border-radius:var(--border-radius-card);width:100%;max-width:440px;transition:border-color var(--transition-duration) var(--transition-smooth), box-shadow var(--transition-duration) var(--transition-smooth);border:1px solid #ffffff14;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000080}.login-card:before{content:"";background:var(--gradient-accent);height:3px;position:absolute;top:0;left:0;right:0}.brand-header{text-align:center;margin-bottom:2rem}.brand-logo-container{justify-content:center;margin-bottom:1rem;display:flex}.brand-title{color:var(--text-primary);letter-spacing:-.5px;font-size:1.8rem;font-weight:700}.brand-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex;position:relative}.form-label{color:var(--text-secondary);letter-spacing:.2px;font-size:.85rem;font-weight:500}.form-input{border-radius:var(--border-radius-input);color:var(--text-primary);transition:border-color var(--transition-duration) var(--transition-smooth), box-shadow var(--transition-duration) var(--transition-smooth);background:#00000040;border:1px solid #ffffff1a;outline:none;padding:.8rem 1rem;font-family:inherit;font-size:.95rem}.form-input:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px #00cffd33}.form-group:has(.form-input:focus-visible) .form-label{color:var(--border-focus)}.btn-primary{background:var(--gradient-accent);color:#fff;border-radius:var(--border-radius-input);cursor:pointer;width:100%;transition:transform .15s var(--transition-smooth), opacity .15s var(--transition-smooth), box-shadow .15s var(--transition-smooth);box-shadow:0 4px 12px var(--btn-shadow);border:none;margin-top:.5rem;padding:.85rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600}.btn-primary:hover{opacity:.95;box-shadow:0 6px 16px var(--btn-shadow-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{color:var(--text-secondary);border-radius:var(--border-radius-input);cursor:pointer;width:100%;transition:background var(--transition-duration) var(--transition-smooth), color var(--transition-duration) var(--transition-smooth);background:#ffffff0d;border:1px solid #ffffff14;margin-top:.5rem;padding:.8rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:500}.btn-secondary:hover{color:var(--text-primary);background:#ffffff1a}.error-banner{border-radius:var(--border-radius-input);color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.stage-container{view-transition-name:auth-stage}@media (width<=480px){.login-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:1.5rem 1rem}}
