.login-screen{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#f1f5f9);position:relative;overflow:hidden}.login-card-wrap{position:relative;width:100%;max-width:440px}.login-glow{position:absolute;inset:-2px;border-radius:20px;background:linear-gradient(90deg,rgba(34,211,238,.25),rgba(99,102,241,.25));filter:blur(20px);opacity:.5}.login-card{position:relative;border-radius:20px;background:rgba(255,255,255,.95);border:1px solid rgba(0,0,0,.08);padding:24px;box-shadow:0 10px 40px rgba(0,0,0,.1);backdrop-filter:blur(10px)}.login-head{margin-bottom:16px;text-align:center}.login-title{margin:0;font-size:22px;font-weight:600;color:#1e293b;letter-spacing:.2px}.login-subtitle{margin-top:6px;color:#64748b;font-size:13px}.login-form{display:grid;gap:12px}.login-label{display:block;font-size:13px;color:#475569;margin-bottom:6px}.login-input-wrap{position:relative}.login-input{width:100%;border-radius:12px;background:#f8fafc;border:1px solid rgba(0,0,0,.1);color:#1e293b;padding:12px 40px 12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}.login-input:focus{border:1px solid rgba(99,102,241,.5);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.login-input::-moz-placeholder{color:#94a3b8}.login-input::placeholder{color:#94a3b8}.login-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#64748b;background:transparent;border:0;cursor:pointer;font-size:12px}.login-toggle:hover{color:#334155}.login-info{margin-top:6px;font-size:11px;color:#64748b}.login-info strong{color:#1e293b;font-weight:600}.login-error{border-radius:10px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);color:#dc2626;font-size:13px;padding:8px 10px}.login-submit{width:100%;border:0;cursor:pointer;border-radius:12px;color:#fff;font-weight:600;padding:12px 16px;background:linear-gradient(90deg,#6366f1,#8b5cf6);box-shadow:0 4px 14px rgba(99,102,241,.3);transition:transform .2s,box-shadow .2s}.login-submit:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,.4)}.login-submit[disabled]{opacity:.7;cursor:not-allowed}.login-footer{margin-top:16px;text-align:center}.login-footer p{color:#64748b;font-size:12px;margin:0}.login-product{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6366f1;text-align:center;margin-bottom:6px;font-weight:500}.login-bg-charts{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden;padding:12px 24px 32px}.login-bg-hero{width:min(1440px,100%);height:min(860px,96vh);opacity:.7}.login-bg-chart-grid line{stroke:rgba(100,116,139,.12);stroke-width:1}.login-bg-axis{stroke:rgba(71,85,105,.3);stroke-width:1.5}.login-bg-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:0;animation:loginChartLineFlow 8s linear infinite}.login-bg-line--primary{stroke:rgba(99,102,241,.8);stroke-width:3}.login-bg-line--secondary{stroke:rgba(139,92,246,.7);stroke-width:2;stroke-dasharray:360;animation-duration:10s;animation-delay:-2s}.login-bg-point{fill:#f8fafc;stroke-width:2.3;stroke-linejoin:round;animation:loginChartPointPulse 2.4s ease-in-out infinite}.login-bg-point--primary{stroke:rgba(99,102,241,.9)}.login-bg-point--secondary{stroke:rgba(139,92,246,.85)}.login-bg-label{fill:rgba(71,85,105,.7);font-size:11px}.login-bg-title{fill:rgba(51,65,85,.85);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.login-bg-x-label{fill:rgba(71,85,105,.75);font-size:11px}.login-bg-band{fill:rgba(99,102,241,.08)}.login-bg-area{opacity:.4;animation:loginAreaPulse 9s ease-in-out infinite}.login-bg-bar{transform-origin:center bottom;transform-box:fill-box;animation:loginChartBarPulse 5.4s ease-in-out infinite}.login-bg-bar--income{fill:rgba(34,197,94,.6)}.login-bg-bar--savings{fill:rgba(6,182,212,.65)}.login-bg-bar--debt{fill:rgba(239,68,68,.6)}.login-bg-bar--future{fill:rgba(99,102,241,.65)}@keyframes loginChartLineFlow{0%{stroke-dashoffset:0;opacity:.4}40%{stroke-dashoffset:-210;opacity:.9}to{stroke-dashoffset:-420;opacity:.4}}@keyframes loginChartPointPulse{0%,to{r:3.4;opacity:.7}50%{r:5;opacity:1}}@keyframes loginAreaPulse{0%,to{opacity:.25}40%{opacity:.5}70%{opacity:.35}}@keyframes loginChartBarPulse{0%,to{transform:scaleY(.95)}40%{transform:scaleY(1.15)}75%{transform:scaleY(1.02)}}@media (max-width:640px){.login-bg-hero{height:60vh}}