:root{--bg:#eef1f6;--card:#fff;--ink:#1a2233;--muted:#6b7480;--line:#dfe3ea;--accent:#ff5a1f;--accent-ink:#fff;--accent-hover:#e64a15;--ok:#0a7d38;--err:#b11226;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}main{background:var(--card);border:1px solid var(--line);border-radius:16px;max-width:520px;margin:6vh auto;padding:32px;position:relative;box-shadow:0 10px 30px #141e3c0f}.powered-by{color:var(--muted);letter-spacing:.01em;font-size:13.5px;font-weight:500;position:absolute;top:37px;right:32px}.powered-by strong{color:#1f7c13;font-size:1.2em;font-weight:700}@media (max-width:440px){.powered-by{font-size:12px;top:40px}}@media (max-width:520px){main{border:none;border-radius:0;min-height:100vh;margin:0}}main.onboarding{max-width:1040px}.contract-frame{border:1px solid var(--line);border-radius:var(--radius);width:100%;height:min(85vh,1100px)}.cta-link{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);padding:12px 24px;font-size:15px;font-weight:650;text-decoration:none;display:inline-block;box-shadow:0 2px 8px #ff5a1f40}.cta-link:hover{background:var(--accent-hover)}.onboarding-steps{margin:6px 0 12px;padding-left:20px}.onboarding-steps li{margin:3px 0}main:before{content:"Virtustant";height:34px;color:var(--ink);letter-spacing:.01em;background:url(/logo-virtu-png-notext.png) 0/auto 34px no-repeat;margin-bottom:18px;padding-left:44px;font-size:18px;font-weight:700;line-height:34px;display:block}h1{margin:0 0 6px;font-size:22px;font-weight:650}h2{margin:0 0 14px;font-size:18px;font-weight:600}main>p{color:var(--muted);margin:0 0 22px;font-size:14px}main>p:first-of-type:before{content:"🔒 "}.card-form{flex-direction:column;gap:14px;display:flex}label{color:var(--ink);flex-direction:column;gap:6px;font-size:13px;font-weight:550;display:flex}input,select{width:100%;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:#fff;outline:none;padding:11px 12px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff5a1f2e}.row{gap:10px;display:flex}.row label{flex:1}button{cursor:pointer;font-family:inherit;font-size:15px;font-weight:600}button[type=submit]{width:100%;color:var(--accent-ink);background:var(--accent);border-radius:var(--radius);border:none;margin-top:4px;padding:12px 16px;transition:background .15s}button[type=submit]:hover{background:var(--accent-hover)}button[type=submit]:disabled{opacity:.6;cursor:default}button[type=button]:not([data-active]){color:var(--accent);background:0 0;border:none;padding:6px 0;font-size:14px;font-weight:550}.tabs{border-radius:var(--radius);background:#f1f1f4;gap:6px;margin-bottom:16px;padding:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:7px;flex:1;padding:8px 10px;font-size:14px}.tabs button[data-active=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #141e3c1f}.card-form label input[type=checkbox]{width:auto;accent-color:var(--accent);margin-top:2px}.amount-due{border:1px solid var(--line);border-radius:var(--radius);background:#f7f7f9;flex-direction:column;gap:2px;margin-bottom:22px;padding:16px 18px;display:flex}.amount-due-label{color:var(--muted);font-size:13px}.amount-due-value{color:var(--ink);font-size:26px;font-weight:700}.amount-due-inv{color:var(--muted);margin-top:2px;font-size:12px}.qb{color:#1f7c13;white-space:nowrap;font-size:1.2em;font-weight:700}.welcome-safe .qb{font-size:1.1em}.welcome-title{color:var(--ink);margin:0 0 14px;font-size:18px;line-height:1.35}.welcome p{color:var(--ink);margin:0 0 12px;font-size:14px;line-height:1.55}.welcome-actions{justify-content:flex-end;margin-top:10px;display:flex}button[type=button].welcome-cta{width:auto;color:var(--accent-ink);background:var(--accent);border-radius:var(--radius);border:none;padding:12px 30px;font-size:15px;font-weight:650;transition:background .15s,box-shadow .15s;box-shadow:0 2px 8px #ff5a1f40}button[type=button].welcome-cta:hover{background:var(--accent-hover);box-shadow:0 4px 12px #ff5a1f4d}.welcome-tips-lead{color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:600}.welcome-tips{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.welcome-tips li{color:var(--ink);padding-left:26px;font-size:14px;line-height:1.55;position:relative}.welcome-tips li:before{content:"✓";color:#1f7c13;font-weight:700;position:absolute;top:0;left:2px}.welcome-safe{border-radius:var(--radius);color:#2f5233;background:#f0f7f0;border:1px solid #cfe6cf;margin:16px 0 20px;padding:12px 14px;font-size:13px;line-height:1.5}.welcome-safe strong{color:#1e3a23}.ob-review{flex-direction:column;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:14px 18px;display:inline-flex}.ob-review-text{font-size:13px;line-height:1.5}.onboarding-welcome{max-width:720px;margin:2px auto 0}.onboarding-welcome .ob-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;font-size:27px;font-weight:700;line-height:1.2}.onboarding-welcome .ob-lead{color:var(--muted);margin:0 0 22px;font-size:15.5px}.onboarding-welcome .ob-note{color:var(--ink);margin:0 0 18px;font-size:14px;line-height:1.55}.ob-steps{align-items:stretch;gap:12px;margin:0 0 22px;display:flex}.ob-step{border:1px solid var(--line);background:linear-gradient(#fbfcfe 0%,#f4f6fb 100%);border-radius:14px;flex:1;align-items:center;gap:12px;padding:15px 16px;display:flex}.ob-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:15px;font-weight:700;display:grid;box-shadow:0 2px 6px #ff5a1f4d}.ob-step-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ob-step-title{color:var(--ink);font-size:15px;font-weight:650}.ob-step-sub{color:var(--muted);font-size:12.5px}.ob-step-arrow{color:var(--muted);flex-shrink:0;align-self:center;font-size:20px}.ob-highlight{background:#f0f7f0;border:1px solid #cfe6cf;border-radius:12px;margin:0 0 16px;padding:13px 16px}.ob-highlight-text{color:#2f5233;font-size:14px;line-height:1.5}.ob-highlight-text strong{color:#1e3a23}.ob-billing{border:1px solid var(--line);border-left:3px solid var(--accent);background:#f8f9fc;border-radius:12px;padding:15px 18px}.ob-billing-title{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 6px;font-size:13px;font-weight:700}.ob-billing-text{color:var(--ink);margin:0;font-size:13.5px;line-height:1.6}main.onboarding .welcome-actions{max-width:720px;margin:22px auto 0}.ob-summary{border:1px solid var(--line);border-radius:12px;margin:4px 0 18px;overflow:hidden}.ob-summary-row{align-items:center;gap:12px;padding:13px 16px;display:flex}.ob-summary-row+.ob-summary-row{border-top:1px solid var(--line)}.ob-summary-check{color:#fff;background:#1f7c13;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:grid}.ob-summary-label{color:var(--ink);flex:1;font-size:14.5px;font-weight:600}.ob-summary-status{color:#1f7c13;background:#f0f7f0;border:1px solid #cfe6cf;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}@media (max-width:560px){.ob-steps{flex-direction:column}.ob-step-arrow{transform:rotate(90deg)}.onboarding-welcome .ob-title{font-size:23px}}.verify-method{border-top:1px solid var(--line);margin:18px 0;padding-top:16px}.verify-method:first-of-type{border-top:none;padding-top:0}.bank-hint{color:#2ca01c;margin-top:5px;font-size:12.5px;font-weight:550;display:block}.finish-callout{border-radius:var(--radius);color:#7a5b00;background:#fff8e6;border:1px solid #f0d48a;margin:0 0 14px;padding:12px 14px;font-size:13.5px;line-height:1.5}.finish-callout strong{color:#5c4400;font-weight:650}.consent{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#f8f8fa;flex-direction:row;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;font-weight:400;line-height:1.45}.consent-card{border:1px solid var(--line);border-radius:var(--radius);background:#f8f8fa;overflow:hidden}.consent-card .consent{background:0 0;border:none;border-radius:0}.consent input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:1px}.consent-disclosure{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#f8f8fa;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.45}.consent-disclosure strong{color:var(--ink);font-weight:600}.consent-terms{border-top:1px solid var(--line)}.consent-terms summary{cursor:pointer;color:var(--accent);-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:12.5px;font-weight:550}.consent-terms[open] summary{border-bottom:1px solid var(--line)}.consent-terms>p{color:var(--muted);max-height:260px;margin:0;padding:12px 14px;font-size:12px;line-height:1.5;overflow-y:auto}.saved-methods{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.saved-methods .amount-due-label{margin-bottom:2px}.saved-method{border:1px solid var(--line);border-radius:var(--radius);background:#f7f7f9;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.saved-method-label{color:var(--ink);align-items:center;gap:9px;font-size:14px;font-weight:550;display:flex}.saved-method-icon{font-size:16px}button[type=button].link-danger{color:var(--err);font-size:13px}button[type=button].link-danger:disabled{opacity:.5;cursor:default}button[type=button].plaid-connect-btn{width:100%;color:var(--accent-ink);background:var(--accent);border-radius:var(--radius);border:none;margin-top:4px;padding:13px 16px;font-size:15px;font-weight:600;transition:background .15s}button[type=button].plaid-connect-btn:hover{background:var(--accent-hover)}button[type=button].plaid-connect-btn:disabled{opacity:.6;cursor:default}button[type=button].btn-use{color:var(--accent-ink);background:var(--accent);white-space:nowrap;border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .15s}button[type=button].btn-use:hover{background:var(--accent-hover)}button[type=button].btn-replace{color:var(--muted);margin-top:8px;padding:4px 0;font-size:13px;font-weight:500;text-decoration:underline}button[type=button].btn-replace:hover{color:var(--ink)}.manual-fallback{border-top:1px dashed var(--line);margin-top:18px;padding-top:16px}.manual-fallback-note{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.5}[role=status]{margin:6px 0 0;font-size:14px}[role=status][data-state=ok]{color:var(--ok)}[role=status][data-state=error]{color:var(--err)}section+button,.card-form+button{margin-top:12px}code{background:#f1f1f4;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.cc-card{perspective:1200px;aspect-ratio:1.586;width:100%;max-width:340px;margin:2px auto 18px}.cc-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.cc-card.is-flipped .cc-card-inner{transform:rotateY(180deg)}.cc-face{backface-visibility:hidden;color:#fff;background:linear-gradient(135deg,#3a4256 0%,#232a3b 100%);border-radius:14px;padding:18px 20px;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 28px #141e3c38}.cc-visa .cc-face{background:linear-gradient(135deg,#1a4bdb 0%,#133a9e 100%)}.cc-mastercard .cc-face{background:linear-gradient(135deg,#35384a 0%,#1b1d29 100%)}.cc-amex .cc-face{background:linear-gradient(135deg,#1e8fbf 0%,#16607f 100%)}.cc-discover .cc-face{background:linear-gradient(135deg,#e8862b 0%,#c25e12 100%)}.cc-face:after{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff24 0%,#fff0 42%);position:absolute;inset:0}.cc-front{flex-direction:column;justify-content:space-between;display:flex}.cc-row-top{justify-content:space-between;align-items:center;display:flex}.cc-chip{background:linear-gradient(135deg,#f2d47a 0%,#cba94a 100%);border-radius:6px;width:40px;height:30px;box-shadow:inset 0 0 0 1px #00000026}.cc-brand{letter-spacing:.06em;min-height:18px;font-size:15px;font-style:italic;font-weight:700}.cc-number{letter-spacing:.12em;text-shadow:0 1px 2px #0000004d;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:19px}.cc-row-bottom{justify-content:space-between;gap:12px;display:flex}.cc-group{flex-direction:column;gap:3px;min-width:0;display:flex}.cc-label{letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-size:8px}.cc-value{text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;max-width:190px;font-size:13px;font-weight:600;overflow:hidden}.cc-back{padding:0;transform:rotateY(180deg)}.cc-stripe{background:#1a1d29;width:100%;height:40px;margin-top:20px}.cc-cvc-band{background:#efeff2;border-radius:4px;justify-content:flex-end;align-items:center;height:34px;margin:14px 18px 0;padding:0 12px;display:flex}.cc-cvc{color:#1a2233;letter-spacing:.15em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px}.cc-brand-back{position:absolute;bottom:16px;right:20px}.cc-input-number{letter-spacing:.08em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.check{border:1px solid var(--line);background:linear-gradient(135deg,#f6f8fb 0%,#eef1f6 100%);border-radius:12px;width:100%;max-width:360px;margin:2px auto 18px;padding:14px 16px 12px;box-shadow:0 6px 16px #141e3c14}.check-head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.check-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.check-lines{background:repeating-linear-gradient(to right, var(--line) 0 18px, transparent 18px 26px);flex:1;height:1px;margin-left:12px}.check-micr{gap:6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;display:flex}.micr-seg{border-radius:6px;flex-direction:column;gap:4px;padding:4px 6px;transition:background .15s;display:flex}.micr-seg.is-active{background:#ff5a1f1f;box-shadow:inset 0 0 0 1px #ff5a1f59}.micr-digits{letter-spacing:.06em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:13px;overflow:hidden}.micr-seg.is-active .micr-digits{color:var(--accent-hover)}.micr-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:8px}.micr-dim{opacity:.5}.secure-note{color:var(--ink);text-align:center;margin:14px 0 0;font-size:13px;font-weight:550;line-height:1.5}.field-error{color:var(--err);font-size:12px;font-weight:500}input[aria-invalid=true]{border-color:var(--err)}input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #b1122629}@media (prefers-reduced-motion:reduce){.cc-card-inner{transition:none}}
