:root{--bg:#05080f;--surface:#0e1624;--accent:#5bffb0;--text:#f5f7fb;--muted:#b6c2d6;--border:#ffffff14;--error:#ff8a8a;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:radial-gradient(circle at top,#091730,#05080f 60%);min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}a{color:inherit}.portal-shell{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.portal-shell.loading{color:var(--muted)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;width:100%;max-width:420px;padding:clamp(1.75rem,5vw,2.5rem)}.auth-card.wide{max-width:520px}.auth-card h1{margin-bottom:.5rem;font-size:1.75rem}.auth-card h2{margin-bottom:.5rem;font-size:1.15rem}.auth-card .hint{color:var(--muted);margin-bottom:1rem;font-size:.9rem}.auth-card hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.dev-login-form,.auth-card form{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.dev-login-form label{color:var(--muted);font-size:.85rem}input{border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:.6rem;padding:.75rem 1rem;font-size:1rem}input::placeholder{color:var(--muted)}button{background:var(--text);color:#05080f;cursor:pointer;border:none;border-radius:999px;padding:.75rem 1.25rem;font-size:1rem;font-weight:600}button:disabled{opacity:.6;cursor:not-allowed}.link-btn{color:var(--accent);background:0 0;padding:0;font-weight:500;text-decoration:underline;display:inline}.google-btn{text-align:center;background:var(--text);color:#05080f;border-radius:999px;margin-bottom:1rem;padding:.75rem 1.25rem;font-weight:600;display:block}.error-msg{color:var(--error);margin-top:.5rem;font-weight:500}.rates-preview{text-align:left;background:#5bffb00f;border:1px solid #5bffb033;border-radius:1rem;margin:1rem 0 1.5rem;padding:1.25rem 1.5rem}.rates-preview h3{margin-bottom:.75rem;font-size:1rem}.rates-preview ul{list-style:none}.rates-preview li{border-bottom:1px solid #ffffff14;justify-content:space-between;padding:.35rem 0;display:flex}.rates-preview li strong{color:var(--accent)}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}
