:root{--brand: #0a3d62;--accent: #1e6091;--bg: #eef2f5;--text: #1c2b36;--ok: #1e7e34;--err: #c0392b;--border: #d7dee4}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px}.card{background:#fff;border-radius:14px;box-shadow:0 6px 28px #0a3d621a;padding:32px;max-width:440px;width:100%}.card.wide{max-width:640px}h1{color:var(--brand);margin-top:0;font-size:1.5rem}h2{color:var(--brand);font-size:1.1rem}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.85rem;font-weight:600;color:#47606f}.field input,.field select,.otp-input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem}.field input:focus,.field select:focus{outline:2px solid var(--accent);border-color:var(--accent)}.field-error{color:var(--err);font-size:.8rem}.btn{display:inline-block;text-align:center;text-decoration:none;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:12px 16px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:8px}.btn:hover{background:var(--accent)}.btn:disabled{background:#9fb3c0;cursor:not-allowed}.link-btn{background:none;border:0;color:var(--accent);cursor:pointer;font-weight:600;padding:8px}.error-banner{background:#fdecea;color:var(--err);border:1px solid #f5c6cb;border-radius:8px;padding:12px;margin:12px 0}.error-details{font-size:.8rem;margin-top:4px}.ok-text{color:var(--ok);font-size:.85rem}.hint{color:#6b7c88;font-size:.85rem}.checkbox{display:flex;align-items:center;gap:8px;font-size:.9rem}.footer-link{margin-top:20px;text-align:center}.stepper{list-style:none;display:flex;gap:8px;padding:0;margin:12px 0 24px}.stepper li{flex:1;text-align:center;font-size:.75rem;color:#90a4b0}.stepper .dot{display:block;width:28px;height:28px;line-height:28px;margin:0 auto 4px;border-radius:50%;background:#dfe6ea;color:#607684;font-weight:700}.stepper li.active .dot{background:var(--brand);color:#fff}.stepper li.done .dot{background:var(--ok);color:#fff}.stepper li.active,.stepper li.done{color:var(--text)}.otp{display:flex;flex-direction:column;gap:8px}.otp-input{letter-spacing:6px;text-align:center;font-size:1.3rem}.otp-meta{display:flex;justify-content:space-between;font-size:.85rem;color:#6b7c88}.expired{color:var(--err)}.dash-header{display:flex;justify-content:space-between;align-items:flex-start}.last-login{color:#6b7c88;font-size:.85rem;margin:4px 0}.new-device{color:#b8860b;font-size:.85rem}.account-list{display:flex;flex-direction:column;gap:12px;margin:12px 0 20px}.account-card{border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center}.acct-type{font-size:.75rem;color:#6b7c88}.acct-num{font-family:monospace}.acct-bal{font-size:1.2rem;font-weight:700;color:var(--brand)}.confirm-box{border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px}.confirm-box div{display:flex;justify-content:space-between}.confirm-box span{color:#6b7c88}.receipt{text-align:center}.receipt-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.receipt-status{display:inline-block;padding:6px 16px;border-radius:20px;font-weight:700;margin-bottom:12px}.receipt-status.success{background:#e6f4ea;color:var(--ok)}.receipt-status.pending{background:#fef7e0;color:#b8860b}.receipt-status.failed,.receipt-status.reversed{background:#fdecea;color:var(--err)}
