/* Saldo Virtual | Home financeira independente de W3 */
.sv-bank{max-width:1460px;margin:0 auto;padding:22px 20px 42px;color:var(--text)}
.sv-bank-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}
.sv-bank-eyebrow{font-size:11px;letter-spacing:.13em;color:var(--primary2);font-weight:800;margin:0 0 7px}
.sv-bank-heading h1{font-size:30px;margin:0 0 3px}
.sv-bank-heading p:not(.sv-bank-eyebrow),.sv-bank-activity-head p:not(.sv-bank-eyebrow){color:var(--muted);font-size:13px;margin:0}
.sv-bank-account,.sv-bank-all-link{display:inline-flex;align-items:center;gap:9px;color:var(--primary2);text-decoration:none;font-weight:650;font-size:13px}
.sv-bank-account{padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.sv-bank-grid{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(0,1.3fr);gap:22px;align-items:start}
.sv-bank-primary{display:flex;flex-direction:column;gap:16px}
.sv-bank-balance{background:linear-gradient(145deg,#173a65 0%,#102844 55%,#101e34 100%);border:1px solid #36577c;border-radius:23px;padding:27px;color:#fff;box-shadow:0 18px 40px #0002;overflow:hidden;position:relative}
.sv-bank-balance:after{content:"";position:absolute;width:230px;height:230px;border:1px solid #ffffff14;border-radius:50%;right:-100px;top:35px;box-shadow:0 0 0 35px #ffffff07;pointer-events:none}
.sv-bank-balance-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:#bed3ef;position:relative;z-index:1}
.sv-bank-balance-top span{display:flex;align-items:center;gap:9px}
.sv-bank-balance-top button{background:#ffffff14;border:1px solid #ffffff25;border-radius:10px;color:#fff;width:39px;height:39px;cursor:pointer}
.sv-bank-balance-amount{font-size:clamp(28px,3vw,43px);font-weight:850;letter-spacing:-.035em;margin:23px 0 0;position:relative;z-index:1;overflow-wrap:anywhere}
.sv-bank-balance-unit{color:#a8c5e9;font-size:12px;margin-top:3px}
.sv-bank-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;position:relative;z-index:1}
.sv-bank-mini-stats>div{padding:13px;background:#ffffff0e;border:1px solid #ffffff18;border-radius:13px;min-width:0}
.sv-bank-mini-stats span,.sv-bank-mini-stats strong{display:block}
.sv-bank-mini-stats span{font-size:11px;color:#b6cbe6}
.sv-bank-mini-stats strong{font-size:18px;margin-top:5px;overflow-wrap:anywhere}
.sv-bank-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sv-bank-action{min-height:89px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-decoration:none;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);font-size:13px;font-weight:750;text-align:center;padding:14px;cursor:pointer}
.sv-bank-action i{font-size:22px;color:var(--primary2)}
.sv-bank-action-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.sv-bank-action-primary i{color:#fff}
.sv-bank-action:hover{filter:brightness(1.12);transform:translateY(-1px)}
.sv-bank-notice{padding:12px 14px;background:var(--surface2);border-radius:11px;color:var(--muted);font-size:12px;display:flex;gap:9px;align-items:center}
.sv-bank-ad-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:19px}
.sv-bank-ad-icon{display:grid;place-items:center;background:#4b78f51a;border-radius:12px;width:48px;height:48px;flex-shrink:0;color:var(--primary2);font-size:21px}
.sv-bank-ad-card span,.sv-bank-ad-card strong,.sv-bank-ad-card small{display:block}
.sv-bank-ad-card span{color:var(--muted);font-size:12px}
.sv-bank-ad-card strong{font-size:23px;margin:3px 0}
.sv-bank-ad-card small{color:var(--muted);font-size:11px}
.sv-bank-all-link{padding:5px 3px}
.sv-bank-activity{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.sv-bank-activity-head{padding:24px 24px 17px;display:flex;justify-content:space-between;gap:12px;align-items:start}
.sv-bank-activity-head h2{font-size:22px;margin:0 0 5px}
.sv-bank-activity-total{white-space:nowrap;background:var(--surface2);border-radius:30px;padding:6px 10px;color:var(--muted);font-size:11px;font-weight:700}
.sv-bank-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 24px 18px}
.sv-bank-summary>div{background:var(--surface2);border-radius:13px;padding:15px;min-width:0}
.sv-bank-summary span,.sv-bank-summary strong,.sv-bank-summary small{display:block}
.sv-bank-summary span{font-size:11px;color:var(--muted)}
.sv-bank-summary strong{font-size:20px;margin:4px 0;overflow-wrap:anywhere}
.sv-bank-summary small{font-size:11px;color:var(--muted)}
.sv-bank-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding:0 24px 12px}
.sv-bank-tabs button{border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-weight:700;padding:9px 15px}
.sv-bank-tabs button.is-active{background:#4b78f51c;border-color:#4b78f544;color:var(--primary2)}
.sv-bank-list{max-height:660px;overflow-y:auto}
.sv-bank-transaction{display:flex;align-items:center;gap:13px;padding:15px 24px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);min-width:0}
.sv-bank-transaction:hover{background:var(--surface2)}
.sv-bank-transaction[hidden]{display:none!important}
.sv-bank-transaction-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}
.sv-bank-transaction-icon.is-in{background:#3ac9941c;color:var(--green)}
.sv-bank-transaction-icon.is-out{background:#ff78841a;color:var(--red)}
.sv-bank-transaction-info{flex:1;min-width:0}
.sv-bank-transaction-info strong,.sv-bank-transaction-info small{display:block}
.sv-bank-transaction-info strong{font-size:13px;text-transform:capitalize;overflow-wrap:anywhere}
.sv-bank-transaction-info small{font-size:11px;color:var(--muted);margin-top:3px}
.sv-bank-status{display:inline-block;font-size:10px;font-style:normal;font-weight:700;margin-top:5px;padding:2px 7px;border-radius:6px}
.sv-bank-status-pending{color:var(--yellow);background:#f4c15b1a}
.sv-bank-status-done{color:var(--green);background:#3ac9941a}
.sv-bank-status-cancelled{color:var(--red);background:#ff78841a}
.sv-bank-transaction-value{font-size:13px;font-weight:800;text-align:right;white-space:nowrap}
.sv-bank-transaction-value.is-in{color:var(--green)}
.sv-bank-transaction-value.is-out{color:var(--red)}
.sv-bank-empty[hidden]{display:none!important}
.sv-bank-empty{padding:55px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted)}
.sv-bank-empty i{font-size:28px;margin-bottom:8px}
.sv-bank-empty strong{color:var(--text)}
.sv-bank-empty span{font-size:12px}
.sv-bank-activity-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;font-size:12px;color:var(--muted)}
.sv-bank-activity-bottom a{color:var(--primary2);font-weight:700;text-decoration:none}
.sv-bank.sv-values-hidden .sv-sensitive{font-size:0!important;letter-spacing:0!important}
.sv-bank.sv-values-hidden .sv-sensitive:after{content:"••••••";font-size:20px;font-weight:800;letter-spacing:2px;color:inherit}
.sv-bank.sv-values-hidden .sv-bank-transaction-value.sv-sensitive:after{font-size:15px}
@media(max-width:1000px){.sv-bank-grid{grid-template-columns:1fr}.sv-bank-list{max-height:550px}}
@media(max-width:650px){.sv-bank{padding:15px 12px 30px}.sv-bank-heading h1{font-size:25px}.sv-bank-heading{align-items:start}.sv-bank-account{font-size:0;padding:10px}.sv-bank-account i{font-size:17px}.sv-bank-balance{padding:22px}.sv-bank-activity-head,.sv-bank-summary,.sv-bank-tabs{padding-left:15px;padding-right:15px}.sv-bank-transaction{padding:13px 15px;gap:9px}.sv-bank-transaction-value{font-size:12px}.sv-bank-activity-bottom{padding:14px 15px}.sv-bank-mini-stats strong{font-size:15px}}
