/* Weelio · bank statements */
.bank-page{--bank-ink:#282640;--bank-muted:#77758a;--bank-line:#e9e7ef;--bank-purple:#6d58c8;--bank-purple-dark:#5140a4;--bank-soft:#f6f4fc;--bank-green:#247a53;--bank-red:#ad4054;--bank-amber:#94651d;width:100%;max-width:1480px;margin:0 auto;padding:24px 28px 42px;color:var(--bank-ink);overflow:hidden}
.bank-page,.bank-page *{box-sizing:border-box}
.bank-page button,.bank-page input,.bank-page select,.bank-page textarea,.bank-modal button,.bank-modal input,.bank-modal select,.bank-modal textarea{font:inherit}
.bank-page h1,.bank-page h2,.bank-page h3,.bank-modal h2,.bank-modal h3{color:var(--bank-ink);letter-spacing:-.025em}
.bank-page p,.bank-modal p{line-height:1.55}
.bank-page .page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.bank-page .page-heading>div:first-child{min-width:0;margin-right:auto}
.bank-page .page-heading h1{margin:2px 0 6px;font-size:clamp(24px,3vw,31px);line-height:1.15}
.bank-page .page-heading .subtitle{max-width:760px;margin:0;color:var(--bank-muted);font-size:14px}
.bank-page .page-heading>button{flex:0 0 auto;min-height:38px;padding:9px 13px;border-radius:10px;font-size:12px;font-weight:650}
.bank-page .page-heading>button:focus-visible,.bank-page button:focus-visible,.bank-page input:focus-visible,.bank-page select:focus-visible,.bank-modal button:focus-visible,.bank-modal input:focus-visible,.bank-modal select:focus-visible,.bank-modal textarea:focus-visible{outline:3px solid #d6cefa;outline-offset:2px}
.bank-page .eyebrow{margin:0 0 7px;color:#8177aa;font-size:10px;font-weight:750;letter-spacing:.11em;line-height:1.4}
.bank-page .btn,.bank-modal .btn{min-height:38px;padding:9px 13px;border-radius:10px;font-size:12px;font-weight:650;transition:background .15s,border-color .15s,color .15s,transform .15s}
.bank-page .btn:disabled,.bank-modal .btn:disabled{opacity:.5;cursor:not-allowed}
.bank-page .bank-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 20px;border:1px solid var(--bank-line);border-radius:16px;background:#fff;text-align:center;color:var(--bank-muted)}
.bank-page .bank-state p{margin:0;font-size:13px}
.bank-page .bank-spinner{width:24px;height:24px;border:2px solid #e5e1f0;border-top-color:var(--bank-purple);border-radius:50%;animation:bank-spin .8s linear infinite}
@keyframes bank-spin{to{transform:rotate(360deg)}}
.bank-page .bank-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:162px;padding:24px 29px;margin-bottom:14px;overflow:hidden;border:1px solid #e5def7;border-radius:18px;background:linear-gradient(115deg,#f7f4ff 0%,#fbfaff 62%,#f0edfa 100%)}
.bank-page .bank-hero>div:first-child{position:relative;z-index:1;max-width:700px}
.bank-page .bank-hero h2{margin:0 0 8px;font-size:clamp(23px,3vw,32px);line-height:1.13}
.bank-page .bank-hero p:last-child{margin:0;color:#68647d;font-size:13px}
.bank-page .bank-hero-mark{display:grid;place-items:center;flex:0 0 105px;width:105px;height:105px;border-radius:32px;background:#ffffffc9;color:var(--bank-purple);box-shadow:0 12px 34px #5140a41a;font-size:54px;font-weight:500;transform:rotate(-7deg)}
.bank-page .bank-notice{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;margin-bottom:17px;border:1px solid #e6e0f5;border-radius:13px;background:#faf9fe;color:#5c5872;font-size:12px}
.bank-page .bank-notice>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:#eeeafd;color:var(--bank-purple);font-size:15px}
.bank-page .bank-notice p{margin:2px 0 0}
.bank-page .bank-notice b{color:#40396a}
.bank-page .bank-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:17px}
.bank-page .bank-kpis article{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px 15px;border:1px solid var(--bank-line);border-radius:14px;background:#fff;box-shadow:0 2px 8px #28264008}
.bank-page .bank-kpis article span{color:var(--bank-muted);font-size:10px;line-height:1.35}
.bank-page .bank-kpis article b{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.bank-page .bank-kpis article small{color:var(--bank-muted);font-size:9px;line-height:1.35}
.bank-page .bank-kpis article.bank-kpi-wide{grid-column:span 2}
.bank-page .bank-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) minmax(125px,165px) minmax(130px,165px) minmax(135px,170px) auto;align-items:end;gap:9px;padding:11px;margin-bottom:15px;border:1px solid var(--bank-line);border-radius:14px;background:#fff}
.bank-page .bank-toolbar>label{display:block;min-width:0;color:#656278;font-size:10px;font-weight:650}
.bank-page .bank-toolbar input,.bank-page .bank-toolbar select{display:block;width:100%;min-width:0;height:38px;margin-top:5px;padding:8px 10px;border:1px solid #e1deea;border-radius:9px;background:#fff;color:var(--bank-ink);font-size:11px}
.bank-page .bank-search{position:relative}
.bank-page .bank-search>span{position:absolute;left:10px;bottom:7px;color:#88849c;font-size:18px;line-height:1}
.bank-page .bank-search input{padding-left:31px}
.bank-page .bank-search input::placeholder{color:#a09dad}
.bank-page .bank-result-count{align-self:center;padding:0 3px 9px;color:var(--bank-muted);font-size:10px;white-space:nowrap}
.bank-page .bank-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:start;gap:15px}
.bank-page .bank-register,.bank-page .bank-detail,.bank-page .bank-statements,.bank-page .bank-unmatched,.bank-page .bank-export{min-width:0;border:1px solid var(--bank-line);border-radius:16px;background:#fff;box-shadow:0 3px 12px #28264008;overflow:hidden}
.bank-page .bank-register>header,.bank-page .bank-statements>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid var(--bank-line)}
.bank-page .bank-register>header h2,.bank-page .bank-statements>header h2{margin:0;font-size:16px}
.bank-page .bank-register>header small,.bank-page .bank-statements>header small{max-width:220px;color:var(--bank-muted);font-size:10px;text-align:right}
.bank-page .bank-list{max-height:660px;overflow-y:auto;overscroll-behavior:contain}
.bank-page .bank-row{padding:0 11px;border-bottom:1px solid #f0eef4;transition:background .15s}
.bank-page .bank-row:last-child{border-bottom:0}
.bank-page .bank-row:hover{background:#fbfaff}
.bank-page .bank-row.selected{background:#f7f5ff;box-shadow:inset 3px 0 var(--bank-purple)}
.bank-page .bank-row-open{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-width:0;padding:12px 3px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.bank-page .bank-row-open:focus-visible{border-radius:8px;outline-offset:0}
.bank-page .bank-row-date{color:var(--bank-muted);font-size:10px;white-space:nowrap}
.bank-page .bank-row-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.bank-page .bank-row-info>b{overflow:hidden;color:#302e48;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.bank-page .bank-row-info>small{overflow:hidden;color:var(--bank-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.bank-page .bank-row-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.bank-page .bank-status,.bank-page .bank-explained-tag{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:3px 7px;border-radius:999px;background:#f1eff5;color:#6c687e;font-size:9px;font-style:normal;font-weight:700;line-height:1.2;white-space:nowrap}
.bank-page .bank-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.bank-page .bank-status.open{background:#fff4df;color:#94651d}
.bank-page .bank-status.partial{background:#f1edfc;color:#6551ad}
.bank-page .bank-status.matched{background:#e9f5ee;color:#28774f}
.bank-page .bank-status.explained{background:#eaf1fb;color:#426896}
.bank-page .bank-status.conflict{background:#ffedf0;color:#a83d52}
.bank-page .bank-explained-tag{background:#eaf1fb;color:#426896}
.bank-page .bank-row-amount{max-width:142px;color:#35324e;font-size:11px;font-weight:750;text-align:right;white-space:nowrap}
.bank-page .bank-row-amount.positive{color:var(--bank-green)}
.bank-page .bank-row-amount.negative{color:var(--bank-red)}
.bank-page .bank-empty{padding:38px 20px;text-align:center;color:var(--bank-muted)}
.bank-page .bank-empty>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 11px;border-radius:15px;background:var(--bank-soft);color:var(--bank-purple);font-size:23px}
.bank-page .bank-empty h3{margin:0 0 6px;font-size:15px}
.bank-page .bank-empty p{max-width:400px;margin:0 auto 15px;font-size:12px}
.bank-page .bank-detail{padding:16px}
.bank-page .bank-detail-empty{display:grid;min-height:260px;place-content:center;text-align:center;color:var(--bank-muted)}
.bank-page .bank-detail-empty>span{font-size:24px;color:#9b91c6}
.bank-page .bank-detail-empty p{max-width:250px;font-size:12px}
.bank-page .bank-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.bank-page .bank-detail-head>div{min-width:0}
.bank-page .bank-detail-head h2{margin:0 0 8px;font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.bank-page .bank-icon-button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;min-height:34px;border:1px solid var(--bank-line);border-radius:9px;background:#fff;color:#77738a;font-size:20px;cursor:pointer}
.bank-page .bank-icon-button:hover{background:#f7f5fc;color:var(--bank-purple)}
.bank-page .bank-amount-card{display:flex;flex-direction:column;gap:5px;padding:14px;margin:12px 0;border:1px solid var(--bank-line);border-radius:12px;background:#faf9fd}
.bank-page .bank-amount-card>span,.bank-page .bank-amount-card>small{color:var(--bank-muted);font-size:10px}
.bank-page .bank-amount-card>b{font-size:23px;line-height:1.2;letter-spacing:-.025em}
.bank-page .bank-amount-card.positive>b{color:var(--bank-green)}
.bank-page .bank-amount-card.negative>b{color:var(--bank-red)}
.bank-page .bank-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid var(--bank-line);border-radius:12px;overflow:hidden}
.bank-page .bank-facts>div{min-width:0;padding:10px 11px;border-bottom:1px solid var(--bank-line)}
.bank-page .bank-facts>div:nth-child(odd){border-right:1px solid var(--bank-line)}
.bank-page .bank-facts>div:nth-last-child(-n+2){border-bottom:0}
.bank-page .bank-facts dt{margin:0 0 4px;color:var(--bank-muted);font-size:9px;line-height:1.3}
.bank-page .bank-facts dd{margin:0;color:#37344d;font-size:11px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.bank-page .bank-facts a,.bank-page .bank-original-link{color:var(--bank-purple-dark);text-underline-offset:2px;overflow-wrap:anywhere}
.bank-page .bank-links,.bank-page .bank-match,.bank-page .bank-review-note{padding:12px 0;border-top:1px solid var(--bank-line)}
.bank-page .bank-links h3,.bank-page .bank-match h3{margin:0 0 9px;font-size:12px}
.bank-page .bank-links article{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #f0eef4}
.bank-page .bank-links article>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.bank-page .bank-links article b{font-size:11px;overflow-wrap:anywhere}
.bank-page .bank-links article small{color:var(--bank-muted);font-size:10px}
.bank-page .bank-links .text-btn{flex:0 0 auto;color:var(--bank-red);font-size:10px}
.bank-page .bank-suggestions{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}
.bank-page .bank-suggestions>p{margin:0 0 2px;color:var(--bank-muted);font-size:10px}
.bank-page .bank-suggestion{display:flex;flex-direction:column;gap:3px;width:100%;padding:9px 10px;border:1px solid #e7e2f2;border-radius:9px;background:#faf9fe;color:var(--bank-ink);text-align:left;cursor:pointer}
.bank-page .bank-suggestion:hover{border-color:#cfc5ee;background:#f6f3ff}
.bank-page .bank-suggestion b{font-size:10px;overflow-wrap:anywhere}
.bank-page .bank-suggestion small{color:var(--bank-muted);font-size:9px}
.bank-page .bank-link-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.6fr);align-items:end;gap:9px}
.bank-page .bank-link-form label{display:block;min-width:0;color:#555268;font-size:10px;font-weight:650}
.bank-page .bank-link-form select,.bank-page .bank-link-form input{display:block;width:100%;min-width:0;height:38px;margin-top:5px;padding:8px 9px;border:1px solid #dfdce8;border-radius:9px;background:#fff;color:var(--bank-ink);font-size:10px}
.bank-page .bank-link-form .bank-form-help,.bank-page .bank-link-form .bank-form-error{grid-column:1/-1;margin:0;color:var(--bank-muted);font-size:10px}
.bank-page .bank-link-form .bank-form-error{color:var(--bank-red)}
.bank-page .bank-link-form .btn{grid-column:1/-1;justify-self:start}
.bank-page .bank-review-note{margin-top:10px;padding:12px;border:1px solid #e6e0f5;border-radius:11px;background:#faf9fe}
.bank-page .bank-review-note b{font-size:11px}
.bank-page .bank-review-note p{margin:5px 0 10px;color:#5f5b72;font-size:11px;overflow-wrap:anywhere}
.bank-page .bank-explain-button{width:100%;margin:12px 0;border-color:#e7e1f3;background:#faf9fe;color:#5140a4}
.bank-page .bank-original-link{display:inline-block;margin-top:10px;font-size:10px}
.bank-page .bank-statements,.bank-page .bank-unmatched,.bank-page .bank-export{margin-top:15px}
.bank-page .bank-statement-list{padding:0 15px}
.bank-page .bank-statement{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid #f0eef4}
.bank-page .bank-statement:last-child{border-bottom:0}
.bank-page .bank-statement-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#eff8f2;color:#35784d;font-size:9px;font-weight:800}
.bank-page .bank-statement-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.bank-page .bank-statement-info b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.bank-page .bank-statement-info small{color:var(--bank-muted);font-size:9px;line-height:1.4}
.bank-page .bank-statement .btn{font-size:10px}
.bank-page .bank-no-statements{padding:0 17px 16px}
.bank-page .bank-unmatched{padding:17px}
.bank-page .bank-unmatched h2,.bank-page .bank-export h2{margin:0 0 6px;font-size:16px}
.bank-page .bank-unmatched>div:first-child p:not(.eyebrow),.bank-page .bank-export>div:first-child p:not(.eyebrow){max-width:850px;margin:0;color:var(--bank-muted);font-size:11px}
.bank-page .bank-unmatched-list{margin:13px 0;border:1px solid var(--bank-line);border-radius:11px;overflow:hidden}
.bank-page .bank-unmatched-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f0eef4}
.bank-page .bank-unmatched-item:last-child{border-bottom:0}
.bank-page .bank-unmatched-item>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.bank-page .bank-unmatched-item b{font-size:10px;overflow-wrap:anywhere}
.bank-page .bank-unmatched-item small{color:var(--bank-muted);font-size:9px}
.bank-page .bank-unmatched-item>span{flex:0 0 auto;font-size:10px;font-weight:700;white-space:nowrap}
.bank-page .bank-muted{color:var(--bank-muted);font-size:11px}
.bank-page .bank-export{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px}
.bank-page .bank-export-fields{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.bank-page .bank-export-fields label{display:block;color:#656278;font-size:10px;font-weight:650}
.bank-page .bank-export-fields input{display:block;width:145px;max-width:100%;height:38px;margin-top:5px;padding:7px 9px;border:1px solid #dfdce8;border-radius:9px;background:#fff;color:var(--bank-ink);font-size:10px}
.bank-page .bank-footnote{margin:13px 2px 0;color:var(--bank-muted);font-size:10px}
.bank-page .bank-footnote a{color:var(--bank-purple-dark);text-underline-offset:2px}

/* Import and review dialogs */
.bank-modal{width:min(790px,calc(100vw - 28px));max-height:min(88vh,940px);padding:21px;overflow:auto;color:var(--bank-ink);overscroll-behavior:contain}
.bank-modal h2{margin:0;font-size:20px;line-height:1.2}
.bank-modal>p{margin:11px 0;color:#625f75;font-size:11px}
.bank-modal .bank-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.bank-modal .bank-modal-head .eyebrow{margin:0 0 5px;color:#8177aa;font-size:10px;font-weight:750;letter-spacing:.1em}
.bank-modal .icon-btn{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;min-height:34px;border:1px solid var(--bank-line);border-radius:9px;background:#fff;color:#77738a;font-size:20px;cursor:pointer}
.bank-modal .icon-btn:hover{background:#f7f5fc}
.bank-modal .bank-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin:13px 0}
.bank-modal .bank-form-grid label,.bank-modal .bank-review-field{display:block;min-width:0;color:#555268;font-size:10px;font-weight:650;line-height:1.45}
.bank-modal .bank-form-grid .bank-field-wide{grid-column:1/-1}
.bank-modal .bank-form-grid input:not([type=checkbox]),.bank-modal .bank-form-grid select,.bank-modal .bank-review-field textarea{display:block;width:100%;min-width:0;min-height:38px;margin-top:5px;padding:8px 9px;border:1px solid #dfdce8;border-radius:9px;background:#fff;color:var(--bank-ink);font-size:11px;font-weight:400}
.bank-modal .bank-form-grid label small{display:block;margin-top:4px;color:var(--bank-muted);font-size:9px;font-weight:400}
.bank-modal .bank-confirm{display:flex;align-items:flex-start;gap:9px;margin:12px 0;padding:11px 12px;border:1px solid #e5e0f2;border-radius:10px;background:#faf9fe;color:#514e64;font-size:10px;line-height:1.5}
.bank-modal .bank-confirm input{flex:0 0 auto;margin:2px 0 0;accent-color:var(--bank-purple)}
.bank-modal .bank-import-error,.bank-modal .bank-form-error{min-height:1.2em;margin:7px 0;color:var(--bank-red);font-size:10px}
.bank-modal .bank-preview{padding:13px;margin:12px 0;border:1px solid var(--bank-line);border-radius:13px;background:#fff}
.bank-modal .bank-preview>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}
.bank-modal .bank-preview>header .eyebrow{margin-bottom:3px}
.bank-modal .bank-preview h3{margin:0;font-size:14px}
.bank-modal .bank-preview-count{color:var(--bank-muted);font-size:9px;white-space:nowrap}
.bank-modal .bank-preview-totals{display:flex;gap:8px;flex-wrap:wrap}
.bank-modal .bank-preview-totals article{display:flex;flex-direction:column;gap:4px;min-width:135px;padding:9px 10px;border:1px solid #eeecf3;border-radius:9px;background:#faf9fd}
.bank-modal .bank-preview-totals article b{font-size:10px}
.bank-modal .bank-preview-totals article span{color:#625f75;font-size:9px}
.bank-modal .bank-preview-totals>p{margin:0;color:var(--bank-muted);font-size:10px}
.bank-modal .bank-preview-counts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0;color:var(--bank-muted);font-size:9px}
.bank-modal .bank-preview-counts b{color:var(--bank-ink)}
.bank-modal .bank-preview-counts strong{color:var(--bank-amber);font-size:9px}
.bank-modal .bank-errors{padding:9px 11px;border:1px solid #f0d9dd;border-radius:9px;background:#fff7f8;color:#a83d52;font-size:10px}
.bank-modal .bank-errors ul{margin:5px 0 0;padding-left:18px;line-height:1.55}
.bank-modal .bank-columns{margin:10px 0;padding:10px 11px;border:1px solid var(--bank-line);border-radius:10px;background:#fbfaff}
.bank-modal .bank-columns summary{color:#4f496d;font-size:10px;font-weight:700;cursor:pointer}
.bank-modal .bank-columns>p{margin:7px 0;color:var(--bank-muted);font-size:9px}
.bank-modal .bank-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bank-modal .bank-column-grid label{display:block;min-width:0;color:#5c5870;font-size:9px}
.bank-modal .bank-column-grid select{display:block;width:100%;min-width:0;height:34px;margin-top:4px;padding:6px;border:1px solid #dfdce8;border-radius:8px;background:#fff;color:var(--bank-ink);font-size:9px}
.bank-modal .bank-form-help{color:var(--bank-muted);font-size:9px}
.bank-modal .bank-sample-wrap{max-width:100%;margin-top:10px;border:1px solid var(--bank-line);border-radius:9px;overflow:hidden}
.bank-modal .bank-sample-scroll{max-width:100%;overflow-x:auto}
.bank-modal .bank-sample{width:100%;min-width:560px;border-collapse:collapse;font-size:9px}
.bank-modal .bank-sample th,.bank-modal .bank-sample td{padding:7px 8px;border-bottom:1px solid #f0eef4;text-align:left;vertical-align:top}
.bank-modal .bank-sample th{background:#f8f7fb;color:#69657b;font-size:8px;white-space:nowrap}
.bank-modal .bank-sample td{max-width:210px;color:#4d4a60;overflow-wrap:anywhere}
.bank-modal .bank-sample td:last-child{white-space:nowrap;font-weight:650}
.bank-modal .bank-preview-meta{display:block;margin-top:8px;color:var(--bank-muted);font-size:8px;overflow-wrap:anywhere}
.bank-modal .bank-stale-preview{padding:8px 10px;margin:0 0 10px;border-radius:8px;background:#fff4df;color:#8b611e;font-size:10px}
.bank-modal .bank-review-field textarea{min-height:95px;resize:vertical}
.bank-modal .bank-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}
.bank-modal .bank-modal-actions .btn{min-width:110px}

@media(max-width:1120px){
 .bank-page{padding:20px 20px 34px}
 .bank-page .bank-toolbar{grid-template-columns:minmax(200px,1fr) repeat(2,minmax(130px,165px));}
 .bank-page .bank-search{grid-column:1/-1}
 .bank-page .bank-result-count{grid-column:1/-1;justify-self:end;padding:0 3px}
 .bank-page .bank-layout{grid-template-columns:minmax(0,1fr)}
 .bank-page .bank-list{max-height:470px}
}
@media(max-width:700px){
 .bank-page{padding:16px 12px 28px}
 .bank-page .page-heading{flex-direction:column;gap:12px;margin-bottom:16px}
 .bank-page .page-heading>button{flex:1;justify-content:center}
 .bank-page .bank-hero{min-height:0;padding:20px 17px}
 .bank-page .bank-hero-mark{flex-basis:72px;width:72px;height:72px;border-radius:22px;font-size:38px}
 .bank-page .bank-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .bank-page .bank-kpis article{padding:11px 12px}
 .bank-page .bank-kpis article.bank-kpi-wide{grid-column:span 1}
 .bank-page .bank-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}
 .bank-page .bank-search,.bank-page .bank-result-count{grid-column:1/-1}
 .bank-page .bank-register>header,.bank-page .bank-statements>header{align-items:flex-start;padding:13px}
 .bank-page .bank-row{padding:0 9px}
 .bank-page .bank-row-open{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:10px 2px}
 .bank-page .bank-row-date{grid-column:1/-1;font-size:9px}
 .bank-page .bank-row-info{grid-column:1;grid-row:2}
 .bank-page .bank-row-amount{grid-column:2;grid-row:2;max-width:120px;white-space:normal}
 .bank-page .bank-detail{padding:13px}
 .bank-page .bank-statement{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px 0}
 .bank-page .bank-statement-icon{width:31px;height:32px}
 .bank-page .bank-statement .btn{grid-column:2;justify-self:start}
 .bank-page .bank-export{align-items:stretch;flex-direction:column;padding:14px}
 .bank-page .bank-export-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .bank-page .bank-export-fields label,.bank-page .bank-export-fields input{width:100%}
 .bank-page .bank-export-fields .btn{grid-column:1/-1}
 .bank-modal{width:min(680px,calc(100vw - 20px));padding:16px}
 .bank-modal .bank-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bank-modal .bank-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
 .bank-page .bank-hero{align-items:flex-start;padding:17px 14px}
 .bank-page .bank-hero-mark{flex-basis:54px;width:54px;height:54px;border-radius:16px;font-size:29px}
 .bank-page .bank-facts{grid-template-columns:minmax(0,1fr)}
 .bank-page .bank-facts>div:nth-child(odd){border-right:0}
 .bank-page .bank-facts>div:nth-last-child(2){border-bottom:1px solid var(--bank-line)}
 .bank-page .bank-link-form{grid-template-columns:minmax(0,1fr)}
 .bank-page .bank-link-form .bank-form-help,.bank-page .bank-link-form .bank-form-error,.bank-page .bank-link-form .btn{grid-column:1}
 .bank-page .bank-export-fields{grid-template-columns:minmax(0,1fr)}
 .bank-page .bank-export-fields .btn{grid-column:1}
 .bank-modal .bank-form-grid,.bank-modal .bank-column-grid{grid-template-columns:minmax(0,1fr)}
 .bank-modal .bank-form-grid .bank-field-wide{grid-column:1}
 .bank-modal .bank-modal-actions .btn{flex:1;min-width:0}
}
@media(prefers-reduced-motion:reduce){.bank-page .btn,.bank-modal .btn{transition:none}.bank-page .bank-spinner{animation:none}}

.bank-page .bank-layout>.bank-detail{position:static;inset:auto;transform:none;width:auto;max-width:none;min-width:0;height:auto}
.bank-modal{--bank-ink:#282640;--bank-muted:#77758a;--bank-line:#e9e7ef;--bank-purple:#6d58c8;--bank-red:#ad4054;--bank-amber:#94651d;box-sizing:border-box}

.bank-pdf-check{margin:16px 0;padding:16px;border:1px solid #d4e8dc;background:#f2faf5;border-radius:14px;color:#244b36}.bank-pdf-check p{margin:6px 0;font-size:13px;line-height:1.5}.bank-coverage{margin:20px 0;padding:22px;border:1px solid var(--line,#e7e3ec);border-radius:20px;background:#fff}.bank-coverage h2{margin:4px 0 8px}.bank-coverage header>p:last-child{font-size:13px;color:#71697c}.bank-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin-top:16px}.bank-month{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #e7e0ef;background:#faf8fc;border-radius:12px}.bank-month span{font-size:14px}.bank-month small{font-size:11px;color:#71697c}.bank-month.incomplete{background:#fff8eb;border-color:#ebd7ad}.bank-statement-info small{display:block;line-height:1.5}
.bank-participant-overview{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0;padding:26px;border-radius:20px;border:1px solid #ded4ee;background:linear-gradient(120deg,#f7f1ff,#fff9ef)}
.bank-participant-overview h2{margin:5px 0 10px}.bank-participant-overview p{max-width:640px;line-height:1.6;margin:6px 0}.bank-participant-overview small{display:block;color:#766b82;line-height:1.6}
.bank-participant-stats{display:grid;gap:10px;flex-shrink:0}.bank-participant-stats .btn{justify-content:flex-start;background:#fff}.bank-participant-stats b{font-size:22px;margin-right:8px;color:#663c85}
.bank-participant-detail{border-top:1px solid #e8dfef;padding-top:20px;margin-top:20px}.bank-participant-detail .bank-suggestion{width:100%;margin-bottom:10px;text-align:left}.bank-participant-detail .bank-suggestion small{display:block;line-height:1.6}
.bank-participant-link{display:grid;gap:6px;background:#f5f0fa;border:1px solid #e3d7ed;border-radius:12px;padding:15px;margin:12px 0}.bank-participant-link span,.bank-participant-link small{font-size:12px;color:#786b83;line-height:1.6}.bank-participant-link .text-btn{justify-self:start}
.bank-participant-history{margin:20px 0;font-size:13px}.bank-participant-history summary{cursor:pointer;font-weight:600}.bank-participant-history article{padding:14px 0;border-bottom:1px solid #e8dfef}.bank-participant-history p{overflow-wrap:anywhere}
.bank-match-source,.bank-match-plan{display:grid;gap:7px;padding:18px;margin:16px 0;background:#f7f3fb;border:1px solid #e3d8ed;border-radius:14px;overflow-wrap:anywhere}.bank-match-source strong{font-size:24px;color:#5e2c7d}.bank-match-source small,.bank-match-plan span{font-size:13px;color:#76687e}
.bank-match-warning{padding:12px 14px;background:#fff7e4;border:1px solid #eedcaa;border-radius:10px;line-height:1.6;font-size:13px}.bank-modal #bank-participant-form .field{display:grid;gap:8px;margin:16px 0}.bank-modal #bank-participant-form select{width:100%;min-width:0;text-overflow:ellipsis}.bank-modal #bank-participant-form small{color:#786b83;line-height:1.5}.payment-bank-badge{color:#386743;font-size:13px;font-weight:600}
@media(max-width:750px){.bank-participant-overview{flex-direction:column;align-items:stretch;padding:20px}.bank-participant-stats{grid-template-columns:1fr}.bank-modal .bank-match-source strong{font-size:22px}}
