*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:Inter,system-ui,sans-serif}body{min-height:100vh;background:#fff;color:#0f172a}html.dark body{background:#060a12;color:#f1f5f9}.auth-split{display:flex;min-height:100vh}.auth-form-side{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}.auth-visual-side{flex:1;position:relative;overflow:hidden;display:none}@media(min-width:1024px){.auth-visual-side{display:block}}.auth-visual-side:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0a0f1a,#0c1929,#0e2a3d 60%,#062b3d)}.auth-visual-side:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 20%,rgba(6,182,212,.15) 0%,transparent 70%),radial-gradient(ellipse 60% 80% at 30% 80%,rgba(59,130,246,.1) 0%,transparent 70%)}.visual-content{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:4rem}.visual-content h2{font-size:2.75rem;font-weight:700;line-height:1.15;color:#fff;margin-bottom:1.25rem}.visual-content h2 span{color:#06b6d4}.visual-content p{font-size:1.125rem;color:#94a3b8;line-height:1.6;max-width:28rem}.chart-decoration{position:absolute;bottom:3rem;left:4rem;right:4rem;z-index:10;opacity:.5}.glow-orb{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(80px);z-index:5;animation:float 8s ease-in-out infinite}.glow-orb-1{top:15%;right:10%;background:#06b6d41f}.glow-orb-2{bottom:20%;left:15%;background:#3b82f614;animation-delay:-4s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.auth-form-wrapper{width:100%;max-width:420px}.auth-logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;margin-bottom:2.5rem}.auth-logo span{font-size:1.25rem;font-weight:700;color:#0f172a}html.dark .auth-logo span{color:#fff}.auth-logo .accent{color:#06b6d4}.auth-form-wrapper h1{font-size:1.75rem;font-weight:700;margin-bottom:.375rem}.auth-form-wrapper .subtitle{font-size:.875rem;color:#64748b;margin-bottom:2rem}html.dark .auth-form-wrapper .subtitle{color:#94a3b8}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;color:#475569;margin-bottom:.375rem;font-weight:500}html.dark .form-group label{color:#cbd5e1}.form-group .label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;font-family:inherit;background:#f8fafc;color:#0f172a;outline:none;transition:border-color .2s,box-shadow .2s;min-height:44px}html.dark .form-input{background:#0f1729;border-color:#1e293b;color:#f1f5f9}.form-input::-moz-placeholder{color:#94a3b8}.form-input::placeholder{color:#94a3b8}html.dark .form-input::-moz-placeholder{color:#475569}html.dark .form-input::placeholder{color:#475569}.form-input:focus{border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.btn-auth{width:100%;padding:.75rem 1.5rem;background:#06b6d4;color:#fff;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-auth:hover{background:#0891b2}.btn-auth:active{transform:scale(.99)}.btn-auth:disabled{opacity:.5;cursor:not-allowed}.link-accent{color:#06b6d4;text-decoration:none;font-weight:500;transition:color .2s}.link-accent:hover{color:#0891b2}.toggle-link{font-size:.875rem;color:#06b6d4;background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.toggle-link:hover{color:#0891b2}.alt-action{text-align:center;font-size:.875rem;color:#64748b;margin-top:2rem}html.dark .alt-action{color:#94a3b8}.alert{padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1.25rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}html.dark .alert-error{background:#dc26261a;border-color:#dc262633;color:#f87171}.alert-success{background:#06b6d41a;border:1px solid rgba(6,182,212,.2);color:#06b6d4}.bottom-links{text-align:center;margin-top:2rem;font-size:.8125rem;color:#64748b}html.dark .bottom-links{color:#64748b}.bottom-links a{color:#64748b;text-decoration:none}.bottom-links a:hover{color:#06b6d4}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
