/* =====================================================================
 FINANÇA PLUS — EXECUTIVE EDITION 2026
 Redesign de apresentação. Não altera registros, cálculos ou persistência.
 ===================================================================== */
:root{
 --bg:#f5f6f7;--surface:#fff;--surface2:#f8f9fb;
 --text:#19283a;--muted:#68778a;--stroke:#e3e8ee;
 --green:#213d59;--green-dark:#132b45;--green-pale:#eaf0f6;
 --blue:#496c8d;--red:#c26869;--amber:#af8c58;
 --shadow:0 10px 34px rgba(22,37,56,.035);
 --exec-ink:#122133;--exec-gold:#c2a577;--exec-radius:19px;
}
body:has(.exec-shell){background:#f5f6f7;color:#19283a;font-family:'DM Sans',system-ui,sans-serif;font-size:14px}
.layout.exec-shell{background:#f5f6f7;min-height:100dvh}
.layout.exec-shell .sidebar{
 width:254px;display:flex;flex-direction:column;inset:0 auto 0 0;
 padding:27px 17px 18px;background:#111e2e!important;
 border-right:1px solid rgba(255,255,255,.09)!important;
 color:#edf2f8!important;z-index:20;
 scrollbar-color:#334457 transparent;
}
.layout.exec-shell .page{margin-left:254px;width:calc(100% - 254px);min-width:0;background:#f5f6f7!important}
.layout.exec-shell .brand{padding:3px 10px 26px;display:flex;gap:12px;align-items:center;font:850 20px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.8px;color:#fff!important}
.layout.exec-shell .brand-mark{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;background:linear-gradient(145deg,#d0b78c,#ad8e5f)!important;border:1px solid #d8c49c;color:#142234!important;border-radius:14px;box-shadow:0 10px 24px #050c1666}
.layout.exec-shell .brand .plus{color:#d8bd8d!important}
.layout.exec-shell .exec-brand-subtitle{display:block;margin-top:3px;font-size:9px;font-weight:750;letter-spacing:2.1px;color:#9cacc0;text-transform:uppercase}
.layout.exec-shell .exec-side-rule{height:1px;margin:1px 10px 18px;background:linear-gradient(90deg,#405065,transparent)}
.layout.exec-shell .nav-label,.layout.exec-shell .nav-label-premium{color:#788a9f!important;font-size:9px;font-weight:850;letter-spacing:1.55px;padding:18px 13px 9px;text-transform:uppercase}
.layout.exec-shell .nav-list{display:grid;gap:4px}
.layout.exec-shell .sidebar .nav-btn{position:relative;color:#b8c7d7!important;min-height:42px;padding:10px 12px!important;gap:11px;border:1px solid transparent;background:transparent!important;border-radius:11px;font-size:12px;font-weight:700;line-height:1.35;white-space:normal}
.layout.exec-shell .sidebar .nav-btn svg{width:18px;height:18px;color:#95a9c0;flex:0 0 18px}
.layout.exec-shell .sidebar .nav-btn:hover{background:#203247!important;color:#fff!important}
.layout.exec-shell .sidebar .nav-btn.active{background:#2a4058!important;border-color:#42556b;color:#fff!important;box-shadow:inset 3px 0 0 #cfb17d}
.layout.exec-shell .sidebar .nav-btn.active svg{color:#e5c797}
.layout.exec-shell .sidebar .pill-mini{background:#c9977e;color:#fff}
.layout.exec-shell .sidebar-end{margin-top:auto;padding-top:25px!important}
.layout.exec-shell .user-chip{border:1px solid #354557;background:#1c2e41;padding:12px;border-radius:15px;gap:11px}
.layout.exec-shell .user-chip .avatar{background:#c6ac81;color:#19283b;border-radius:11px;font-weight:900}
.layout.exec-shell .user-chip strong{font-size:12px;color:#f0f4f8}
.layout.exec-shell .user-chip small{font-size:10px;color:#9cacc2}
.layout.exec-shell .sidebar-end>.btn{margin-top:10px!important;width:100%;border-color:#415369;background:#203448!important;color:#fff!important}
.layout.exec-shell .topbar,.layout.exec-shell.is-dashboard-page .topbar{
 display:flex!important;position:sticky;top:0;z-index:16;height:77px;min-height:77px;
 padding:0 clamp(18px,2.7vw,42px)!important;gap:12px;
 background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e8edf0!important;
 backdrop-filter:blur(16px);
}
.layout.exec-shell .breadcrumb{display:flex;align-items:center;min-width:0;font-size:12px;color:#8b97a4;font-weight:750;letter-spacing:.01em;gap:11px}
.layout.exec-shell .breadcrumb b{font-size:13px;color:#1a2b40;font-weight:850}
.layout.exec-shell .exec-top-logo{display:grid;place-items:center;width:31px;height:31px;border:1px solid #e2e7ec;border-radius:9px;background:#f8fafb;color:#263d57;flex:0 0 31px}
.layout.exec-shell .exec-top-separator{color:#c9d2dc;font-weight:400}
.layout.exec-shell .top-actions{display:flex;align-items:center;gap:10px;min-width:0}
.layout.exec-shell .top-date{color:#8a97a7;font-size:11px;letter-spacing:.01em;margin:0 10px 0 0;text-transform:capitalize;white-space:nowrap}
.layout.exec-shell .exec-new-btn{background:#1c344d;color:#fff;border:1px solid #1c344d;border-radius:11px;font-size:12px;font-weight:800;padding:10px 14px;min-height:40px;display:inline-flex;align-items:center;gap:7px}
.layout.exec-shell .exec-new-btn:hover{background:#304b67}
.layout.exec-shell .icon-btn{border:1px solid #e1e7ee;background:#fff;border-radius:11px;color:#324960;min-width:40px;min-height:40px;width:40px;height:40px;box-shadow:none}
.layout.exec-shell .icon-btn:hover{background:#f0f4f7;transform:none}
.layout.exec-shell .exec-account-top{font-size:10px;letter-spacing:.06em;color:#425970;background:#edf1f5;border-radius:999px;padding:11px 13px;font-weight:850}
.layout.exec-shell .content,.layout.exec-shell.is-dashboard-page .content{max-width:1600px;margin:0 auto;padding:30px clamp(18px,2.7vw,42px) 105px!important}
.layout.exec-shell .section-head{align-items:center;margin:0 0 24px;gap:24px}
.layout.exec-shell .eyebrow{color:#a48961;font-size:10px;letter-spacing:.16em}
.layout.exec-shell .page-title{font:850 clamp(26px,2.45vw,36px)/1.16 'Plus Jakarta Sans',sans-serif;color:#172b40;letter-spacing:-.06em}
.layout.exec-shell .page-subtitle{max-width:700px;color:#7c8997;font-size:13px;line-height:1.7}
.layout.exec-shell .panel{background:#fff;border:1px solid #e4e9ef;box-shadow:0 10px 32px rgba(31,50,73,.027);border-radius:19px;padding:23px;min-width:0}
.layout.exec-shell .panel h2{font-weight:850;color:#1b3048;letter-spacing:-.03em}
.layout.exec-shell .btn{background:#213c59;border:1px solid #213c59;color:#fff;font-size:12px;border-radius:11px;min-height:42px;font-weight:800;box-shadow:none}
.layout.exec-shell .btn:hover{background:#304e69;transform:none}
.layout.exec-shell .btn.secondary,.layout.exec-shell .btn.ghost{background:#fff;color:#334b64;border-color:#dce4eb}
.layout.exec-shell .btn.secondary:hover{background:#f2f5f8}
.layout.exec-shell .btn.red{background:#b8595e;border-color:#b8595e}
.layout.exec-shell .text-btn,.layout.exec-shell .panel-link{color:#355a75;font-weight:800}
.layout.exec-shell .summary-tile,.layout.exec-shell .metric,.layout.exec-shell .submetric,.layout.exec-shell .source-card{
 border:1px solid #e4e9ef;border-radius:16px;background:#fff;box-shadow:0 8px 23px #1f324908;
}
.layout.exec-shell .summary-tile{padding:21px;min-width:0}
.layout.exec-shell .summary-tile strong{font-size:clamp(20px,2.5vw,28px);color:#243c55;overflow-wrap:anywhere}
.layout.exec-shell .summary-tile span{font-weight:800;color:#65778a}
.layout.exec-shell .select,.layout.exec-shell input:not([type=checkbox]):not([type=radio]),.layout.exec-shell textarea,.layout.exec-shell select{
 border-color:#dbe3ea;background:#fff;color:#203a53;border-radius:11px;box-shadow:none;max-width:100%;
}
.layout.exec-shell input:focus-visible,.layout.exec-shell select:focus-visible,.layout.exec-shell textarea:focus-visible,.layout.exec-shell button:focus-visible,.layout.exec-shell [tabindex]:focus-visible{
 outline:3px solid #c4ab7a;outline-offset:2px;
}
.layout.exec-shell .field label,.layout.exec-shell .filter-field{color:#3d5269}
.layout.exec-shell .field-grid{gap:14px}
.layout.exec-shell .table-row,.layout.exec-shell .data-row{border-bottom:1px solid #edf0f3}
.layout.exec-shell .row-icon{border-radius:12px}
.layout.exec-shell .source-profit,.layout.exec-shell .f7-debt,.layout.exec-shell .f7-entry{border-radius:16px}
.layout.exec-shell .premium-more-group{border:1px solid #e2e7ed;background:#fff;border-radius:20px;box-shadow:0 12px 30px #162b4207}
.layout.exec-shell .premium-more-link{background:#f9fbfc;border:1px solid #e6ebef;border-radius:14px}
.layout.exec-shell .premium-more-link:hover{background:#eef3f7;border-color:#d7e1e9}
.layout.exec-shell .premium-more-icon{background:#eaf0f4;color:#395b76}
.layout.exec-shell .money-overview,.layout.exec-shell .fw-overview{background:linear-gradient(115deg,#edf2f5,#fff 75%);border-color:#dfe6ed;box-shadow:none}
.layout.exec-shell .money-overview-main strong,.layout.exec-shell .money-overview-parts b,.layout.exec-shell .fw-overview strong{color:#193853}
.layout.exec-shell .fw-cards .fw-card{border-radius:17px!important;box-shadow:0 5px 20px #132b4210}
.layout.exec-shell .money-guide-grid>div{background:#f9fafb}
.layout.exec-shell .modal-backdrop{background:rgba(13,24,38,.68);backdrop-filter:blur(4px)}
.layout.exec-shell .modal{background:#fff;border:1px solid #dbe3ec;box-shadow:0 25px 80px #050b1b55;border-radius:21px}
.layout.exec-shell .modal-header{background:#fff;border-bottom:1px solid #ecf0f3;color:#20334a}
.layout.exec-shell .modal-body{color:#1e344b}
.layout.exec-shell .bottom-nav{display:none!important}
.layout.exec-shell .floating-add{display:none!important}

/* Dashboard Executive: home com composição independente da versão anterior. */
.layout.exec-shell .executive-dashboard{display:grid;gap:22px;max-width:1480px;margin:0 auto;color:#1e3045;min-width:0}
.executive-dashboard :is(h1,h2,h3,p){margin-top:0}
.executive-dashboard button{cursor:pointer;font:inherit}
.exec-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(110deg,#fff 0%,#fff 67%,#f9f7f1 100%);padding:25px 30px;border:1px solid #e4e8eb;border-radius:20px;position:relative;overflow:hidden}
.exec-hero:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#c5aa80}
.exec-hero-copy{min-width:0}.exec-hero-kicker{font-weight:850;letter-spacing:.15em;font-size:9px;color:#9d855f}.exec-hero-kicker span{padding:0 5px;color:#cdb996}
.exec-hero h1{font:850 clamp(24px,2.7vw,35px)/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:-.065em;color:#1c3048;margin:8px 0 6px}
.exec-hero h1 em{font-style:normal;color:#a98c61}
.exec-hero p{max-width:630px;color:#798898;font-size:12px;line-height:1.6;margin:0}
.exec-hero-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
.exec-hero-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;border-radius:10px;padding:10px 13px;font-size:11px;font-weight:850;white-space:nowrap}
.exec-primary-action{background:#1d344d;color:#fff;border:1px solid #1d344d}.exec-primary-action:hover{background:#2e4b66}
.exec-secondary-action{background:#fff;color:#2e4b63;border:1px solid #dce4ea}
.exec-guardian-action{background:#f4f0e9;color:#836843;border:1px solid #e7decd}
.exec-period{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #e4e9ed;padding:0 2px 17px}
.exec-period-label{display:flex;flex-direction:column;gap:4px;min-width:180px}
.exec-period-label span{font-size:9px;font-weight:850;color:#9b876b;letter-spacing:.14em}
.exec-period-label strong{font-size:14px;color:#223951;text-transform:capitalize}
.exec-period-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.exec-period-controls .period-pills{display:inline-flex;gap:3px;border:1px solid #e3e9ed;background:#eceff2;padding:4px;border-radius:11px}
.exec-period-controls .period-pills button{border:0;background:transparent;color:#7c8b9a;padding:9px 13px;min-height:35px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap}
.exec-period-controls .period-pills button.selected,.exec-period-controls .period-pills button[aria-pressed="true"]{background:#fff!important;color:#203b53!important;box-shadow:0 2px 8px #122b401a}
.exec-period-controls .dashboard-calendar{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#708195;white-space:nowrap}
.exec-period-controls .dashboard-calendar input{font-size:11px!important;font-weight:700;min-height:39px;border:1px solid #e1e7ec!important;border-radius:9px;padding:8px 9px;background:#fff!important}
.exec-period-controls .dashboard-range{color:#84929f;font-size:10px;font-weight:700}
.exec-first-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:16px;align-items:stretch;min-width:0}
.exec-wallet{position:relative;overflow:hidden;background:linear-gradient(123deg,#142337 0%,#1c3650 70%,#254661 100%);border:1px solid #2c455b;border-radius:20px;padding:25px 29px;color:#fff;min-height:337px;display:flex;flex-direction:column;box-shadow:0 13px 32px #13283d17;min-width:0}
.exec-wallet-aura{position:absolute;inset:auto -60px -145px auto;width:360px;height:360px;border:1px solid #e7d2a51a;border-radius:50%;pointer-events:none}
.exec-wallet-aura:before{content:'';position:absolute;inset:46px;border:1px solid #e7d2a525;border-radius:50%}
.exec-wallet-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:9px;flex-wrap:wrap}
.exec-caption-on-dark{font-size:10px;color:#bac8d6;letter-spacing:.13em;font-weight:850}
.exec-wallet-badge{display:inline-flex;align-items:center;gap:6px;font-weight:750;letter-spacing:.035em;font-size:9px;color:#e2c89c;border:1px solid #ac916540;border-radius:999px;padding:7px 10px}
.exec-wallet-amount{position:relative;z-index:1;font:850 clamp(31px,3.65vw,49px)/1.25 'Plus Jakarta Sans',sans-serif;letter-spacing:-.058em;color:#fff;overflow-wrap:anywhere;margin-top:20px;font-variant-numeric:tabular-nums}
.exec-wallet-sub{color:#afbed0;font-size:11px;line-height:1.5;margin:7px 0 20px}
.exec-wallet-breakdown{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:auto}
.exec-wallet-breakdown>div{display:grid;gap:6px;min-width:0;border:1px solid #ffffff22;background:#ffffff0a;border-radius:13px;padding:12px 13px}
.exec-wallet-breakdown span{font-size:10px;color:#b9c7d7;line-height:1.4}
.exec-wallet-breakdown strong{font-size:clamp(15px,1.7vw,21px);font-weight:850;color:#f6f8fb;letter-spacing:-.04em;overflow-wrap:anywhere}
.exec-wallet-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:17px}
.exec-wallet-footer button{display:inline-flex;align-items:center;gap:5px;background:transparent;color:#d5b887;border:0;padding:4px 0;font-size:11px;font-weight:800}
.exec-wallet-footer button:last-child{color:#a8b8c7;font-size:10px}
.exec-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.exec-metric{background:#fff;border:1px solid #e5e9ed;border-radius:18px;padding:18px 20px;min-width:0;box-shadow:0 8px 22px #142a4108}
.exec-metric:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr auto;align-content:center;align-items:center;gap:4px 14px;background:#f9fafb}
.exec-metric-top{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:12px;grid-column:1/-1}
.exec-metric-top>span:first-child{font-size:9px;color:#8a98a6;letter-spacing:.1em;font-weight:850}
.exec-metric-icon{display:grid;place-items:center;width:30px;height:30px;background:#eef3f6;color:#426785;border-radius:10px}
.exec-metric.exec-income .exec-metric-icon{color:#398467;background:#e7f4ed}
.exec-metric.exec-expense .exec-metric-icon,.exec-metric.exec-loss .exec-metric-icon{color:#bd7375;background:#f9eaeb}
.exec-metric h2{font-size:11px;font-weight:750;color:#65798a;letter-spacing:0;margin:0 0 7px}
.exec-metric>strong{display:block;font:850 clamp(19px,2.1vw,26px)/1.25 'Plus Jakarta Sans',sans-serif;letter-spacing:-.045em;color:#203951;overflow-wrap:anywhere}
.exec-metric.exec-loss>strong{color:#b56369}
.exec-metric p{font-size:10px;color:#98a3ae;margin:8px 0 0}
.exec-metric:last-child p{grid-column:1/-1}.exec-metric:last-child h2{margin:0}
.exec-reconciliation-notice{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid #e1dccf;border-radius:13px;background:#fbf9f3;color:#846c4b}
.exec-reconciliation-notice p{flex:1;margin:0;font-size:11px;line-height:1.6}.exec-reconciliation-notice button{border:0;color:#7f633f;background:transparent;font-weight:850;font-size:11px;text-decoration:underline}
.exec-actions-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.exec-actions-strip button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:49px;padding:13px 14px;background:#fff;border:1px solid #e6eaf0;border-radius:12px;color:#344b63;font-size:11px;font-weight:800;text-align:left;white-space:normal}
.exec-actions-strip button svg{color:#a38a63}.exec-actions-strip button:hover{border-color:#cdbb9e;background:#fcfaf7}
.exec-middle-row{display:grid;grid-template-columns:minmax(0,1.36fr) minmax(325px,.85fr);align-items:start;gap:17px;min-width:0}
.exec-panel{padding:23px 25px;border:1px solid #e5e9ed;border-radius:20px;background:#fff;box-shadow:0 8px 29px #1d2e4308;min-width:0}
.exec-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:21px}
.exec-kicker{font-size:9px;letter-spacing:.15em;font-weight:850;color:#a38d6d}
.exec-panel-head h2{font:850 clamp(16px,1.7vw,21px)/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:-.04em;color:#192f45;margin:7px 0 4px}
.exec-panel-head p{font-size:11px;color:#91a0ad;margin:0;line-height:1.6}
.exec-text-link{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;background:transparent;border:0;font-size:11px;font-weight:850;color:#4e6c85;padding:7px 0}
.exec-icon-link{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e5ebef;border-radius:10px;background:#fff;color:#6a7d91}
.exec-expense-head{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:14px 16px;background:#f7f9fa;border:1px solid #eff1f3;border-radius:13px;margin-bottom:17px}
.exec-expense-head>div{display:grid;gap:5px}.exec-expense-head span{font-size:10px;color:#8b9ba8;font-weight:800}.exec-expense-head strong{font:850 25px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.04em;color:#1d344c}
.exec-counter{background:#fff;padding:7px 10px;border-radius:99px;border:1px solid #e5e8ed;font-size:10px!important;color:#7b8b9b!important}
.exec-category-list{display:grid;gap:18px}
.exec-category-item{display:grid;gap:7px;min-width:0}
.exec-category-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.exec-category-name{display:flex;align-items:center;gap:9px;min-width:0}
.exec-category-name strong{font-size:12px;color:#324c63;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exec-category-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%}
.exec-category-value{font-size:12px;font-weight:850;color:#2b455e;white-space:nowrap}
.exec-progress-line{width:100%;height:8px;border-radius:999px;background:#eef1f3;overflow:hidden}
.exec-progress-line>span{display:block;height:100%;border-radius:999px;min-width:0}
.exec-percent{font-size:10px;color:#9aa5b0}
.exec-panel-foot{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid #edf0f2;margin-top:20px;padding-top:17px}
.exec-panel-foot button{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:#4d6982;font-size:11px;font-weight:850;padding:3px 0}
.exec-due-list{display:grid;gap:0}
.exec-due-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #edf1f3;min-width:0}
.exec-due-row:last-child{border-bottom:0}
.exec-due-symbol{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:11px;background:#eff2f5;color:#59748c}
.exec-due-symbol.soon{color:#a28250;background:#faf1e3}.exec-due-symbol.overdue{color:#b86c6f;background:#faeceb}
.exec-due-row>div{min-width:0;flex:1;display:grid;gap:5px}.exec-due-row strong{color:#2c4359;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exec-due-row small{color:#94a1ac;font-size:10px}
.exec-due-row>b{font-size:11px;color:#2b4359;white-space:nowrap}
.exec-due-total{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:18px;background:#f7f9fa;padding:14px 12px;border:1px solid #edf0f3;border-radius:12px}
.exec-due-total span{font-size:10px;color:#7d8da0;font-weight:750}.exec-due-total b{font-size:15px;color:#263b52;white-space:nowrap}
.exec-outline-btn{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #dce4eb;border-radius:11px;background:#fff;color:#3f5c74;font-size:11px;font-weight:850;margin-top:15px;min-height:41px;padding:10px;width:100%}
.exec-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.exec-source-tile{background:#fafbfd;border:1px solid #e7ebef;border-radius:15px;padding:17px;display:grid;gap:9px;min-width:0;position:relative;overflow:hidden}
.exec-source-tile:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--exec-source-color)}
.exec-source-name{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:5px}
.exec-source-initial{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;background:var(--exec-source-color);color:#fff;border-radius:10px;font:850 14px 'Plus Jakarta Sans',sans-serif}
.exec-source-name strong{font-size:12px;color:#344d63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exec-source-label{font-size:10px;color:#8a9ba8;font-weight:700}
.exec-source-tile>b{font:850 clamp(17px,1.8vw,23px)/1.3 'Plus Jakarta Sans',sans-serif;color:#243d52;letter-spacing:-.045em;overflow-wrap:anywhere}
.exec-source-foot{border-top:1px solid #e8edf0;padding-top:10px;display:flex;gap:7px;flex-wrap:wrap;justify-content:space-between}
.exec-source-foot span{color:#8a99a8;font-size:10px}
.exec-recent-list{display:grid}
.exec-recent-row{display:flex;align-items:center;gap:11px;padding:12px 3px;border-bottom:1px solid #edf1f3}
.exec-recent-row:last-child{border-bottom:0}
.exec-recent-symbol{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:12px}
.exec-recent-symbol.credit{background:#e8f4ec;color:#338366}.exec-recent-symbol.debit{background:#fbebed;color:#ba6e76}
.exec-recent-row>div{flex:1;display:grid;gap:4px;min-width:0}
.exec-recent-row strong{color:#2d465c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exec-recent-row small{font-size:10px;color:#92a0ae}
.exec-recent-row>b{font-size:12px;white-space:nowrap}.exec-recent-row>b.positive{color:#3c8b70}.exec-recent-row>b.negative{color:#ba747a}
.exec-empty{border:1px dashed #dce4eb;border-radius:13px;padding:22px;text-align:center;color:#8c9aa7;font-size:12px;line-height:1.7}
.exec-footer-links{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-start;border-top:1px solid #e4e9ed;padding-top:4px}
.exec-footer-links button{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;padding:10px 14px 10px 0;font-size:11px;font-weight:800;color:#60788e}
.layout.exec-shell .period-toolbar{flex-wrap:wrap;max-width:100%}

/* Telas existentes — tratamento editorial, guardando tabelas/formulários. */
.layout.exec-shell .money-overview{border-radius:20px;padding:25px}
.layout.exec-shell .money-account-details summary,.layout.exec-shell .money-details>summary{color:#425c75}
.layout.exec-shell .money-account-grid .fw-card{background:#fff!important;border-top-width:3px}
.layout.exec-shell .money-guide-grid>div{border-color:#e3e9ed}
.layout.exec-shell .money-action-row .btn{font-size:12px}
.layout.exec-shell .pagination button,.layout.exec-shell .period-pills button{font-family:'DM Sans',sans-serif}
.layout.exec-shell .guardian-v2,.layout.exec-shell .guardian-workspace{border-radius:20px}
.layout.exec-shell .auth-card{border-color:#e1e8ee}
.auth-hero{background-color:#172c42;background-image:linear-gradient(130deg,#121f32,#243e57)!important}
.auth-hero .brand-mark{background:#c7ac82!important;color:#1e3148!important}.auth-hero .brand .plus{color:#d6b888!important}

/* Mobile e tablet: navegação de verdade com abas inferiores. */
@media(max-width:1220px){
 .exec-hero{flex-wrap:wrap}
 .exec-hero-actions{justify-content:flex-start}
 .exec-first-row{grid-template-columns:minmax(0,1fr)}
 .exec-wallet{min-height:285px}
 .exec-metrics{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
 .exec-metric:last-child{grid-column:auto;display:block}
 .exec-metric:last-child p{grid-column:auto}
 .exec-middle-row{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}
 .exec-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .layout.exec-shell .top-date{display:none}
 .layout.exec-shell .exec-account-top{display:none}
 .exec-middle-row{grid-template-columns:minmax(0,1fr)}
 .exec-panel{padding:20px}
}
@media(max-width:720px){
 .layout.exec-shell .sidebar{display:flex;position:fixed;width:min(305px,86vw);z-index:91;inset:0 auto 0 0;transform:translateX(-108%);visibility:hidden;padding:17px 16px max(20px,env(safe-area-inset-bottom,0px));max-height:100dvh;box-shadow:10px 0 40px #06132070}
 .layout.exec-shell.menu-open .sidebar{visibility:visible;transform:translateX(0)}
 .layout.exec-shell .sidebar-mobile-head{display:flex;color:#899bad;padding:3px 8px 12px}
 .layout.exec-shell .menu-close{background:#25384e;color:#fff;border:1px solid #42556a}
 .layout.exec-shell .page{margin-left:0;width:100%}
 .layout.exec-shell .topbar,.layout.exec-shell.is-dashboard-page .topbar{height:64px;min-height:64px;padding:0 14px!important}
 .layout.exec-shell .menu-toggle{background:#f6f8fa;border:1px solid #e3e9ee;color:#294a64;border-radius:10px}
 .layout.exec-shell .breadcrumb{font-size:11px;gap:5px}
 .layout.exec-shell .breadcrumb b{font-size:12px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .layout.exec-shell .exec-top-logo{display:none}
 .layout.exec-shell .exec-new-btn{display:none}
 .layout.exec-shell .top-actions{gap:7px}
 .layout.exec-shell .top-actions .icon-btn{height:37px;min-height:37px;width:37px;min-width:37px}
 .layout.exec-shell .top-actions .icon-btn:last-child{display:none}
 .layout.exec-shell .content,.layout.exec-shell.is-dashboard-page .content{padding:15px 13px calc(105px + env(safe-area-inset-bottom,0px))!important}
 .layout.exec-shell .bottom-nav{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;
  bottom:0;left:0;right:0;width:100%;z-index:75;
  background:rgba(255,255,255,.985);border-top:1px solid #e2e8ed;
  padding:8px 5px calc(10px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -9px 30px #11283f0f;align-items:center;min-height:72px;gap:0;
 }
 .layout.exec-shell .bottom-nav .bottom-tab{min-width:0;display:grid;gap:5px;place-items:center;padding:8px 2px;color:#8291a1;background:transparent;border:0;border-radius:10px;font-size:9px;font-weight:850}
 .layout.exec-shell .bottom-nav .bottom-tab svg{width:19px;height:19px}
 .layout.exec-shell .bottom-nav .bottom-tab.active{color:#18354f;background:#eef2f5}
 .layout.exec-shell .bottom-nav .f5-bottom-add{width:47px;height:47px;min-height:47px;min-width:47px;margin:0 auto;display:grid;place-items:center;border-radius:15px;background:#18344e;color:#fff;border:0;box-shadow:0 7px 18px #142e4760}
 .layout.exec-shell .sidebar-scrim{display:none}
 .layout.exec-shell.menu-open .sidebar-scrim{display:block}
 .layout.exec-shell .floating-add{display:none!important}
 .layout.exec-shell .panel{padding:17px 15px}
 .layout.exec-shell .section-head{align-items:start;flex-wrap:wrap;margin-bottom:18px}
 .layout.exec-shell .page-title{font-size:27px}
 .layout.exec-shell .head-btns{gap:7px}
 .layout.exec-shell .head-btns .btn{min-height:42px;white-space:normal;text-align:center}
 .layout.exec-shell .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .layout.exec-shell .summary-grid .summary-tile{padding:14px}
 .layout.exec-shell .summary-tile strong{font-size:20px}
 .layout.exec-shell .modal{max-height:90dvh;border-radius:18px}
 .layout.exec-shell .executive-dashboard{gap:14px}
 .exec-hero{padding:21px 18px;border-radius:17px;gap:14px}
 .exec-hero h1{font-size:clamp(22px,5.5vw,29px)}
 .exec-hero-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .exec-hero-actions button{font-size:11px;min-height:42px;padding:9px}
 .exec-hero-actions .exec-guardian-action{grid-column:span 2}
 .exec-period{padding:6px 0 12px;gap:10px}
 .exec-period-label{min-width:0}
 .exec-period-controls{width:100%;justify-content:flex-start}
 .exec-period-controls .period-pills{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
 .exec-period-controls .period-pills button{padding:8px 1px;min-height:39px;font-size:10px}
 .exec-period-controls .dashboard-range{display:none}
 .exec-period-controls .dashboard-calendar{flex-wrap:wrap}
 .exec-first-row{gap:10px}
 .exec-wallet{min-height:285px;padding:20px 19px;border-radius:17px}
 .exec-wallet-amount{font-size:clamp(28px,7vw,42px);margin-top:16px}
 .exec-wallet-breakdown{gap:7px}
 .exec-wallet-breakdown>div{padding:10px}
 .exec-wallet-breakdown span{font-size:9px}
 .exec-wallet-breakdown strong{font-size:clamp(14px,3.8vw,19px)}
 .exec-wallet-footer button{font-size:10px}
 .exec-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .exec-metric{padding:15px;min-height:132px;border-radius:15px}
 .exec-metric:last-child{grid-column:span 2;min-height:105px}
 .exec-metric-top{margin-bottom:10px}
 .exec-metric>strong{font-size:clamp(18px,5vw,23px)}
 .exec-metric h2{font-size:10px}
 .exec-metric p{font-size:9px}
 .exec-actions-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .exec-actions-strip button{font-size:10px;padding:12px 10px;min-height:46px}
 .exec-panel{padding:18px 16px;border-radius:17px}
 .exec-panel-head{flex-wrap:wrap;margin-bottom:17px}
 .exec-panel-head h2{font-size:18px}
 .exec-due-row>b{font-size:11px}
 .exec-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .exec-source-tile{padding:13px}
 .exec-source-tile>b{font-size:clamp(15px,4.1vw,19px)}
 .exec-source-foot span{font-size:9px}
 .exec-recent-row{gap:8px}
 .exec-recent-row>b{font-size:11px}
 .exec-footer-links{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
}
@media(max-width:380px){
 .layout.exec-shell .breadcrumb b{max-width:95px}
 .exec-source-grid{grid-template-columns:minmax(0,1fr)}
 .exec-wallet-head{gap:7px}
 .exec-wallet-amount{font-size:29px}
 .exec-wallet-breakdown{grid-template-columns:1fr 1fr}
 .exec-wallet-breakdown strong{font-size:14px}
 .exec-panel-head p{font-size:10px}
 .exec-due-row>b{font-size:10px}
 .exec-metric>strong{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .layout.exec-shell button,.layout.exec-shell .sidebar{animation:none!important;transition:none!important}
}

/* Executive / Meu dinheiro: contas como registros bancários, em vez de grandes cartões de cores. */
.exec-money-page{max-width:1480px;margin:0 auto;min-width:0}
.exec-money-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr);gap:20px;background:linear-gradient(119deg,#15263b,#25415b);border-radius:20px;padding:27px 29px;color:#fff;box-shadow:0 14px 30px #1c304216;margin-bottom:25px}
.exec-money-hero-main>span{font-size:9px;color:#cab18b;letter-spacing:.13em;font-weight:850}
.exec-money-hero-main>strong{display:block;margin:12px 0 8px;font:850 clamp(30px,3.5vw,43px) 'Plus Jakarta Sans',sans-serif;letter-spacing:-.06em;overflow-wrap:anywhere}
.exec-money-hero-main>p{font-size:11px;line-height:1.55;color:#b5c6d8;margin:0}
.exec-money-hero-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
.exec-money-hero-split>div{border:1px solid #ffffff2a;border-radius:13px;padding:13px;background:#ffffff08;min-width:0}
.exec-money-hero-split span{font-size:10px;color:#c2cddb;display:block}
.exec-money-hero-split b{display:block;margin-top:9px;font:850 clamp(15px,1.65vw,22px) 'Plus Jakarta Sans',sans-serif;overflow-wrap:anywhere;letter-spacing:-.04em;color:#f5f9fb}
.exec-money-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(265px,.8fr);gap:20px;align-items:start}
.exec-money-primary,.exec-money-aside{display:grid;gap:16px;min-width:0}
.exec-money-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 0}
.exec-money-panel-head>div>span,.exec-money-kicker{font-size:9px;letter-spacing:.14em;color:#a38e6e;font-weight:850}
.exec-money-panel-head h2{font:850 20px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.04em;margin:7px 0 0;color:#253a50}
.exec-money-panel-head>small{font-size:11px;color:#91a0ad;font-weight:750}
.exec-money-panel-head>button{background:transparent;border:0;color:#4b6a82;font-size:11px;font-weight:850}
.exec-bank-list{display:grid;gap:11px}
.exec-bank-row{--bank-color:#405c77;background:#fff;border:1px solid #e4e9ef;border-left:4px solid var(--bank-color);border-radius:15px;box-shadow:0 5px 20px #20344908;overflow:hidden}
.exec-bank-row.exec-bank-nubank{--bank-color:#8658ab}
.exec-bank-row.exec-bank-mercado{--bank-color:#3b85b2}
.exec-bank-row.exec-bank-inter{--bank-color:#ce8847}
.exec-bank-row.exec-bank-cash{--bank-color:#538d6c}
.exec-bank-summary{display:flex;align-items:center;gap:12px;padding:17px 20px;min-width:0}
.exec-bank-sign{flex:0 0 41px;width:41px;height:41px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--bank-color) 12%,white);color:var(--bank-color)}
.exec-bank-title{min-width:0;flex:1;display:grid;gap:5px}
.exec-bank-title strong{font-size:13px;color:#2a4157;font-weight:850;overflow-wrap:anywhere}
.exec-bank-title small{font-size:10px;color:#9ba7b2}
.exec-bank-balance{margin-left:auto;text-align:right;min-width:0;display:grid;gap:5px}
.exec-bank-balance small{font-size:9px;letter-spacing:.05em;color:#9ba7b2;font-weight:850}
.exec-bank-balance strong{font:850 clamp(16px,1.9vw,24px) 'Plus Jakarta Sans',sans-serif;color:#263c52;white-space:nowrap;letter-spacing:-.05em}
.exec-bank-edit{border-top:1px solid #ebeff2;background:#fafbfd;padding:0 20px}
.exec-bank-edit summary{padding:11px 0;font-size:11px;font-weight:850;color:#526f86;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none}
.exec-bank-edit summary::-webkit-details-marker{display:none}
.exec-bank-edit .fw-set-form{padding:9px 0 15px;border:0}
.exec-bank-edit .fw-set-form p,.exec-bank-hint{font-size:11px;color:#8193a3;line-height:1.6}
.exec-bank-edit .fw-set-form label{font-size:11px;color:#3d596e;font-weight:800}
.exec-bank-edit .fw-form-line{display:flex;align-items:stretch;gap:10px}
.exec-bank-edit .fw-form-line input{min-width:0;width:100%;max-width:100%;flex:1;height:43px;padding:10px 12px}
.exec-bank-edit .fw-form-line .btn{flex:0 0 auto;min-height:43px;max-width:none}
.exec-bank-hint{padding:0 20px 13px;margin:0}
.exec-money-panel{background:#fff;border:1px solid #e3e9ee;border-radius:17px;padding:20px;min-width:0;box-shadow:0 7px 24px #19304707}
.exec-cash-card{background:#f2f5f2;border-color:#e0e9e2;padding:24px}
.exec-cash-card .exec-cash-icon{margin:13px 0;background:#e2ece4;color:#5b8268;display:grid;place-items:center;width:44px;height:44px;border-radius:13px}
.exec-cash-card h2{font:850 17px 'Plus Jakarta Sans',sans-serif;color:#354e43;margin:0 0 7px}
.exec-cash-card>strong{font:850 clamp(25px,2.4vw,33px) 'Plus Jakarta Sans',sans-serif;color:#355c44;letter-spacing:-.045em;overflow-wrap:anywhere}
.exec-cash-card p{font-size:11px;line-height:1.65;color:#718578;margin:12px 0 0}
.exec-money-actions{display:grid;gap:9px}
.exec-money-actions button{display:flex;align-items:center;gap:11px;min-height:44px;padding:11px 13px;text-align:left;border:1px solid #e4e9ed;border-radius:11px;background:#fafbfc;color:#3b5269;font-size:11px;font-weight:850;line-height:1.4}
.exec-money-actions button:hover{background:#f1f5f7}
.exec-money-actions button svg{color:#a28b6c}
.exec-money-note{font-size:10px;color:#8f9ca7;line-height:1.6;margin:14px 0 0}
.exec-money-reconcile .fw-reconciliation{margin:0}
.exec-money-collapse{border:1px solid #e2e8ee;border-radius:14px;background:#fff;padding:13px 16px}
.exec-money-collapse>summary{cursor:pointer;color:#486981;font-weight:850;font-size:12px}
.exec-money-collapse>.panel{box-shadow:none!important;margin:14px 0 0!important;padding:15px!important}
.exec-money-new .fw-new .btn{margin-top:10px}
.exec-cash-history{display:grid;gap:0;margin-top:15px}
.exec-cash-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf0f2}
.exec-cash-row:last-child{border:0}
.exec-cash-row>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px}
.exec-cash-row .plus{background:#e7f3eb;color:#4a8968}.exec-cash-row .minus{background:#faedf0;color:#ba737b}
.exec-cash-row>div{min-width:0;flex:1}.exec-cash-row strong{display:block;font-size:12px;color:#385169}.exec-cash-row small{display:block;font-size:10px;color:#9aa7b2;margin-top:4px}
.exec-cash-row>b{font-size:12px;white-space:nowrap;color:#31556a}
.exec-money-empty{font-size:12px;color:#9aa6b1;padding:10px 0}
.exec-money-bottom-note{font-size:11px;color:#8d9ca8;margin:24px 0 0;line-height:1.6}
@media(max-width:1200px){.exec-money-columns{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}.exec-money-hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.exec-money-columns{grid-template-columns:minmax(0,1fr)}.exec-money-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.exec-money-aside .exec-money-new{grid-column:1/-1}}
@media(max-width:720px){.exec-money-hero{padding:22px 19px;gap:18px;margin-bottom:16px}.exec-money-hero-split{gap:8px}.exec-money-hero-split>div{padding:12px}.exec-money-hero-split b{font-size:17px}.exec-money-aside{grid-template-columns:minmax(0,1fr)}.exec-money-aside .exec-money-new{grid-column:auto}.exec-bank-summary{padding:13px 12px;gap:9px}.exec-bank-sign{width:35px;height:35px;flex-basis:35px}.exec-bank-balance strong{font-size:clamp(15px,4.1vw,21px)}.exec-bank-balance small{font-size:8px}.exec-bank-edit{padding:0 12px}.exec-bank-edit .fw-form-line{flex-wrap:wrap}.exec-bank-edit .fw-form-line .btn{flex:1 1 auto}.exec-money-panel-head h2{font-size:18px}.exec-money-panel{padding:17px 15px}}
@media(max-width:380px){.exec-bank-summary{flex-wrap:wrap}.exec-bank-title{flex:1 1 calc(100% - 50px)}.exec-bank-balance{margin:8px 0 0 44px;flex:1 1 auto;text-align:left}.exec-money-hero-split{grid-template-columns:1fr}.exec-money-hero-split>div{padding:10px}}

/* Integridade visual de controles flutuantes e telas estreitas. */
body:has(.exec-shell) #cloud-chip{top:auto!important;right:17px!important;bottom:21px!important;z-index:55!important;background:#fff!important;border:1px solid #dce5ec!important;color:#4e6b81!important;box-shadow:0 6px 17px #172d4320!important}
body:has(.exec-shell) #cloud-chip.err{color:#ad5c61!important;border-color:#d4aaaa!important}
body:has(.exec-shell) #gv-dock{left:270px;bottom:24px}
body:has(.exec-shell) #gv-dock .gv-trigger{background:linear-gradient(145deg,#253b51,#132a40);color:#ead9bd;border:1px solid #d4b88f;box-shadow:0 9px 22px #0b1f3550}
body:has(.exec-shell) #gv-dock .gv-panel{border:1px solid #dce5eb;box-shadow:0 18px 55px #13273e3d}
@media(max-width:720px){
 body:has(.exec-shell) #cloud-chip{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;right:10px!important;font-size:9px!important}
 body:has(.exec-shell) #gv-dock{left:11px;bottom:calc(92px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:440px){
 .layout.exec-shell .breadcrumb>span:nth-child(2),.layout.exec-shell .exec-top-separator{display:none}
 .layout.exec-shell .breadcrumb b{max-width:146px;font-size:12px}
 .layout.exec-shell .topbar{gap:8px}
 .layout.exec-shell .top-actions{gap:5px}
 .layout.exec-shell .top-actions .icon-btn{width:34px;min-width:34px;height:36px;min-height:36px}
}
