/* Meridian — online-banking app styles (dashboard + login/enroll).
   Loads alongside the theme stylesheet on the shortcode pages, reusing its tokens.
   Redeclared here so the app is robust if the theme changes. All money is illustrative. */

:root {
	--k-navy: #0E3B2B; --k-navy-900: #082A1E; --k-navy-800: #14503A;
	--k-blue: #14664A; --k-blue-700: #0E4A35; --k-blue-050: #E9F2EC;
	--k-gold: #C79A3A; --k-gold-050: #F7EFDD;
	--k-ink: #101828; --k-body: #384456; --k-muted: #667085;
	--k-line: #E4E7EC; --k-canvas: #F4F6F9; --k-paper: #FFFFFF;
	--k-pos: #0E9F6E; --k-pos-050: #E6F5EF; --k-neg: #D92D20; --k-neg-050: #FBEBEA;
	--k-sans: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--k-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--k-shadow-sm: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.05);
	--k-shadow: 0 2px 6px rgba(16,24,40,.06), 0 12px 30px rgba(14,59,43,.08);
}

.dbank-app { font-family: var(--k-sans); color: var(--k-body); }
.dbank-app__wrap { max-width: 1200px; margin: 0 auto; padding: 34px 32px 72px; }
.dbank-app *, .dbank-auth * { box-sizing: border-box; }

/* ---- greeting header ---- */
.dbank-apphead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
.dbank-apphead__hi { margin: 0; color: var(--k-muted); font-size: 15px; }
.dbank-apphead__name { margin: 2px 0 0; font-size: clamp(26px, 3.4vw, 34px); color: var(--k-ink); font-weight: 800; letter-spacing: -.02em; }
.dbank-apphead__total { text-align: right; background: #fff; border: 1px solid var(--k-line); border-radius: 12px; padding: 12px 20px; box-shadow: var(--k-shadow-sm); }
.dbank-apphead__total span { display: block; color: var(--k-muted); font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; }
.dbank-apphead__total strong { font-family: var(--k-mono); font-size: 26px; color: var(--k-navy); font-weight: 600; font-feature-settings: "tnum"; }

/* ---- flashes ---- */
.dbank-flash { border-radius: 10px; padding: 12px 16px; font-size: 14px; font-weight: 500; margin-bottom: 18px; }
.dbank-flash--ok { background: var(--k-pos-050); color: #0A6B4A; border: 1px solid #B7E0CE; }
.dbank-flash--err { background: var(--k-neg-050); color: #922018; border: 1px solid #F1C7C2; }

/* ---- account cards ---- */
.dbank-accounts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 24px; }
.dbank-acct { background: #fff; border: 1px solid var(--k-line); border-radius: 14px; padding: 22px; box-shadow: var(--k-shadow-sm); position: relative; display: flex; flex-direction: column; }
.dbank-acct--feature { background: linear-gradient(150deg, #14503A 0%, #0E3B2B 62%, #082A1E 100%); border-color: transparent; color: #E7EEF8; }
.dbank-acct--feature .dbank-acct__label { color: #fff; }
.dbank-acct--feature .dbank-acct__no, .dbank-acct--feature .dbank-acct__avail, .dbank-acct--feature .dbank-acct__rate { color: #A6CBB7; }
.dbank-acct--feature .dbank-acct__bal { color: #fff; }
.dbank-acct--feature .dbank-acct__link { color: #E9F2EC; }
.dbank-acct--savings { border-top: 3px solid var(--k-gold); }
.dbank-acct__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.dbank-acct__label { font-weight: 700; font-size: 15px; color: var(--k-ink); }
.dbank-acct__no { font-family: var(--k-mono); font-size: 12.5px; color: var(--k-muted); }
.dbank-acct__avail { font-size: 12px; color: var(--k-muted); text-transform: uppercase; letter-spacing: .05em; }
.dbank-acct__bal { font-family: var(--k-mono); font-size: 30px; font-weight: 600; color: var(--k-ink); letter-spacing: -.01em; font-feature-settings: "tnum"; margin-top: 2px; }
.dbank-acct__interest { margin-top: 12px; display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; }
.dbank-acct__rate { color: var(--k-muted); }
.dbank-acct__accrued { color: var(--k-pos); font-weight: 600; }
.dbank-acct--feature .dbank-acct__accrued { color: #7FE3BE; }
.dbank-acct__accrued .js-accrued { font-family: var(--k-mono); font-feature-settings: "tnum"; }
.dbank-acct__link { margin-top: 16px; color: var(--k-blue); font-weight: 700; font-size: 14px; text-decoration: none; }
.dbank-acct__link:hover { text-decoration: underline; }

/* ---- quick actions ---- */
.dbank-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 30px; }
.dbank-quick__btn { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--k-line); border-radius: 12px; padding: 16px 18px; color: var(--k-ink); font-weight: 600; font-size: 15px; text-decoration: none; box-shadow: var(--k-shadow-sm); transition: border-color .15s, transform .12s; }
.dbank-quick__btn:hover { border-color: var(--k-blue); transform: translateY(-2px); text-decoration: none; }
.dbank-quick__ic { width: 40px; height: 40px; border-radius: 10px; background: var(--k-blue-050); color: var(--k-blue); display: grid; place-items: center; flex: none; }

/* ---- grid ---- */
.dbank-grid { display: grid; grid-template-columns: 1fr 380px; gap: 26px; align-items: start; }
.dbank-col--rail { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 18px; }

/* ---- blocks (activity, statements) ---- */
.dbank-block { background: #fff; border: 1px solid var(--k-line); border-radius: 14px; padding: 8px 22px 18px; margin-bottom: 24px; box-shadow: var(--k-shadow-sm); }
.dbank-block__title { font-size: 17px; color: var(--k-ink); font-weight: 700; margin: 16px 0 6px; }

.dbank-feed { list-style: none; margin: 0; padding: 0; }
.dbank-feed__row { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--k-line); }
.dbank-feed__row:last-child { border-bottom: 0; }
.dbank-feed__ico { width: 34px; height: 34px; flex: none; border-radius: 9px; display: grid; place-items: center; font-size: 16px; font-weight: 700; }
.dbank-feed__ico--credit { background: var(--k-pos-050); color: var(--k-pos); }
.dbank-feed__ico--debit { background: #EEF1F6; color: var(--k-navy); }
.dbank-feed__meta { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.dbank-feed__meta b { font-size: 14.5px; font-weight: 600; color: var(--k-ink); }
.dbank-feed__meta em { font-style: normal; color: var(--k-muted); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dbank-feed__amt { font-family: var(--k-mono); font-weight: 600; font-feature-settings: "tnum"; white-space: nowrap; }
.dbank-feed__amt--credit { color: var(--k-pos); }
.dbank-feed__amt--debit { color: var(--k-ink); }
.dbank-empty { color: var(--k-muted); padding: 22px 0; text-align: center; }

/* ---- statements ---- */
.dbank-stmt-tabs { display: flex; gap: 8px; margin: 10px 0 14px; flex-wrap: wrap; }
.dbank-stmt-tab { border: 1px solid var(--k-line); background: #fff; color: var(--k-muted); font: 600 13px/1 var(--k-sans); padding: 9px 15px; border-radius: 999px; cursor: pointer; }
.dbank-stmt-tab.is-active { background: var(--k-navy); color: #fff; border-color: var(--k-navy); }
.dbank-stmt-pane { display: none; }
.dbank-stmt-pane.is-active { display: block; }
.dbank-stmt-scroll { overflow-x: auto; border: 1px solid var(--k-line); border-radius: 10px; }
.dbank-stmt { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 520px; }
.dbank-stmt thead th { text-align: left; padding: 11px 14px; color: var(--k-muted); font-weight: 600; border-bottom: 1px solid var(--k-line); background: #FBFCFE; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
.dbank-stmt tbody td { padding: 11px 14px; border-bottom: 1px solid var(--k-line); }
.dbank-stmt tbody tr:last-child td { border-bottom: 0; }
.dbank-stmt__memo { color: var(--k-muted); }
.dbank-stmt__amt, .dbank-stmt__bal { font-family: var(--k-mono); text-align: right; font-feature-settings: "tnum"; white-space: nowrap; }
.dbank-stmt__amt--credit { color: var(--k-pos); }
.dbank-stmt__amt--debit { color: var(--k-neg); }
.dbank-stmt__empty { text-align: center; color: var(--k-muted); }

/* ---- rail cards + forms ---- */
.dbank-card { background: #fff; border: 1px solid var(--k-line); border-radius: 14px; padding: 22px; box-shadow: var(--k-shadow-sm); }
.dbank-card__title { font-size: 18px; color: var(--k-ink); font-weight: 700; margin: 0 0 4px; }
.dbank-card__sub { margin: 0 0 16px; color: var(--k-muted); font-size: 13.5px; }
.dbank-form { display: flex; flex-direction: column; gap: 13px; min-width: 0; }
.dbank-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--k-ink); min-width: 0; }
.dbank-form input, .dbank-form select { font: 400 15px/1.3 var(--k-sans); color: var(--k-ink); background: #fff; border: 1.5px solid #C6CEDA; border-radius: 8px; padding: 11px 13px; width: 100%; max-width: 100%; box-sizing: border-box; }
/* a long <select> option must never widen the card (iOS min-content guard) */
.dbank-app select { text-overflow: ellipsis; }
.dbank-app input, .dbank-app select, .dbank-app textarea { max-width: 100%; box-sizing: border-box; }
.dbank-form input:focus, .dbank-form select:focus { outline: none; border-color: var(--k-blue); box-shadow: 0 0 0 3px rgba(20, 102, 74,.15); }
.dbank-form--inline { flex-direction: row; flex-wrap: wrap; align-items: stretch; }
.dbank-form--inline select { flex: 1 1 130px; }
.dbank-form--inline input { flex: 1 1 90px; }
.dbank-signedout { text-align: center; padding: 40px; }
.dbank-signedout h1 { font-size: 24px; margin: 0 0 10px; }

/* ---- review + receipt ---- */
.dbank-review { margin: 4px 0 16px; }
.dbank-review > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--k-line); }
.dbank-review > div:last-child { border-bottom: 0; }
.dbank-review dt { color: var(--k-muted); font-size: 13px; margin: 0; }
.dbank-review dd { margin: 0; font-weight: 600; text-align: right; color: var(--k-ink); }
.dbank-review__amt { font-family: var(--k-mono); color: var(--k-navy); font-size: 17px; }
.dbank-mono { font-family: var(--k-mono); font-weight: 500; }
.dbank-confirm__note { font-size: 12.5px; color: var(--k-muted); background: var(--k-canvas); border-radius: 8px; padding: 10px 12px; margin: 0 0 16px; }
.dbank-confirm__actions { display: flex; gap: 10px; }
.dbank-confirm__actions .dbank-btn { flex: 1; }
.dbank-receipt { text-align: center; }
.dbank-receipt__tick { width: 54px; height: 54px; border-radius: 50%; background: var(--k-pos); color: #fff; display: grid; place-items: center; font-size: 28px; margin: 0 auto 12px; }
.dbank-receipt .dbank-review { text-align: left; }
.dbank-receipt__amt { font-family: var(--k-mono); font-size: 30px; font-weight: 600; color: var(--k-navy); margin: 4px 0 16px; }
.dbank-receipt .dbank-btn { width: 100%; }

/* ============================================================ AUTH PAGE */
.dbank-auth { background: var(--k-canvas); }
.dbank-auth__inner { max-width: 1040px; margin: 0 auto; padding: 48px 32px 72px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 34px; align-items: stretch; }
.dbank-auth__inner--solo { grid-template-columns: 1fr; max-width: 480px; }
.dbank-auth__main { display: flex; }
.dbank-auth__card { background: #fff; border: 1px solid var(--k-line); border-radius: 16px; padding: 36px; box-shadow: var(--k-shadow); width: 100%; }
.dbank-auth__card--center { text-align: center; max-width: 440px; margin: 0 auto; }
.dbank-auth__lock { width: 54px; height: 54px; border-radius: 50%; background: var(--k-pos); color: #fff; display: grid; place-items: center; font-size: 26px; margin: 0 auto 14px; }
.dbank-auth__title { font-size: 26px; color: var(--k-ink); font-weight: 800; letter-spacing: -.02em; margin: 0 0 8px; }
.dbank-auth__sub { color: var(--k-muted); font-size: 15px; margin: 0 0 22px; }
.dbank-authform { display: flex; flex-direction: column; gap: 15px; }
.dbank-authform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.dbank-field { display: flex; flex-direction: column; gap: 6px; }
.dbank-field label { font-size: 13px; font-weight: 600; color: var(--k-ink); }
.dbank-field input { font: 400 15px/1.3 var(--k-sans); color: var(--k-ink); background: #fff; border: 1.5px solid #C6CEDA; border-radius: 8px; padding: 12px 13px; width: 100%; }
.dbank-field input:focus { outline: none; border-color: var(--k-blue); box-shadow: 0 0 0 3px rgba(20, 102, 74,.15); }
.dbank-login__row { display: flex; align-items: center; justify-content: space-between; }
.dbank-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--k-body); cursor: pointer; }
.dbank-check input { width: 16px; height: 16px; accent-color: var(--k-blue); }
.dbank-check--block { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.4; }
.dbank-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dbank-choice__opt { display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--k-line); border-radius: 10px; padding: 13px 14px; cursor: pointer; }
.dbank-choice__opt:has(input:checked) { border-color: var(--k-blue); background: var(--k-blue-050); }
.dbank-choice__opt input { accent-color: var(--k-blue); }
.dbank-choice__opt b { display: block; font-size: 14px; color: var(--k-ink); }
.dbank-choice__opt em { font-style: normal; font-size: 12px; color: var(--k-muted); }
.dbank-auth__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 16px; font-size: 13.5px; }
.dbank-auth__links a { color: var(--k-blue); font-weight: 600; }
.dbank-auth__hint { margin: 14px 0 0; font-size: 12.5px; color: var(--k-muted); }
.dbank-auth__hint code { font-family: var(--k-mono); background: var(--k-canvas); padding: 1px 6px; border-radius: 4px; }
.dbank-auth__enroll { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--k-line); font-size: 14px; }
.dbank-auth__enroll a { font-weight: 700; }
.dbank-auth__switch { margin: 18px 0 0; font-size: 14px; color: var(--k-muted); }
.dbank-auth__switch a { font-weight: 700; }

.dbank-auth__aside { background: linear-gradient(155deg, #14503A, #0E3B2B 70%, #082A1E); color: #CBDBD2; border-radius: 16px; padding: 40px 34px; display: flex; flex-direction: column; }
.dbank-auth__brand { margin-bottom: 24px; }
.dbank-auth__brand .dbank-logo__word { color: #fff; }
.dbank-auth__aside h2 { color: #fff; font-size: 25px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 22px; line-height: 1.15; }
.dbank-auth__list { list-style: none; margin: 0 0 auto; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.dbank-auth__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: #D4E0F0; }
.dbank-auth__tick { width: 24px; height: 24px; flex: none; border-radius: 50%; background: rgba(199,154,58,.2); color: var(--k-gold); display: grid; place-items: center; font-size: 13px; font-weight: 700; }
.dbank-auth__fine { margin: 28px 0 0; font-size: 12px; color: #7E93AC; }

/* ============================================================ RESPONSIVE */
@media (max-width: 1024px) {
	.dbank-grid { grid-template-columns: 1fr; }
	.dbank-col--rail { position: static; order: -1; }
	.dbank-auth__inner { grid-template-columns: 1fr; max-width: 520px; }
	.dbank-auth__aside { padding: 30px 26px; }
}
@media (max-width: 767px) {
	.dbank-app__wrap { padding: 24px 18px 56px; }
	.dbank-quick { grid-template-columns: 1fr 1fr; }
	.dbank-apphead__total { text-align: left; }
}
@media (max-width: 520px) {
	.dbank-authform__grid, .dbank-choice { grid-template-columns: 1fr; }
	.dbank-auth__card { padding: 26px 20px; }
	.dbank-confirm__actions { flex-direction: column; }
}

/* ============================================================ PORTAL PAGES */
.dbank-appnav { display: flex; gap: 4px; background: #fff; border: 1px solid var(--k-line); border-radius: 12px; padding: 6px; margin-bottom: 26px; box-shadow: var(--k-shadow-sm); overflow-x: auto; }
.dbank-appnav__link { flex: 0 0 auto; padding: 10px 16px; border-radius: 8px; font-weight: 600; font-size: 14.5px; color: var(--k-body); text-decoration: none; white-space: nowrap; }
.dbank-appnav__link:hover { background: var(--k-canvas); text-decoration: none; }
.dbank-appnav__link.is-active { background: var(--k-navy); color: #fff; }

.dbank-pageintro { margin-bottom: 22px; }
.dbank-pageintro h1 { font-size: clamp(24px, 3.2vw, 32px); color: var(--k-ink); font-weight: 800; letter-spacing: -.02em; margin: 0; }
.dbank-pageintro p { color: var(--k-muted); font-size: 15.5px; margin: 6px 0 0; }

.dbank-portalgrid { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
.dbank-portalgrid__main { min-width: 0; }
.dbank-balances { list-style: none; margin: 0; padding: 0; }
.dbank-balances li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--k-line); }
.dbank-balances li:last-child { border-bottom: 0; }
.dbank-balances span { font-weight: 600; color: var(--k-ink); font-size: 14.5px; }
.dbank-balances em { font-style: normal; color: var(--k-muted); font-family: var(--k-mono); font-size: 12px; margin-left: 4px; }
.dbank-balances b { font-family: var(--k-mono); color: var(--k-navy); font-feature-settings: "tnum"; }

/* statements page */
.dbank-stmt-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 10px 0 8px; }
.dbank-stmt-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--k-muted); font-size: 13.5px; padding: 6px 0 14px; }
.dbank-stmt-meta b { color: var(--k-navy); font-family: var(--k-mono); }
@media print { .dbank-utility, .dbank-header, .dbank-footer, .dbank-appnav, .dbank-print, .dbank-scrim, .dbank-mobile { display: none !important; } }

/* cards page */
.dbank-cardsgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 26px; }
.dbank-cardpanel { background: #fff; border: 1px solid var(--k-line); border-radius: 16px; padding: 24px; box-shadow: var(--k-shadow-sm); }
.dbank-cardpanel.is-frozen .dbank-ccard { filter: saturate(.4) brightness(.9); }
.dbank-cardpanel .dbank-ccard { width: 100%; margin-bottom: 22px; }
.dbank-ccard--credit { background: linear-gradient(135deg, #1D2740 0%, #11172B 60%, #0A0F1E 100%); }
.dbank-ccard__net { font-size: 12.5px; color: #CBDBD2; font-weight: 600; letter-spacing: .02em; }
.dbank-ccard__frozen { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(8,42,30,.55); color: #fff; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: 15px; border-radius: 16px; }
.dbank-cardmeta { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; margin-bottom: 20px; }
.dbank-cardmeta > div span { display: block; color: var(--k-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px; }
.dbank-cardmeta > div b { font-family: var(--k-mono); color: var(--k-ink); font-size: 15px; font-weight: 600; }
.dbank-cardactions { display: flex; gap: 10px; flex-wrap: wrap; }
.dbank-cardnote { font-size: 12px; color: var(--k-muted); margin: 16px 0 0; }

/* receive page */
.dbank-recv-tabs { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.dbank-recv-tabs .dbank-stmt-tab { text-decoration: none; }
.dbank-recv { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; }
.dbank-recv-card { background: #fff; border: 1px solid var(--k-line); border-radius: 14px; padding: 24px; box-shadow: var(--k-shadow-sm); }
.dbank-recv-card__title { font-size: 17px; color: var(--k-ink); font-weight: 700; margin: 0 0 4px; }
.dbank-recv-card__sub { font-size: 13px; color: var(--k-muted); margin: 0 0 16px; }
.dbank-recv-list { margin: 0; }
.dbank-recv-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--k-line); }
.dbank-recv-row:last-child { border-bottom: 0; }
.dbank-recv-row dt { color: var(--k-muted); font-size: 13px; margin: 0; }
.dbank-recv-row dd { margin: 0; display: flex; align-items: center; gap: 10px; }
.dbank-recv-val { font-family: var(--k-mono); color: var(--k-ink); font-weight: 600; font-size: 14px; }
.dbank-copy { border: 1px solid var(--k-line); background: #fff; color: var(--k-blue); font: 600 12px/1 var(--k-sans); padding: 6px 10px; border-radius: 6px; cursor: pointer; }
.dbank-copy:hover { border-color: var(--k-blue); }
.dbank-copy.is-done { color: var(--k-pos); border-color: var(--k-pos); }
.dbank-recv-fine { font-size: 12.5px; color: var(--k-muted); margin: 20px 0 0; }

@media (max-width: 1024px) { .dbank-portalgrid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .dbank-cardsgrid { grid-template-columns: 1fr; } .dbank-cardpanel { padding: 18px; } .dbank-cardmeta { grid-template-columns: 1fr; } }

/* ---- transfer method picker ---- */
.dbank-methodpick { display: flex; flex-direction: column; gap: 8px; }
.dbank-methodpick__label { font-size: 13px; font-weight: 600; color: var(--k-ink); }
.dbank-methodpick .dbank-method { display: flex; flex-direction: row; align-items: center; gap: 12px; border: 1.5px solid var(--k-line); border-radius: 10px; padding: 12px 14px; cursor: pointer; }
.dbank-methodpick .dbank-method:has(input:checked) { border-color: var(--k-blue); background: var(--k-blue-050); }
.dbank-methodpick .dbank-method input[type="radio"] { width: 18px; height: 18px; flex: none; padding: 0; margin: 0; accent-color: var(--k-blue); box-shadow: none; }
.dbank-method__body { flex: 1; display: flex; flex-direction: column; }
.dbank-method__body b { font-size: 14.5px; color: var(--k-ink); }
.dbank-method__body em { font-style: normal; font-size: 12.5px; color: var(--k-muted); }
.dbank-method__fee { font-family: var(--k-mono); font-weight: 600; font-size: 13px; color: var(--k-navy); }

/* ---- account card links ---- */
.dbank-acct__links { margin-top: 16px; display: flex; gap: 16px; flex-wrap: wrap; }
.dbank-acct__links .dbank-acct__link { margin-top: 0; }

/* ---- check deposit ---- */
.dbank-checkshots { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dbank-shot { display: flex; flex-direction: column; gap: 6px; border: 1.5px dashed var(--k-line); border-radius: 10px; padding: 14px; background: #FBFCFE; }
.dbank-shot span { font-size: 12.5px; font-weight: 600; color: var(--k-muted); }
.dbank-shot input[type=file] { font-size: 12px; color: var(--k-muted); }

/* ---- card transactions ---- */
.dbank-cardtx { margin-top: 18px; border-top: 1px solid var(--k-line); padding-top: 14px; }
.dbank-cardtx__title { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--k-muted); margin: 0 0 8px; }
.dbank-txlist { list-style: none; margin: 0; padding: 0; }
.dbank-txlist li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--k-line); }
.dbank-txlist li:last-child { border-bottom: 0; }
.dbank-txlist__merch { display: flex; flex-direction: column; font-weight: 600; color: var(--k-ink); font-size: 14px; }
.dbank-txlist__merch em { font-style: normal; font-weight: 400; color: var(--k-muted); font-size: 12px; }
.dbank-txlist__amt { font-family: var(--k-mono); font-weight: 600; color: var(--k-ink); font-feature-settings: "tnum"; }

@media (max-width: 480px) { .dbank-checkshots { grid-template-columns: 1fr; } }

/* ---- transaction type demarcation (feed icons + statement dots) ---- */
.dbank-feed__ico svg { width: 18px; height: 18px; }
.dbank-feed__ico--in { background: var(--k-pos-050); color: var(--k-pos); }
.dbank-feed__ico--out { background: #EEF1F6; color: var(--k-navy); }
.dbank-feed__ico--add { background: var(--k-blue-050); color: var(--k-blue); }
.dbank-feed__ico--fee { background: var(--k-neg-050); color: var(--k-neg); }
.dbank-feed__ico--gold { background: var(--k-gold-050); color: #8a6a1e; }
.dbank-feed__ico--neutral { background: #EEF1F6; color: var(--k-muted); }

.dbank-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 9px; vertical-align: middle; background: var(--k-muted); }
.dbank-dot--in { background: var(--k-pos); }
.dbank-dot--out { background: var(--k-navy); }
.dbank-dot--add { background: var(--k-blue); }
.dbank-dot--fee { background: var(--k-neg); }
.dbank-dot--gold { background: var(--k-gold); }
.dbank-dot--neutral { background: var(--k-muted); }

/* ---- mobile polish for the new components ---- */
@media (max-width: 767px) {
	.dbank-appnav { gap: 2px; }
	.dbank-appnav__link { padding: 10px 13px; font-size: 14px; }
	.dbank-methodpick .dbank-method { padding: 11px 12px; }
	.dbank-cardsgrid { grid-template-columns: 1fr; }
	.dbank-recv { grid-template-columns: 1fr; }
	.dbank-stmt-head { flex-direction: column; align-items: stretch; }
	.dbank-stmt-head .dbank-print { width: 100%; }
}

/* ============================================================ ADMIN CONSOLE */
.dbank-ac__head { margin-bottom: 20px; }
.dbank-ac__head h1 { font-size: clamp(24px, 3.4vw, 34px); color: var(--k-ink); font-weight: 800; letter-spacing: -.02em; margin: 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dbank-ac__head p { color: var(--k-muted); margin: 6px 0 0; font-size: 15px; }
.dbank-ac__badge { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: var(--k-navy); color: var(--k-gold); padding: 4px 10px; border-radius: 6px; }

.dbank-navbadge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--k-neg); color: #fff; font-size: 11px; font-weight: 700; margin-left: 6px; }
.dbank-appnav__link.is-active .dbank-navbadge { background: #fff; color: var(--k-navy); }

.dbank-acstats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; }
.dbank-acstat { background: #fff; border: 1px solid var(--k-line); border-radius: 12px; padding: 18px 20px; box-shadow: var(--k-shadow-sm); text-decoration: none; transition: border-color .15s, transform .12s; }
.dbank-acstat:hover { border-color: var(--k-blue); transform: translateY(-2px); text-decoration: none; }
.dbank-acstat b { display: block; font-family: var(--k-mono); font-size: 26px; font-weight: 600; color: var(--k-navy); letter-spacing: -.01em; }
.dbank-acstat span { color: var(--k-muted); font-size: 13.5px; }

.dbank-acgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }

.dbank-actable-wrap { overflow-x: auto; }
.dbank-actable { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 560px; }
.dbank-actable thead th { text-align: left; padding: 10px 12px; color: var(--k-muted); font-weight: 600; border-bottom: 1px solid var(--k-line); background: #FBFCFE; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
.dbank-actable tbody td { padding: 11px 12px; border-bottom: 1px solid var(--k-line); vertical-align: middle; }
.dbank-actable code { font-family: var(--k-mono); font-size: 12px; color: var(--k-muted); }
.dbank-actable__ctl { display: flex; gap: 6px; flex-wrap: wrap; }
.dbank-actable__ctl form { margin: 0; display: inline; }

.dbank-btn--tiny { padding: 7px 11px; font-size: 12.5px; border-radius: 7px; background: #fff; color: var(--k-navy); border-color: #C6CEDA; }
.dbank-btn--tiny:hover { border-color: var(--k-navy); }
.dbank-btn--tiny.dbank-btn--primary { background: var(--k-blue); color: #fff; border-color: transparent; }

.dbank-pill { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.dbank-pill--active { background: var(--k-pos-050); color: #0A6B4A; }
.dbank-pill--pending { background: var(--k-gold-050); color: #8a6a1e; }
.dbank-pill--suspended { background: #FCEEDC; color: #96590C; }
.dbank-pill--blocked, .dbank-pill--rejected { background: var(--k-neg-050); color: #922018; }
.dbank-pill--closed { background: #EEF1F6; color: var(--k-muted); }

.dbank-form--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dbank-form--2col label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--k-ink); }
.dbank-form--2col input, .dbank-form--2col select { font: 400 15px/1.3 var(--k-sans); color: var(--k-ink); background: #fff; border: 1.5px solid #C6CEDA; border-radius: 8px; padding: 11px 13px; }
.dbank-form--2col .dbank-form__submit { grid-column: 1 / -1; }

.dbank-cardblocked { color: var(--k-neg); font-weight: 700; font-size: 13px; align-self: center; }
.dbank-receipt--pending .dbank-receipt__tick { background: var(--k-gold); color: var(--k-navy-900); }

@media (max-width: 900px) {
	.dbank-acgrid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.dbank-form--2col { grid-template-columns: 1fr; }
}

/* ============================================================================
   STRUCTURAL RE-SKIN — Institutional / Swiss (app: dashboard/auth/portal/admin)
   Visual-signature change only. Flat hairline blocks, underline tabs, squared
   inputs/pills, term-sheet feel. Colors/fonts/content unchanged. Revert: git checkout pre-reskin.
   ============================================================================ */
:root { --k-shadow-sm: none; --k-shadow: none; }

/* square + flatten every rectangular surface */
.dbank-apphead__total, .dbank-acct, .dbank-quick__btn, .dbank-quick__ic,
.dbank-block, .dbank-card, .dbank-stmt-scroll, .dbank-actable-wrap, .dbank-acstat,
.dbank-auth__card, .dbank-auth__aside, .dbank-cardpanel, .dbank-recv-card,
.dbank-field input, .dbank-form input, .dbank-form select, .dbank-btn--tiny,
.dbank-method, .dbank-choice__opt, .dbank-feed__ico, .dbank-auth__tick,
.dbank-authtabs, .dbank-authtab { border-radius: 5px !important; box-shadow: none !important; }

/* cards -> flat hairline blocks */
.dbank-apphead__total, .dbank-acct, .dbank-quick__btn, .dbank-block, .dbank-card,
.dbank-acstat, .dbank-cardpanel, .dbank-recv-card, .dbank-auth__card {
	border: 1px solid var(--k-line);
}
.dbank-acct--savings { border-top: 2px solid var(--k-navy); } /* was gold rounded accent; keep a ruled top */
.dbank-quick__btn:hover, .dbank-acstat:hover { transform: none; border-color: var(--k-ink); }

/* section/app nav -> underline tabs (not a pill/rounded bar) */
.dbank-appnav { border: 0; border-bottom: 1px solid var(--k-line); border-radius: 0 !important; box-shadow: none !important; padding: 0; gap: 0; background: transparent; }
.dbank-appnav__link { border-radius: 0 !important; border-bottom: 2px solid transparent; padding: 12px 0; margin-right: 26px; }
.dbank-appnav__link:hover { background: transparent; color: var(--k-ink); }
.dbank-appnav__link.is-active { background: transparent; color: var(--k-ink); border-bottom-color: var(--k-navy); }

/* statement / receive tabs -> underline tabs */
.dbank-stmt-tab { border: 0; border-bottom: 2px solid transparent; border-radius: 0 !important; background: transparent; color: var(--k-muted); padding: 9px 0; margin-right: 20px; }
.dbank-stmt-tab.is-active { background: transparent; color: var(--k-ink); border-bottom-color: var(--k-navy); }

/* status pills -> squared, outlined (keep each variant's colour) */
.dbank-pill { border-radius: 3px !important; background: transparent !important; border: 1px solid; padding: 3px 8px; }
.dbank-navbadge { border-radius: 0 !important; }

/* selected radio cards -> heavier rule, no soft fill */
.dbank-methodpick .dbank-method:has(input:checked),
.dbank-choice__opt:has(input:checked) { background: transparent; border-color: var(--k-ink); border-width: 1.5px; }

/* auth tabs (if present) -> underline */
.dbank-authtabs { background: transparent; padding: 0; gap: 0; border-bottom: 1px solid var(--k-line); }
.dbank-authtab { border-radius: 0 !important; border-bottom: 2px solid transparent; }
.dbank-authtab.is-active { background: transparent; color: var(--k-navy); border-bottom-color: var(--k-navy); }

/* keep genuinely circular indicators as circles; icon tiles softly rounded */
.dbank-auth__tick, .dbank-receipt__tick { border-radius: 50% !important; }
.dbank-feed__ico { border-radius: 5px !important; }

/* ============================================================ INVESTMENT PORTFOLIO CARD (added; reuses account-card design) */
.dbank-acct--investment { border-top: 2px solid var(--k-gold); }
.dbank-pf__bar { margin-top: 14px; display: flex; height: 8px; border-radius: 5px; overflow: hidden; background: var(--k-line-2); }
.dbank-pf__seg { display: block; height: 100%; }
.dbank-pf__seg--eq { background: var(--k-blue); }
.dbank-pf__seg--fi { background: var(--k-gold); }
.dbank-pf__seg--ca { background: #9AA7B8; }
.dbank-pf__legend { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; color: var(--k-muted); }
.dbank-pf__legend span { display: inline-flex; align-items: center; gap: 6px; }
.dbank-pf__dot { width: 8px; height: 8px; border-radius: 50%; flex: none; display: inline-block; }
.dbank-pf__dot--eq { background: var(--k-blue); }
.dbank-pf__dot--fi { background: var(--k-gold); }
.dbank-pf__dot--ca { background: #9AA7B8; }

/* ============================================================ PENDING-APPROVAL BANNER */
.dbank-pending { display: flex; gap: 14px; align-items: flex-start; background: #FFF8EC; border: 1px solid #EAD9AE; border-left: 4px solid var(--k-gold); border-radius: 12px; padding: 16px 18px; margin-bottom: 22px; }
.dbank-pending__ic { font-size: 22px; line-height: 1.2; flex: none; }
.dbank-pending__title { margin: 0 0 4px; font-size: 16px; color: var(--k-ink); font-weight: 800; }
.dbank-pending__sub { margin: 0; font-size: 13.5px; color: var(--k-body); line-height: 1.55; }
