/* Monarch institution groups and account review, adapted to Ballr's existing palette. */
.bank-connections,.bank-manual-accounts{margin:22px 22px 0;padding:0;border:0;min-width:0}
.sheet-body .bank-connections,.sheet-body .bank-manual-accounts{margin:22px 0 0}
.bank-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:9px}
.bank-section-heading h3{font-size:13px;line-height:1.4;font-weight:700;letter-spacing:-.1px;margin:0}
.bank-connections-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 0 8px 12px;margin:0;font-size:11px;color:#626269;font-weight:600}
.bank-connections-refresh:disabled,.bank-overflow-button:disabled,.bank-account-row:disabled,.bank-review-entry:disabled{opacity:.45;cursor:wait}
.bank-connections .bank-connection-card,.bank-manual-accounts .bank-connection-card{overflow:hidden;min-width:0;padding:0;margin:0 0 14px;background:#fff;border:1px solid #e9e9ec;border-radius:14px;box-shadow:0 3px 10px #14141603}
.bank-institution-header{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:10px;align-items:center;padding:12px 10px 12px 15px;min-height:82px}
.bank-institution-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#171719;color:#fff;font-size:15px;font-weight:700;line-height:1}
.bank-institution-copy{min-width:0}
.bank-institution-copy h4{font-size:13px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.bank-institution-copy p{font-size:10px;line-height:1.6;color:#797980;margin-top:2px;overflow-wrap:anywhere}
.bank-institution-copy time{white-space:normal}
.bank-connection-warning{color:#9a6222}
.bank-overflow-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#37373c;background:transparent}
.bank-overflow-button:hover{background:#f5f5f6}
.bank-overflow-button:focus-visible,.bank-account-row:focus-visible,.bank-review-entry:focus-visible,.bank-connections-refresh:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
.bank-account-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) 14px;gap:10px;align-items:center;min-width:0;min-height:75px;width:100%;text-align:left;padding:14px 16px;color:var(--ink);background:#fff;border:0;border-top:1px solid #f0f0f2;border-radius:0}
.bank-institution-accounts .bank-account-row{padding-left:30px}
.bank-account-row:hover{background:#fcfcfc}
.bank-account-row>svg{color:#a0a0a6;flex-shrink:0}
.bank-account-row-copy{display:block;min-width:0}
.bank-account-row-copy strong{display:block;font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.bank-account-row-copy>span{display:block;font-size:10px;line-height:1.5;color:#85858c;margin-top:3px;overflow-wrap:anywhere}
.bank-account-balance{max-width:112px;font-size:12px;font-weight:600;line-height:1.5;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bank-account-balance.is-unknown{max-width:80px;font-size:10px;line-height:1.5;font-weight:400;color:#85858c}
.bank-manual-accounts .bank-account-row:first-child{border-top:0}
.bank-group-note{padding:13px 16px;border-top:1px solid #f0f0f2;font-size:11px;line-height:1.6;color:#777780;margin:0}
.bank-unverified-accounts .bank-group-note{border-top:0;background:#fafafa}
.bank-group-action{border-top:1px solid #f0f0f2;padding:0 16px}
.bank-review-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;font-size:12px;font-weight:600;color:#8b5019;text-align:left}
.bank-connections-note{font-size:11px;line-height:1.6;color:#73737c;margin:0 0 12px}
.bank-connections-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:27px 18px 31px;border:1px solid #e9e9ec;border-radius:14px;background:#fff;text-align:center;color:#95959b}
.bank-connections-empty p{font-size:13px;line-height:1.5;font-weight:600;color:#3c3c42;margin:2px 0 0}
.bank-connections-empty>span{font-size:11px;line-height:1.6;max-width:210px}

/* The review owns its scrolling content; actions remain outside that scroll area. */
.sheet-body:has(.bank-review-form){display:flex;flex-direction:column;min-height:0;padding-bottom:0}
.bank-review-form{display:flex;flex:1;flex-direction:column;min-height:0;max-height:100%}
.bank-review-form .bank-review{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.bank-review-introduction{padding:8px 0 17px}
.bank-review-bank{font-size:11px;line-height:1.5;font-weight:600;color:#84848b;margin:0 0 5px}
.bank-review-intro{font-size:17px;line-height:1.5;font-weight:650;letter-spacing:-.3px;color:var(--ink);margin:0 0 7px}
.bank-review-explanation{font-size:11px;line-height:1.7;color:#777780;margin:0;max-width:340px}
.bank-review-form .bank-account-list{display:block;border:0;padding:0;margin:0;min-width:0}
.bank-review-form .bank-account-choice{position:relative;display:flex;align-items:center;gap:14px;min-height:76px;min-width:0;padding:16px 0;margin:0;border:0;border-top:1px solid #ededf0;border-radius:0;background:transparent;cursor:pointer}
.bank-review-form .bank-account-choice:last-child{border-bottom:1px solid #ededf0}
.bank-review-form .bank-account-choice:has(input:checked){background:transparent;border-color:#ededf0}
.bank-review-form .bank-account-copy{min-width:0;flex:1}
.bank-review-form .bank-account-copy strong{display:block;font-size:13px;line-height:1.6;font-weight:500;overflow-wrap:anywhere}
.bank-review-form .bank-account-copy>span{display:block;font-size:11px;line-height:1.5;color:#85858d;margin-top:2px;text-transform:none;overflow-wrap:anywhere}
.bank-review-form .bank-account-choice input{position:absolute;right:0;top:0;bottom:0;width:44px;height:100%;min-width:44px;margin:0;opacity:0;cursor:pointer;z-index:1}
.bank-account-check{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7e7e8;color:transparent;flex:0 0 auto;margin-right:3px}
.bank-account-choice input:checked+.bank-account-check{background:var(--orange);color:#fff}
.bank-review-form .bank-account-choice:focus-within{outline:2px solid var(--ink);outline-offset:-2px}
.bank-review-form .bank-account-choice input:focus-visible{outline:0}
.bank-review-note{font-size:10px;line-height:1.7;color:#83838a;margin:17px 0 0;padding:0}
.bank-selection-count{font-size:12px;line-height:1.5;font-weight:600;color:#343439;margin:18px 0 0;padding-bottom:10px}
.bank-review-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 22px;background:#f8f8f9;border:0;border-radius:12px;text-align:center;color:#86868d}
.bank-review-empty p{font-size:12px;line-height:1.7;margin:0;color:#6c6c75}
.bank-review-form #form-error:empty{display:none}
.bank-review-form #form-error{flex:none;margin:8px 0;font-size:12px}
.bank-review-form .form-actions{position:sticky;bottom:0;z-index:2;flex:none;display:flex;gap:12px;padding:14px 0 max(20px,env(safe-area-inset-bottom));margin:0;background:#fff;border-top:1px solid #ededf0}
.bank-review-form .form-actions .outline-button{border:0;background:transparent;min-width:86px;width:auto;padding:12px;color:#6c6c73;font-weight:500}
.bank-review-form .form-actions .primary-button{border-radius:8px;background:var(--orange);color:#24170b;box-shadow:none;min-height:48px}
.bank-review-form .form-actions .primary-button:disabled{opacity:.4;cursor:not-allowed}

.bank-progress{display:block;min-width:0;margin:14px 22px 0;padding:16px;border:1px solid #e7e7eb;border-radius:14px;background:#fff}
.sheet-body [data-bank-progress] .bank-progress{margin:12px 0 0}
.bank-progress-heading{display:flex;align-items:center;gap:9px;min-width:0}
.bank-progress-heading>strong{flex:1;min-width:0;font-size:12px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}
.bank-progress-heading>.bank-spinner{width:14px;height:14px;margin:0;color:#62626b}
.bank-progress .bank-cancel{flex:none;align-self:center;min-height:44px;min-width:44px;padding:5px;margin:-8px -5px -8px 0;font-size:11px;color:#72727a;font-weight:500}
.bank-progress .bank-progress-detail{font-size:11px;line-height:1.7;color:#818189;margin:7px 0 0}
.bank-progress-steps{list-style:none;display:grid;gap:11px;margin:16px 0 0;padding:0}
.bank-progress-steps li{display:flex;align-items:center;gap:10px;min-width:0;font-size:11px;line-height:1.6;color:#ababaf}
.bank-progress-steps li[data-step-status=current]{color:#3d3d45}
.bank-progress-steps li[data-step-status=complete]{color:#777780}
.bank-step-mark{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#f0f0f2;flex:none;color:#fff}
[data-step-status=complete] .bank-step-mark{background:var(--green-dark)}
[data-step-status=current] .bank-step-mark{background:transparent;color:#777780}
.bank-step-mark .bank-spinner{width:16px;height:16px;margin:0}
@media(max-width:360px){.bank-institution-header{grid-template-columns:32px minmax(0,1fr) 44px;padding-left:12px;gap:8px}.bank-institution-mark{width:30px;height:30px;font-size:13px}.bank-institution-copy h4{font-size:12px}.bank-account-row{padding:13px 12px;gap:7px}.bank-institution-accounts .bank-account-row{padding-left:22px}.bank-account-balance{max-width:86px;font-size:11px}.bank-account-row-copy strong{font-size:12px}.bank-account-row-copy>span{font-size:10px}.bank-review-form .form-actions{gap:7px}.bank-review-form .form-actions .outline-button{min-width:70px;padding-inline:8px}.bank-review-form .bank-account-choice{padding-block:15px}.bank-progress{padding:14px}}
@media(forced-colors:active){.bank-account-check{border:1px solid ButtonText}.bank-account-choice input:checked+.bank-account-check{background:Highlight;color:HighlightText}.bank-institution-mark{border:1px solid CanvasText}.bank-account-choice:has(input:checked){outline:1px solid Highlight}}
