.login-page{background:radial-gradient(circle at 0% 0%, var(--primary-50) 0%, var(--background) 70%);min-height:100vh;font-family:var(--font-geist-sans), sans-serif;justify-content:center;align-items:center;padding:1.5rem;transition:background .3s;display:flex;position:relative;overflow:hidden}.dark .login-page{background:radial-gradient(circle at 0 0,#0f172a 0%,#020617 100%)}.login-bg-decoration{filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;transition:opacity .5s;position:absolute}.login-bg-decoration-1{background:radial-gradient(circle, hsla(var(--primary-hue), var(--primary-sat), 60%, .15) 0%, transparent 70%);width:500px;height:500px;animation:20s infinite alternate float-slow;top:-10%;right:-10%}.login-bg-decoration-2{background:radial-gradient(circle,#8b5cf61f 0%,#0000 70%);width:600px;height:600px;animation:25s infinite alternate float-medium;bottom:-15%;left:-10%}.login-bg-decoration-3{background:radial-gradient(circle,#10b9810f 0%,#0000 70%);width:400px;height:400px;animation:18s infinite alternate float-reverse;top:40%;left:45%}.dark .login-bg-decoration-1{opacity:.8}.dark .login-bg-decoration-2{opacity:.6}.dark .login-bg-decoration-3{opacity:.5}.login-container{-webkit-backdrop-filter:blur(20px);z-index:1;background:#ffffffb3;border:1px solid #ffffff80;border-radius:28px;grid-template-columns:1.15fr 1fr;width:100%;max-width:1160px;min-height:720px;transition:all .3s;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 60px -15px #0f172a14,inset 0 0 0 1px #fff6}.dark .login-container{background:#0f172a66;border:1px solid #ffffff0d;box-shadow:0 40px 80px -20px #0006,inset 0 0 0 1px #ffffff05}.login-branding{color:#fff;background:linear-gradient(145deg,#0f172a 0%,#1e293b 100%);border-right:1px solid #ffffff0d;flex-direction:column;justify-content:space-between;padding:3.5rem;display:flex;position:relative;overflow:hidden}.login-branding:before{content:"";pointer-events:none;z-index:1;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.login-branding-content{z-index:2;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.login-branding-header{margin-bottom:2rem}.login-logo-container{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.login-logo{object-fit:contain;filter:drop-shadow(0 4px 12px #2563eb33)}.login-brand-title{font-family:var(--font-lora), serif;color:#fff;letter-spacing:-.01em;font-size:1.75rem;font-weight:700}.login-brand-tagline{color:var(--muted);max-width:320px;font-size:1rem;font-weight:400;line-height:1.5}.showcase-container{perspective:1000px;flex:1;justify-content:center;align-items:center;margin:2rem 0;display:flex}.dashboard-mockup{-webkit-backdrop-filter:blur(12px);background:#1e293b73;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:380px;padding:1.5rem;transition:all .5s cubic-bezier(.2,.8,.2,1);position:relative;transform:rotateX(8deg)rotateY(-8deg)rotate(2deg);box-shadow:0 20px 40px #0000004d,inset 0 0 0 1px #ffffff0d}.dashboard-mockup:hover{border-color:#60a5fa4d;transform:rotateX(0)rotateY(0)rotate(0)scale(1.02);box-shadow:0 30px 60px #0006,0 0 25px #2563eb26}.mockup-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.mockup-title{color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;font-size:.8125rem;font-weight:600}.mockup-badge{color:#10b981;background:#10b9811f;border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:flex}.mockup-amount{letter-spacing:-.02em;color:#fff;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.mockup-chart-container{width:100%;height:110px;margin-bottom:1.25rem;position:relative}.mockup-chart-path{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:3s ease-out .5s forwards draw-chart}.mockup-details{border-top:1px solid #ffffff0f;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;display:grid}.mockup-detail-item{flex-direction:column;gap:.25rem;display:flex}.mockup-detail-label{color:#64748b;font-size:.75rem}.mockup-detail-val{color:#cbd5e1;font-size:.875rem;font-weight:600}.login-features{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.login-feature{background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;align-items:center;gap:1rem;padding:.75rem 1rem;transition:all .2s;display:flex}.login-feature:hover{background:#ffffff0d;border-color:#ffffff14;transform:translate(4px)}.login-feature-icon{color:#60a5fa;background:#2563eb26;border-radius:8px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;display:flex}.login-feature-icon svg{width:18px;height:18px}.login-feature-text h3{color:#fff;margin-bottom:.1rem;font-size:.875rem;font-weight:600}.login-feature-text p{color:#94a3b8;font-size:.75rem;line-height:1.3}.login-branding-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.login-branding-footer span{color:#64748b;font-size:.75rem}.login-form-section{background:0 0;justify-content:center;align-items:center;padding:3.5rem;display:flex;position:relative}.login-form-container{flex-direction:column;width:100%;max-width:380px;display:flex}.login-mobile-logo{flex-direction:column;align-items:center;margin-bottom:2rem;display:none}.login-mobile-logo h1{font-family:var(--font-lora), serif;color:var(--foreground);margin-top:.75rem;font-size:1.625rem;font-weight:700}.login-form-header{margin-bottom:2.25rem}.login-form-header h2{font-family:var(--font-lora), serif;color:var(--foreground);letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-form-header p{color:var(--muted);font-size:.9375rem;line-height:1.4}.dark .login-form-header h2{color:var(--foreground)}.dark .login-form-header p{color:var(--muted-foreground)}.login-form{flex-direction:column;gap:1.5rem;display:flex}.login-input-group{flex-direction:column;gap:.5rem;display:flex}.login-input-group label{color:var(--card-foreground);letter-spacing:.02em;font-size:.8125rem;font-weight:600}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{width:18px;height:18px;color:var(--muted-foreground);pointer-events:none;transition:color .2s;position:absolute;left:1rem}.login-input-wrapper input{border:1.5px solid var(--border);background:var(--card);width:100%;color:var(--foreground);box-shadow:var(--shadow-sm);border-radius:14px;padding:.9375rem 1rem .9375rem 2.85rem;font-size:.9375rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.login-input-wrapper input:focus{border-color:var(--primary-500);background:var(--input-bg);outline:none;box-shadow:0 0 0 3px #2563eb1f,0 4px 12px #0f172a08}.login-input-wrapper input:focus+.login-input-icon{color:var(--primary-500)}.login-input-wrapper input::placeholder{color:var(--input-placeholder)}.login-input-wrapper input:disabled{background:var(--hover-bg);opacity:.6;cursor:not-allowed}.dark .login-input-wrapper input{background:#1e293b4d;border-color:#ffffff14}.dark .login-input-wrapper input:focus{border-color:var(--primary-500);background:#0f172a80;box-shadow:0 0 0 3px #3b82f633,0 4px 16px #0003}.login-eye-btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex;position:absolute;right:.875rem}.login-eye-btn:hover{color:var(--foreground);background:var(--hover-bg)}.dark .login-eye-btn:hover{background:#ffffff0d}.custom-checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.75rem;font-size:.8125rem;line-height:1.4;display:flex}.custom-checkbox-container input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.custom-checkbox-checkmark{background:var(--card);border:1.5px solid var(--border);color:#0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:.1rem;transition:all .2s;display:flex}.custom-checkbox-container:hover input[type=checkbox]~.custom-checkbox-checkmark{border-color:var(--primary-400)}.custom-checkbox-container input[type=checkbox]:checked~.custom-checkbox-checkmark{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.custom-checkbox-checkmark svg{width:12px;height:12px}.password-strength{flex-direction:column;gap:.375rem;margin-top:.5rem;display:flex}.password-strength-bar{background:var(--border);border-radius:9999px;width:100%;height:4px;overflow:hidden}.password-strength-fill{border-radius:9999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1),background .4s}.password-strength-info{justify-content:space-between;font-size:.75rem;font-weight:500;display:flex}.password-strength-label{color:var(--muted-foreground)}.login-submit-btn{color:#fff;background:linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.9375rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #2563eb33,0 1px 2px #0000000d}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);transform:translateY(-1.5px);box-shadow:0 8px 20px -4px #2563eb59,0 1px 4px #0000000d}.login-submit-btn:active:not(:disabled){transform:translateY(.5px)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.login-submit-btn svg{width:18px;height:18px}.login-spinner{animation:1s linear infinite spin}.login-error{color:#dc2626;background:#fef2f2;border:1px solid #ef444426;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.8125rem;font-weight:500;line-height:1.4;display:flex}.dark .login-error{color:#fca5a5;background:#ef444414;border-color:#ef444433}.login-error svg{color:#ef4444;width:18px;min-width:18px;height:18px}.login-forgot-password{text-align:right;margin-top:-.25rem}.login-forgot-password a{color:var(--primary-500);font-size:.8125rem;font-weight:500;text-decoration:none}.login-forgot-password a:hover{color:var(--primary-600);text-decoration:underline}.login-register-link{text-align:center;margin-top:1.25rem;font-size:.875rem}.login-register-link span{color:var(--muted)}.login-register-link a{color:var(--primary-500);margin-left:.25rem;font-weight:600;text-decoration:none}.login-register-link a:hover{color:var(--primary-600);text-decoration:underline}.login-footer{text-align:center;border-top:1px solid var(--border);margin-top:3rem;padding-top:1.5rem}.dark .login-footer{border-color:#ffffff0d}.login-footer p{color:var(--muted-foreground);font-size:.75rem}@keyframes float-slow{0%{transform:translate(0)scale(1)}to{transform:translate(40px,30px)scale(1.1)}}@keyframes float-medium{0%{transform:translate(0)scale(1)}to{transform:translate(-30px,40px)scale(1.05)}}@keyframes float-reverse{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-30px)scale(1.08)}}@keyframes draw-chart{to{stroke-dashoffset:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:1024px){.login-container{max-width:960px;min-height:660px}.login-branding,.login-form-section{padding:2.5rem}}@media (max-width:900px){.login-container{border-radius:24px;grid-template-columns:1fr;max-width:480px;min-height:auto}.login-branding{display:none}.login-mobile-logo{display:flex}.login-form-section{padding:3rem 2.5rem}}@media (max-width:480px){.login-page{background:var(--card);padding:0}.dark .login-page{background:#020617}.login-container{box-shadow:none;background:0 0;border:none;border-radius:0;min-height:100vh}.login-form-section{padding:2.5rem 1.5rem}}
