*,:before,:after{box-sizing:border-box}:root{--brand:#534ab7;--brand-light:#eeedfe;--brand-hover:#433aaa;--text:#3a3550;--text-muted:#7b7490;--bg:#fff;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body{margin:0;padding:0}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text);margin:0;font-weight:600}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font-family:inherit}.login-page{background:linear-gradient(135deg,#f5f4ff 0%,#eeedfe 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 8px 40px #534ab71f}.logo-block{align-items:center;gap:10px;margin-bottom:8px;display:flex}.logo-icon{color:#fff;background:#534ab7;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.logo-text{color:#534ab7;letter-spacing:-.5px;font-size:24px;font-weight:700}.login-subtitle{color:#7b7490;margin:0 0 32px;font-size:15px}.login-form{flex-direction:column;gap:20px;display:flex}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{color:#3a3550;font-size:14px;font-weight:500}.field-group input{color:#1a1730;background:#fafafe;border:1.5px solid #dddaf5;border-radius:8px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field-group input::placeholder{color:#b3afd0}.field-group input:focus{background:#fff;border-color:#534ab7;box-shadow:0 0 0 3px #534ab71f}.forgot-row{justify-content:flex-end;margin-top:-8px;display:flex}.forgot-link{color:#534ab7;font-size:13px;font-weight:500;text-decoration:none}.forgot-link:hover{text-decoration:underline}.login-btn{color:#fff;cursor:pointer;background:#534ab7;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.login-btn:hover:not(:disabled){background:#433aaa}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.error-msg{color:#c0392b;background:#fdf0ef;border:1px solid #f5c6c2;border-radius:6px;margin-top:-4px;padding:9px 12px;font-size:13px}.dashboard-card{text-align:center}.dashboard-heading{color:#1a1730;margin:24px 0 8px;font-size:22px;font-weight:700}.dashboard-email{color:#7b7490;margin-bottom:32px;font-size:15px}.signout-btn{color:#534ab7;background:0 0;border:1.5px solid #534ab7;max-width:160px;margin:0 auto}.signout-btn:hover:not(:disabled){background:#eeedfe}@media (width<=480px){.login-card{padding:36px 24px}}.auth-loading{background:linear-gradient(135deg,#f5f4ff 0%,#eeedfe 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-switch{text-align:center;color:#7b7490;margin:24px 0 0;font-size:13px}.auth-switch-link{color:#534ab7;font-weight:600;text-decoration:none}.auth-switch-link:hover{text-decoration:underline}.subscribe-card{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:48px 40px;box-shadow:0 8px 40px #534ab71f}.subscribe-title{color:#1a1730;margin:0 0 6px;font-size:22px;font-weight:700}.subscribe-desc{color:#7b7490;margin:0 0 28px;font-size:15px}.subscribe-offer-box{background:#f8f7ff;border:1.5px solid #e8e5f7;border-radius:12px;margin-bottom:24px;padding:22px 24px}.subscribe-price-row{align-items:flex-start;gap:3px;margin-bottom:6px;display:flex}.subscribe-cur{color:#534ab7;padding-top:8px;font-size:18px;font-weight:700}.subscribe-amt{color:#534ab7;letter-spacing:-2px;font-size:52px;font-weight:900;line-height:1}.subscribe-per{color:#7b7490;align-self:flex-end;padding-bottom:6px;font-size:14px}.subscribe-renew{color:#9893b8;margin:0 0 16px;font-size:13px}.subscribe-features{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.subscribe-features li{color:#3a3550;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.auth-back-link{color:#7b7490;align-items:center;gap:5px;margin-bottom:28px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.auth-back-link:hover{color:#534ab7}
