/* RS Business Accounts — application wizard + reference form. Mobile first; builds on rsba.css. */
.rsba-ap{max-width:860px;margin:0 auto;padding:0 0 24px}
.rsba-ap-head{margin:0 0 14px}
.rsba-root .rsba-ap-kicker{font-size:13px !important;font-weight:700;letter-spacing:.06em !important;text-transform:uppercase !important;color:var(--rsba-accent);margin:0 0 4px}
.rsba-ap-card{padding:18px}
@media (min-width:640px){.rsba-ap-card{padding:26px 28px}}
.rsba-ap-intro{padding:16px 18px}
.rsba-ap-intro p:last-child{margin-bottom:0}
.rsba-ap-need{margin:0 0 10px;padding-left:20px}
.rsba-ap-need li{margin:0 0 4px}

/* progress: compact bar on phones, labelled steps from 640px */
.rsba-ap-progress{margin:8px 0 4px}
.rsba-ap-progress-t{font-size:14px;font-weight:700}
.rsba-ap-steps{display:none !important}
@media (min-width:640px){
  .rsba-ap-progress{display:none}
  .rsba-ap-steps{display:flex !important;margin:10px 0 18px}
}
.rsba-ap-steps li{font-size:13px}
.rsba-ap-steps li>span,.rsba-ap-stepbtn{display:block;padding:2px 0}
.rsba-ap-stepbtn{background:none;border:0;padding:2px 0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px;min-height:32px}
.rsba-ap-stepbtn:focus-visible{outline:3px solid var(--rsba-accent);outline-offset:2px}
.rsba-ap-stepn{color:var(--rsba-mute)}
.rsba-ap-steps li.on .rsba-ap-stepn{color:var(--rsba-accent)}

/* sections inside a form */
.rsba-ap-sec{margin-top:6px}
.rsba-ap-sec:first-of-type{margin-top:0}
.rsba-ap-form>.rsba-ap-sec .rsba-h3{margin-bottom:2px !important}
.rsba-root .rsba-ap-sechelp{margin:0 0 2px}
.rsba-ap-formerr:empty{display:none}
.rsba-ap-formerr .rsba-alert{margin:0}
.rsba-ap-lbl{display:block;font-weight:600;font-size:14px;margin:0 0 5px}

/* three-up address row: city wide, state + zip narrow */
.rsba-ap-addr{display:grid;grid-template-columns:1fr;gap:14px 16px}
@media (min-width:560px){.rsba-ap-addr{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr)}}

/* fieldsets, checkboxes, radios */
.rsba-root fieldset.rsba-ap-group{border:0;margin:0;padding:0;min-width:0}
.rsba-root fieldset.rsba-ap-group legend{font-weight:600;font-size:14px;margin:0 0 6px;padding:0}
.rsba-ap-checks{display:grid;grid-template-columns:1fr;gap:4px 16px}
@media (min-width:560px){.rsba-ap-checks{grid-template-columns:1fr 1fr}}
.rsba-ap-checks .rsba-check,.rsba-ap-form>.rsba-check{min-height:44px;align-items:center}
.rsba-ap-form .rsba-check input{margin:0}
.rsba-ap-form .rsba-check label{cursor:pointer;padding:6px 0}
.rsba-radios{display:grid;gap:8px}
.rsba-radio{display:flex !important;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid #cfc7bc;border-radius:8px;background:#fff;cursor:pointer;font-weight:400 !important;font-size:15px !important;margin:0 !important}
.rsba-radio input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--rsba-accent)}
.rsba-radio:has(input:checked){border-color:var(--rsba-accent);box-shadow:0 0 0 1px var(--rsba-accent) inset}
.rsba-root .rsba-check input[type=checkbox]{accent-color:var(--rsba-accent)}
.rsba-ap-group.invalid .rsba-radio{border-color:var(--rsba-err)}
.rsba-check.invalid label{color:var(--rsba-err)}

/* email verification */
.rsba-ap-verify{background:var(--rsba-soft);border-radius:8px;padding:12px 14px}
.rsba-ap-verify .rsba-alert{margin:0 0 10px}
.rsba-ap-verify-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.rsba-ap-code{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rsba-root .rsba-ap-code input{flex:1 1 140px;width:auto;max-width:200px;font-size:20px;letter-spacing:4px;font-variant-numeric:tabular-nums}
.rsba-root .rsba-ap-code input::placeholder{font-size:16px;letter-spacing:normal}
.rsba-ap-ok{margin:0 !important;color:var(--rsba-ok);font-weight:700}
.rsba-ap-verify.invalid{box-shadow:0 0 0 2px var(--rsba-err) inset}

/* references + documents */
.rsba-ap-ref{border:1px solid var(--rsba-line);border-radius:10px;padding:14px;background:#fff}
.rsba-root .rsba-ap-reft{font-weight:700;margin:0 0 10px}
.rsba-ap-details>summary{cursor:pointer;font-weight:700;min-height:28px;list-style-position:inside}
.rsba-ap-details[open]>summary{margin-bottom:12px}
.rsba-ap-docs{list-style:none;margin:0;padding:0}
.rsba-ap-docs li{padding:8px 0;border-bottom:1px solid var(--rsba-line);font-size:15px;overflow-wrap:anywhere;margin:0}
.rsba-ap-doclbl{font-weight:600}
.rsba-ap-upload{display:grid;grid-template-columns:1fr;gap:12px;align-items:end}
@media (min-width:640px){.rsba-ap-upload{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}}
.rsba-root .rsba-ap-upload input[type=file]{width:100%;max-width:100%;min-height:44px;padding:8px 0;font-size:15px}
.rsba-ap-upbtn .rsba-btn{width:100%}

/* card */
.rsba-ap-explain{background:var(--rsba-infobg);color:#18324f;border-radius:8px;padding:12px 14px;font-size:15px}
.rsba-ap-explain ul{margin:6px 0 0;padding-left:20px}
.rsba-ap-explain li{margin:0 0 4px}
.rsba-ap-explain p{margin:0}
.rsba-ap-cardon{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border:1px solid var(--rsba-ok);background:var(--rsba-okbg);border-radius:10px;padding:14px 16px}
.rsba-ap-cardon b{text-transform:capitalize}
.rsba-sq{min-height:56px}

/* agreements + signature */
.rsba-ap-form .rsba-legal{grid-column:1/-1;margin:0 0 4px}
.rsba-ap-form .rsba-legal:focus-visible{outline:3px solid var(--rsba-accent);outline-offset:2px}
.rsba-ap-form .rsba-legal ol{padding-left:20px}
.rsba-ap-gbox{display:grid;gap:14px}
.rsba-ap-gbox .rsba-legal{margin:0}
.rsba-ap-gbox.invalid{outline:2px solid var(--rsba-err);outline-offset:6px;border-radius:6px}
.rsba-ap-sighead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rsba-ap-sighead .rsba-ap-lbl{margin:0}
.rsba-sig{height:150px}

/* bottom navigation */
.rsba-ap-nav{display:flex;flex-direction:column-reverse;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--rsba-line)}
.rsba-ap-nav>.rsba-btn{width:100%}
.rsba-ap-nav-l{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rsba-ap-nav-l .rsba-btn-2{flex:1 1 auto}
.rsba-ap-saved{font-size:13px;color:var(--rsba-mute);min-width:60px}
@media (min-width:560px){
  .rsba-ap-nav{flex-direction:row;justify-content:space-between;align-items:center}
  .rsba-ap-nav>.rsba-btn{width:auto;min-width:180px}
  .rsba-ap-nav-l .rsba-btn-2{flex:0 0 auto}
}

/* done / status */
.rsba-ap-done{text-align:left}
.rsba-ap-check{width:52px;height:52px;border-radius:50%;background:var(--rsba-okbg);color:var(--rsba-ok);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;margin:0 0 12px}
.rsba-ap-done h2:focus{outline:none}
.rsba-ap-next-list{padding-left:22px}
.rsba-ap-joint{border-top:1px solid var(--rsba-line);margin-top:16px;padding-top:16px}
.rsba-ap-kv{max-width:520px;margin:12px 0 18px}
.rsba-ap-kv dd{overflow-wrap:anywhere}
.rsba-ap-foot{margin-top:4px;text-align:left}

/* honeypot */
.rsba-hp{position:absolute !important;left:-10000px !important;top:auto;width:1px;height:1px;overflow:hidden}

.rsba-ap-card .rsba-h3:focus{outline:none}
.rsba-ap .rsba-field,.rsba-ap .rsba-check{min-width:0}
.rsba-ap .rsba-help{overflow-wrap:anywhere}
