/* Dashboard pilot. Other pages retain their current theme. */
html.pd-bank {
  --bank-bg: #0d1011;
  --bank-surface: #171b1d;
  --bank-border: #2b3233;
  --bank-text: #f0f4f2;
  --bank-muted: #a4aeaa;
  --bank-accent: #99e3b4;
  --default-body-bg: #0d1011;
  --default-text-color: #f0f4f2;
  --default-border: #2b3233;
  --custom-white: #171b1d;
  --light-rgb: 29, 34, 35;
  --primary-rgb: 153, 227, 180;
  background: var(--bank-bg);
  color-scheme: dark;
}
body.pd-bank { margin: 0; background: var(--bank-bg) !important; color: var(--bank-text); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.5; }
.pd-bank *, .pd-bank *::before, .pd-bank *::after { letter-spacing: 0; box-sizing: border-box; }
.pd-bank h1, .pd-bank h2, .pd-bank h3 { color: var(--bank-text); font-family: inherit; }
.pd-bank a { color: inherit; }
.pd-bank button, .pd-bank input, .pd-bank select { font-family: inherit; }
.pd-bank :focus-visible { outline: 2px solid var(--bank-accent) !important; outline-offset: 4px; }
.pd-bank #switcher-canvas { display: none !important; }
.pd-bank .text-muted, .pd-bank .form-text { color: var(--bank-muted) !important; }
.pd-bank .text-success { color: var(--bank-accent) !important; }
.pd-bank .text-danger { color: #ef9b98 !important; }
.pd-bank .text-warning { color: #dcc18f !important; }
.pd-bank .app-header { height: calc(64px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); background: #101415 !important; border-bottom: 1px solid var(--bank-border); box-shadow: none; z-index: 1030; }
.pd-bank .main-header-container { height: 64px; padding-inline: 12px; }
.pd-bank .header-content-left, .pd-bank .header-content-right { gap: 4px; align-items: center; }
.pd-bank .header-content-right { margin: 0; padding: 0; }
.pd-bank .header-element { padding: 0; }
.pd-bank .header-link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; width: 44px; height: 44px; padding: 0 !important; border: 0; border-radius: 6px; color: #c6d0cb !important; background: transparent !important; box-shadow: none !important; }
.pd-bank .header-link:hover { background: #252d29 !important; }
.pd-bank .header-link-icon { font-size: 21px; color: inherit !important; background: transparent !important; }
.pd-bank .header-link.d-none { display: none !important; }
.pd-bank #payday-push-toggle.is-active { color: var(--bank-accent) !important; }
.pd-bank .horizontal-logo img { display: none !important; }
.pd-bank .horizontal-logo img.desktop-dark { display: block !important; width: 150px !important; height:auto!important; max-height: 52px; object-fit: contain; filter: none; }
.pd-bank .animated-arrow span, .pd-bank .animated-arrow span::before, .pd-bank .animated-arrow span::after { background: #c6d0cb; }
.pd-bank .app-header .payday-topbar-pix-key { display: none; }
.pd-bank .app-sidebar { background: #101415 !important; border-inline-end: 1px solid var(--bank-border); box-shadow: none; z-index: 1031; }
.pd-bank .main-sidebar-header { background: #101415 !important; border-bottom: 1px solid var(--bank-border); height: 64px; }
.pd-bank .main-sidebar-header img { width: 196px!important; height:auto!important; max-height: 62px; object-fit: contain; filter: none; }
.pd-bank .side-menu__item { min-height: 48px; padding: 12px 16px; margin: 4px 10px; border: 0 !important; border-radius: 6px; color: #b5bfba !important; background: transparent !important; box-shadow: none !important; }
.pd-bank .side-menu__icon { color: inherit !important; font-size: 19px; }
.pd-bank .side-menu__label { color: inherit !important; font-weight: 500; }
.pd-bank .side-menu__item:hover, .pd-bank .side-menu__item.active, .pd-bank .main-menu>.slide:first-child>.side-menu__item { background: #233028 !important; color: #baedcc !important; }
.pd-bank .slide-menu .side-menu__item { font-size: 13px; padding-left: 26px; }
.pd-bank .slide-menu .side-menu__item::before { color: #788e81; }
.pd-bank .bank-main { margin: calc(64px + env(safe-area-inset-top)) 0 0 !important; padding: 0 20px; min-height: calc(100dvh - 64px); }
.bank-container { width: 100%; max-width: 1272px; margin: 0 auto; padding-bottom: 100px; }
.bank-page-heading { padding: 26px 0 22px; display: flex; gap: 16px; justify-content: space-between; align-items: center; }
.bank-eyebrow { display: block; font-size: 10px; font-weight: 600; color: #a4b3aa; margin-bottom: 6px; }
.bank-page-heading h1 { font-size: 25px; line-height: 1.2; font-weight: 600; margin: 0; }
.bank-page-heading time { font-size: 12px; color: var(--bank-muted); text-align: right; }
.bank-page-heading time span { display: none; }
.bank-balance { position: relative; padding: 22px 0 28px; border-top: 1px solid var(--bank-border); border-bottom: 1px solid var(--bank-border); }
.bank-balance-caption { display: flex; align-items: center; gap: 8px; }
.bank-balance-caption h2 { font-size: 13px; font-weight: 400; color: #b5c1b9; margin: 0; }
.bank-status-dot { width: 6px; height: 6px; flex: 0 0 6px; background: var(--bank-accent); border-radius: 50%; }
.bank-balance-value { margin: 7px 0 6px; font-size: 36px; line-height: 1.35; font-weight: 600; color: #f5faf6; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bank-account-name { font-size: 12px; color: #8e9d94; }
.bank-account-name span { color: #c7d3cb; padding-left: 7px; }
.pd-bank .bank-mobile-pix { display: inline-flex; margin-top: 15px; padding: 8px 10px; min-height: 44px; height: auto; width: auto; gap: 15px; border-radius: 5px; border: 1px solid #303c33; background: #17211b; color: #b9cbbf; box-shadow: none; font-size: 12px; }
.bank-mobile-pix b { color: #d2e7da; font-weight: 500; margin-left: 5px; }
.bank-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 24px; }
.bank-action { min-height: 84px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #303a34; border-radius: 7px; color: #dce9e0 !important; background: #1b231e; text-decoration: none; transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.bank-action>i { font-size: 22px; line-height: 1; }
.bank-action span { font-size: 12px; font-weight: 600; line-height: 1.35; }
.bank-action.bank-action-primary { background: #a6e8be; color: #102017 !important; border-color: #b7efca; box-shadow: inset 0 1px 0 #d0f6dc, 0 2px 0 #4b785b; }
.bank-action:hover { background: #293a2e; border-color: #729980; transform: translateY(-1px); }
.bank-action-primary:hover { background: #bceecf; }
.bank-action .bank-action-arrow { display: none; }
.bank-seal { display: none; }
.bank-section { padding: 28px 0; border-bottom: 1px solid var(--bank-border); }
.bank-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.bank-section-heading h2 { margin: 0; font-size: 17px; line-height: 1.35; font-weight: 600; }
.bank-period { color: var(--bank-muted); font-size: 11px; display: inline-flex; align-items: center; gap: 8px; }
.bank-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.bank-metric { min-width: 0; padding: 16px 12px; border: 1px solid #2b3233; border-radius: 7px; background: #171b1d; }
.bank-metric-label { display: flex; align-items: center; justify-content: space-between; color: #b7c1bd; font-size: 12px; gap: 5px; }
.bank-metric-label i { display: none; color: #839b8d; }
.bank-metric>strong { display: block; font-size: 20px; line-height: 1.3; margin: 12px 0 14px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bank-metric>small { font-size: 10px; display: block; color: #9daaa3; line-height: 1.6; }
.bank-metric>small span { display: block; color: #c2cec7; font-variant-numeric: tabular-nums; }
.bank-totals { display: grid; grid-template-columns: 1fr; margin: 20px 0 0; }
.bank-totals>div { padding: 14px 0; display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; border-bottom: 1px solid #242d29; }
.bank-totals>div:last-child { border: 0; padding-bottom: 0; }
.bank-totals dt { font-size: 12px; color: #a9b7ae; font-weight: 400; }
.bank-totals dt span { display: block; color: #7e9187; font-size: 10px; padding-top: 3px; }
.bank-totals dd { margin: 0; font-size: 18px; font-weight: 500; color: #dce6e0; font-variant-numeric: tabular-nums; }
.bank-totals small { grid-column: 1 / -1; text-align: right; font-size: 11px; color: #a4afa8; }
.bank-cost-ratio { color: #d4bd92; }
.bank-text-link { color: #b4dfc3 !important; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; min-height: 44px; }
.bank-text-link:hover { color: #e5f7eb !important; }
.bank-chart { width: 100%; min-width: 0; min-height: 280px; }
.bank-chart .apexcharts-text { fill: #a8b6ae; }
.bank-chart .apexcharts-legend-text { color: #b7c6bd !important; }
.bank-chart .apexcharts-tooltip { background: #222b26 !important; border: 1px solid #45584b !important; color: #f3f8f5 !important; box-shadow: 0 10px 22px #0005; }
.bank-chart .apexcharts-tooltip-title { background: #303e35 !important; border-bottom-color: #45584b !important; }
.bank-rankings { display: grid; grid-template-columns: 1fr; gap: 26px; }
.bank-ranking h3 { font-size: 13px; font-weight: 500; margin: 0 0 10px; display: flex; align-items: center; gap: 10px; color: #b6c8bc; }
.bank-ranking h3 i { color: #8cc59f; font-size: 17px; }
.bank-rank-row { min-height: 66px; border-bottom: 1px solid #26302a; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 12px; font-size: 13px; }
.bank-rank-row:last-child { border-bottom: 0; }
.bank-rank-number { color: #83bc97; font-size: 11px; font-variant-numeric: tabular-nums; border-left: 2px solid #547d62; padding-left: 7px; }
.bank-rank-row>div { text-align: right; }
.bank-rank-row strong { display: block; font-size: 13px; font-weight: 500; }
.bank-rank-row small { display: block; color: #96a69c; font-size: 11px; margin-top: 4px; }
.bank-empty { padding: 20px 0; color: var(--bank-muted); font-size: 13px; }
.bank-footer { padding: 24px 0 8px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; font-size: 10px; color: #869b8e; }
.bank-footer a { color: #b2c2b8; }
.bank-footer-divider { margin-inline: 8px; color: #507d60; }
.bank-bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: #141b17; border-top: 1px solid #35453b; padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); z-index: 1020; }
.bank-bottom-nav a { min-height: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #a2b1a8; font-size: 10px; border-radius: 5px; }
.bank-bottom-nav i { font-size: 20px; }
.bank-bottom-nav [aria-current] { color: #bbefce; background: #203429; }
.pd-bank.modal-open .bank-bottom-nav { visibility: hidden; }
.pd-bank .modal-content, .pd-bank .dropdown-menu { background: #191f1c; color: #e5eee8; border: 1px solid #39483e; border-radius: 8px; box-shadow: 0 20px 60px #0005; }
.pd-bank .dropdown-item { color: #d5e0d9; min-height: 44px; }
.pd-bank .dropdown-item:hover { color: #e3f8eb; background: #293b30; }
.pd-bank .modal-header, .pd-bank .modal-footer { background: transparent; border-color: #334038; padding: 16px 20px; }
.pd-bank .modal { z-index: 1060 !important; }
.pd-bank .modal-backdrop { z-index: 1050 !important; }
.pd-bank .modal-title { color: #f0f5f2; font-size: 18px; font-weight: 600; }
.pd-bank .modal-body { padding: 20px; }
.pd-bank .btn-close { filter: invert(1) grayscale(1); opacity: .75; min-width: 28px; min-height: 28px; }
.pd-bank .form-control, .pd-bank .form-select, .pd-bank input.box_code { background-color: #111813; color: #e3eee7; border: 1px solid #405348; border-radius: 6px; min-height: 46px; box-shadow: none; font-size: 16px; }
.pd-bank input::placeholder, .pd-bank textarea::placeholder { color: #a2b5a9; opacity: 1; }
.pd-bank select option { background: #17221a; color: #e6f1ea; }
.pd-bank .form-label { color: #c8d8ce; font-size: 13px; }
.pd-bank .btn { min-height: 44px; border-radius: 6px; box-shadow: none; font-weight: 600; }
.pd-bank .btn-success, .pd-bank .btn-primary { background: #a6e8be !important; color: #102017 !important; border: 1px solid #afebc5; box-shadow: none !important; }
.pd-bank .btn-success:hover, .pd-bank .btn-primary:hover { background: #c0f1d2 !important; }
.pd-bank .btn-light, .pd-bank .btn-outline-secondary { background: #26372c; color: #d7eade; border-color: #3e5848; }
.pd-bank .bank-modal-loading, .pd-bank .bank-modal-error { padding: 32px 20px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; color: #cbdcd1; }
.pd-bank .bank-modal-loading .spinner-border { color: #a6e8be; }
.pd-bank .payday-pin-key { background: #24392c !important; border-color: #3e5949 !important; box-shadow: none !important; color: #e4f0e9 !important; min-height: 46px; }
.pd-bank .payday-withdraw-review { background: #19241d; border-color: #54725f; color: #e7f1eb; }
.pd-bank .toast { background: #202d25 !important; color: #eef6f1 !important; border: 1px solid #4e6c59 !important; box-shadow: 0 10px 25px #0005 !important; text-shadow: none !important; }
.pd-bank .toast-icon { box-shadow: none !important; background: #a6e8be !important; color: #172b1e !important; }
.pd-bank .toast-title, .pd-bank .toast-message { color: #eef6f1 !important; text-shadow: none !important; }
@media(max-width:991.98px) {
  .pd-bank .app-sidebar { top: calc(64px + env(safe-area-inset-top)); height: calc(100dvh - 64px - env(safe-area-inset-top)); width: 260px; inset-inline-start: -270px !important; transition: inset-inline-start 180ms ease; }
  html.pd-bank[data-toggled="open"] .app-sidebar { inset-inline-start: 0 !important; }
  html.pd-bank[data-toggled="close"] #responsive-overlay { display: none !important; }
  html.pd-bank[data-toggled="open"] #responsive-overlay { display: block !important; position: fixed; inset: calc(64px + env(safe-area-inset-top)) 0 0; background: #0008; z-index: 1029; }
  .pd-bank .main-sidebar-header { display: none; }
  .pd-bank .main-sidebar { height: 100%; padding-top: 16px; }
  .pd-bank .modal-dialog { margin: 12px; max-width: calc(100% - 24px); }
  .pd-bank .modal-content { max-height: calc(100dvh - 24px); }
}
@media(min-width:600px) {
  .pd-bank .bank-main { padding-inline: 32px; }
  .bank-page-heading h1 { font-size: 28px; }
  .bank-balance-value { font-size: 44px; }
  .bank-actions { max-width: 570px; }
  .bank-action { flex-direction: row; align-items: center; justify-content: flex-start; min-height: 54px; padding: 12px 16px; }
  .bank-metric { padding: 22px; }
  .bank-metric>strong { font-size: 25px; }
  .bank-metric-label i { display: block; }
  .bank-metric>small { font-size: 12px; }
  .bank-metric>small span { display: inline; margin-left: 4px; }
  .bank-rankings { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
  .bank-page-heading time span { display: inline; }
  .bank-totals { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .bank-totals>div { display: block; padding: 5px 0 !important; border-bottom: 0; }
  .bank-totals dd { margin: 12px 0 8px; font-size: 22px; }
  .bank-totals small { text-align: left; }
}
@media(min-width:992px) {
  .pd-bank .app-sidebar, .pd-bank .main-sidebar-header { width: 224px !important; }
  .pd-bank .app-header { padding-inline-start: 224px; }
  .pd-bank .main-header-container { padding-inline: 36px; }
  .pd-bank .bank-main { margin-inline-start: 224px !important; padding-inline: 36px; }
  .pd-bank .sidemenu-toggle { display: none; }
  .pd-bank .header-content-left::after { content: 'PAYDAY / Conta digital'; font-size: 12px; color: #8eaa99; }
  .pd-bank .app-header .payday-topbar-pix-key { display: flex; margin-right: 15px; }
  .pd-bank .payday-pix-key-box { border: 1px solid #34483b; border-radius: 5px; background: #17231b; box-shadow: none; color: #bacec1; }
  .pd-bank .payday-pix-key-box code { color: #b7e3c7; }
  .pd-bank .payday-pix-copy-btn { width: 36px; height: 36px; border-radius: 4px; background: #253c2d; border-color: #43634e; color: #c8eed5; box-shadow: none; }
  .pd-bank .bank-mobile-pix { display: none; }
  .bank-page-heading { padding-block: 30px 26px; }
  .bank-balance { padding: 28px 0 34px; min-height: 255px; }
  .bank-balance-value { font-size: 46px; }
  .bank-balance-main, .bank-actions { position: relative; z-index: 1; }
  .bank-seal { position: absolute; right: 12px; top: 27px; width: 145px; height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; border: 1px solid #3e5648; border-radius: 8px; background: linear-gradient(145deg,#2b3e31,#18231c 65%); box-shadow: inset 1px 1px 0 #70816e55, 5px 6px 0 #090e0b; transform: rotate(5deg); }
  .bank-seal img { border-radius: 7px; opacity: .8; }
  .bank-seal span { font-size: 15px; font-weight: 600; color: #c5d9cc; }
  .bank-seal small { font-family: monospace; color: #829c8a; font-size: 10px; }
  .bank-section { padding-block: 30px; }
  .bank-section-heading h2 { font-size: 19px; }
  .bank-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
  .bank-metric { padding: 20px 16px; }
  .bank-metric>strong { font-size: 24px; }
  .bank-metric>small { font-size: 11px; }
  .bank-metric>small span { display: block; margin: 3px 0 0; }
  .bank-totals { padding-top: 10px; gap: 30px; }
  .bank-totals>div:not(:first-child) { padding-left: 26px !important; border-left: 1px solid #2b3730; }
  .bank-totals dt span { display: inline; margin-left: 6px; }
  .bank-bottom-nav { display: none; }
  .bank-container { padding-bottom: 12px; }
  .bank-chart { min-height: 300px; }
}
@media(max-width:359px) {
  .pd-bank .bank-main { padding-inline: 14px; }
  .pd-bank .horizontal-logo img.desktop-dark { width: 112px !important; }
  .bank-metric>strong { font-size: 18px; }
  .bank-balance-value { font-size: 32px; }
  .bank-action { padding: 10px 8px; }
  .bank-action span { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) {
  .pd-bank *, .pd-bank *::before, .pd-bank *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
