/* Controle de Gastos — isolado dos demais painéis, sem alterar rolagem global */
.sm-expenses{display:grid;gap:22px;color:#e7f5f6;max-width:100%;min-width:0}.sm-expenses *{box-sizing:border-box}.sm-expenses-lead,.sm-expenses-panel,.sm-expenses-lock,.sm-expenses-stats>div{border:1px solid #295262;background:linear-gradient(145deg,#123241,#0b2534);border-radius:22px;padding:24px;min-width:0}.sm-expenses-lead{background:radial-gradient(ellipse at right top,#205d50,#102f3e 57%,#092638)}.sm-expenses-lead h2{color:#f4fff9;font-size:clamp(24px,3vw,35px);letter-spacing:-.8px;margin:10px 0}.sm-expenses-lead h2 em{font-style:normal;color:#75edbd}.sm-expenses-lead p,.sm-expenses-lock p{font-size:13px;line-height:1.75;color:#b5d0d2;max-width:780px}.sm-expenses-kicker{font-weight:850;letter-spacing:1.5px;font-size:10px;color:#7fe9bf}.sm-expenses-lock{display:grid;justify-items:start;gap:15px}.sm-expenses-lock h3{font-size:24px;color:#f1fff8;margin:0}.sm-expenses-lock .sm-expenses-lock-glyph{display:grid;place-items:center;width:55px;height:55px;border-radius:15px;background:#164a45;color:#8cf4c7;font-size:28px}.sm-expenses-preview{width:100%;border:1px solid #355d61;border-radius:16px;padding:18px;color:#b8cbd3;max-width:590px}.sm-expenses-preview>span{font-size:13px;font-weight:750}.sm-expenses-preview>div{height:100px;display:flex;align-items:end;gap:12px;margin-block:12px}.sm-expenses-preview i{background:linear-gradient(#85edc5,#199c7a);border-radius:6px 6px 0 0;flex:1}.sm-expenses-preview small{font-size:11px;color:#819fad}.sm-expenses-note{color:#a0b8bf;font-size:11px;line-height:1.7}.sm-expenses-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;color:#d5e9e9;font-weight:700;font-size:13px}.sm-expenses-toolbar select,.sm-expenses-form input,.sm-expenses-form select{background:#0b2738;border:1px solid #386070;border-radius:12px;color:#f0fff9;padding:12px 14px;font:inherit;min-height:45px;max-width:100%;width:100%}.sm-expenses-toolbar select{width:min(240px,100%)}.sm-expenses-toolbar>span{color:#89adb5;font-size:11px;font-weight:500}.sm-expenses-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sm-expenses-stats>div{display:grid;gap:13px}.sm-expenses-stats small{color:#9dbdc4;font-size:11px}.sm-expenses-stats strong{font-size:clamp(18px,2vw,29px);letter-spacing:-.6px;color:#dcfff0;overflow-wrap:anywhere}.sm-expenses-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sm-expenses-panel h3{font-size:17px;color:#f2fff9;margin:0}.sm-expenses-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sm-expenses-panel-head p{color:#98b9bf;font-size:11px;margin:5px 0 0}.sm-expenses-legend{display:flex;align-items:center;gap:7px;font-size:11px;color:#9ac5b9}.sm-expenses-legend i{width:8px;height:8px;border-radius:50%;background:#63e8b5}.sm-expenses-chart-wrap{max-width:100%;overflow-x:auto;padding-bottom:6px}.sm-expenses-chart{display:flex;align-items:flex-end;gap:10px;min-height:215px;width:max-content;min-width:100%;padding-top:30px}.sm-expenses-bar-group{min-width:42px;flex:1;max-width:95px;display:flex;flex-direction:column;gap:10px;align-items:center;color:#a7bbc5}.sm-expenses-bar-group strong{font-size:10px;text-align:center;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b7e9d4}.sm-expenses-bar-base{height:130px;width:100%;display:flex;align-items:end;border-bottom:1px solid #41646a}.sm-expenses-bar{width:80%;margin-inline:auto;background:linear-gradient(180deg,#85efbf,#159876);border-radius:6px 6px 0 0}.sm-expenses-bar-group small{font-size:10px}.sm-expenses-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sm-expenses-categories{display:grid;gap:18px}.sm-expenses-category{display:grid;gap:7px}.sm-expenses-category>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px}.sm-expenses-category span{color:#a5d3c0}.sm-expenses-category>div:last-child{height:8px;border-radius:99px;background:#1b4751;overflow:hidden}.sm-expenses-category i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#119677,#71e6b2)}.sm-expenses-form{display:grid;gap:14px}.sm-expenses-form label{display:grid;gap:8px;color:#c5dbdc;font-size:12px;font-weight:700}.sm-expenses-form input:focus,.sm-expenses-form select:focus{outline:2px solid #67d9ab;outline-offset:2px}.sm-expenses-form-actions{display:flex;gap:9px;flex-wrap:wrap}.sm-expenses-form-actions .btn{flex:1}.sm-expenses-list{display:grid;gap:1px}.sm-expenses-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #254957}.sm-expenses-item>div:first-child{min-width:0;display:grid;gap:6px}.sm-expenses-item strong{font-size:12px;color:#f0fff9}.sm-expenses-item span{color:#9eb6bd;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.sm-expenses-item-right{display:grid;justify-items:end;gap:7px;flex-shrink:0}.sm-expenses-item-right>span{display:flex;gap:12px}.sm-expenses-item-right button{background:transparent;border:0;color:#81ddb2;cursor:pointer;font:inherit;font-size:11px;padding:3px}.sm-expenses-item-right button:last-child{color:#f6ae9e}.sm-expenses-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:17px;font-size:11px;color:#a5bfca}.sm-expenses-pager>div{display:flex;gap:8px}.sm-expenses-empty{font-size:12px;color:#adc3cb;line-height:1.65;padding:14px 0}.sm-expenses button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:940px){.sm-expenses-columns{grid-template-columns:1fr}}@media(max-width:640px){.sm-expenses{gap:14px}.sm-expenses-lead,.sm-expenses-panel,.sm-expenses-lock,.sm-expenses-stats>div{padding:17px;border-radius:16px}.sm-expenses-stats{gap:8px}.sm-expenses-stats strong{font-size:17px}.sm-expenses-stats small{font-size:9px}.sm-expenses-bar-group{min-width:41px}.sm-expenses-item-right{flex-shrink:0}.sm-expenses-item-right strong{font-size:11px}.sm-expenses-toolbar{display:grid}.sm-expenses-toolbar select{width:100%}}

.sm-expenses-breakdown{margin-top:16px;border-top:1px solid #285462;padding-top:14px}.sm-expenses-breakdown summary{cursor:pointer;font-size:12px;color:#a5efcd;font-weight:700}.sm-expenses-breakdown>div{display:grid;gap:4px;padding-top:12px}.sm-expenses-breakdown>div>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #244957;font-size:11px;color:#a4bdc5}.sm-expenses-breakdown strong{color:#effff6}.sm-expenses-stats strong{overflow-wrap:normal}
@media(max-width:640px){.sm-expenses-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-expenses-stats>div:first-child{grid-column:1/-1}.sm-expenses-stats>div:first-child strong{font-size:25px}.sm-expenses-stats>div:not(:first-child) strong{font-size:19px}}


/* Visão geral — resumo premium de despesas (sem tocar nos gráficos de metas). */
.overview-head-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:600px}
.overview-head-actions .btn{min-width:0!important;width:100%;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;font-weight:800}
.expense-quick-btn{background:linear-gradient(105deg,#842c38,#af414c)!important;border:1px solid #bb5864!important;color:#fff8f8!important;box-shadow:0 12px 24px rgba(113,24,39,.27)}
.expense-quick-btn:hover,.expense-quick-btn:focus-visible{background:linear-gradient(105deg,#91313e,#bd4854)!important;border-color:#d4757e!important;color:#fff!important;box-shadow:0 14px 28px rgba(113,24,39,.34)}
.expense-quick-btn:active{background:linear-gradient(105deg,#722630,#9a3844)!important;transform:translateY(1px)}
.expense-quick-btn:focus-visible{outline:3px solid #f9c7ca;outline-offset:2px}
.expense-overview-shell.card{border:1px solid #326070;background:radial-gradient(ellipse at top right,rgba(38,122,105,.19),transparent 58%),linear-gradient(145deg,#102d3c,#0d2535);padding:24px;margin:0 0 25px;border-radius:23px;box-shadow:0 14px 35px rgba(0,0,0,.12);color:#e7f5f4}
.expense-shell-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:19px}
.expense-shell-copy{max-width:720px}.expense-shell-copy .eyebrow{color:#77e5bb;font-size:10px;font-weight:900;letter-spacing:1.8px}
.expense-shell-copy h2{font-size:clamp(21px,2.3vw,28px);line-height:1.25;letter-spacing:-.65px;margin:9px 0;color:#f3fdf8}
.expense-shell-copy p{font-size:12.8px;line-height:1.7;color:#afcbd2}
.expense-shell-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.expense-shell-actions .btn{min-height:40px;border-radius:11px;font-weight:750}
.expense-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.expense-overview-card{border:1px solid #345969;border-radius:17px;padding:18px;background:#132f40;display:flex;flex-direction:column;gap:8px;min-height:151px;min-width:0;box-shadow:none}
.expense-overview-card small{font-size:10px;font-weight:800;letter-spacing:.65px;color:#9bb9c4;text-transform:uppercase}
.expense-overview-card strong{font-size:clamp(19px,2vw,26px);line-height:1.25;letter-spacing:-.65px;color:#f2fffa;overflow-wrap:anywhere}
.expense-overview-card span{font-size:11px;line-height:1.6;color:#a0bdc6}
.expense-overview-card.accent{background:linear-gradient(135deg,#126454,#15483f);border-color:#318b75}
.expense-overview-card.accent small,.expense-overview-card.accent span{color:#c0e8d8}.expense-overview-card.accent strong{color:#fff}
.expense-overview-note{margin-top:15px;padding:12px 14px;border-radius:12px;background:#123b43;color:#b1d5d5;font-size:11px;line-height:1.65}
.expense-overview-chart{margin-top:15px;background:#102c3c;border:1px solid #2f5361;border-radius:16px;padding:16px 18px}
.expense-overview-chart-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.expense-overview-chart-title strong{color:#eafcf5;font-size:13px}.expense-overview-chart-title small{color:#8eb3ba;font-size:10px}
.expense-mini-chart{display:flex;justify-content:space-around;gap:14px;align-items:flex-end;height:104px;margin-top:16px}
.expense-mini-column{min-width:0;display:flex;flex:1;flex-direction:column;align-items:center;gap:5px}
.expense-mini-column small{color:#93b0bc;font-size:10px}.expense-mini-bar-track{height:77px;width:min(52px,100%);border-bottom:1px solid #3f6571;display:flex;align-items:flex-end;justify-content:center}
.expense-mini-bar-track i{display:block;background:linear-gradient(180deg,#88e9c0,#1c9c80);border-radius:6px 6px 0 0;width:min(28px,78%);min-height:2px}
.expense-overview-error{display:grid;gap:9px;padding:18px;border:1px solid #7e5548;background:#352f31;border-radius:15px;color:#ffbca9}.expense-overview-error span{color:#ddc6c2;font-size:12px}
@media(max-width:1180px){.expense-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-shell-head{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.overview-head-actions{grid-template-columns:1fr;max-width:none}.overview-head-actions .btn{min-height:48px}.expense-overview-shell.card{padding:17px;border-radius:20px}.expense-shell-copy h2{font-size:21px}.expense-shell-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.expense-shell-actions .btn{min-width:0;font-size:11px;white-space:normal}.expense-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.expense-overview-card{padding:13px;min-height:121px;border-radius:13px}.expense-overview-card strong{font-size:clamp(17px,4.1vw,22px)}.expense-overview-card small{font-size:9px}.expense-overview-card span{font-size:10px}.expense-overview-chart{padding:13px}.expense-mini-chart{gap:6px}}
@media(max-width:355px){.expense-shell-actions{grid-template-columns:1fr}.expense-overview-card strong{font-size:16px}.expense-overview-card{padding:11px}}

/* Pizza de gastos: composição por categoria, dados do próprio cliente. */
.expense-overview-pie-card{min-height:218px;overflow:hidden}
.expense-category-chart{display:flex;align-items:center;gap:14px;min-width:0;margin-top:4px}
.expense-donut{position:relative;display:grid;place-items:center;width:114px;height:114px;flex:0 0 114px;aspect-ratio:1;border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.expense-donut:before{content:'';position:absolute;inset:17px;border-radius:50%;background:#164b43}
.expense-donut-core{position:relative;z-index:1;display:grid;place-content:center;text-align:center;gap:3px}
.expense-donut-core small{color:#c0e8d8;font-size:9px;text-transform:none;letter-spacing:0;font-weight:600}
.expense-donut-core strong{color:#f4fff9;font-size:21px;font-weight:900;letter-spacing:-.7px}
.expense-donut.is-empty,.expense-donut.is-loading{background:conic-gradient(#315e58 0 100%)}
.expense-category-detail{flex:1;min-width:0;display:grid;gap:3px;align-content:center}
.expense-category-detail>strong{font-size:14px;color:#ecfff9;overflow-wrap:anywhere}
.expense-category-detail>small{font-size:12px;color:#b7eee0}
.expense-category-detail ul{padding:0;margin:8px 0 0;list-style:none;display:grid;gap:5px;min-width:0}
.expense-category-detail li{display:flex;align-items:center;gap:5px;min-width:0;font-size:10px;color:#dcf7f0}
.expense-category-detail li i{height:8px;width:8px;flex:0 0 8px;border-radius:50%}
.expense-category-detail li span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.expense-category-detail li strong{font-size:10px;color:#fff;white-space:nowrap}
.expense-category-more{font-size:10px;color:#abdaca}
.expense-category-chart.empty{display:grid;justify-items:center;align-content:center;gap:8px}
.expense-category-chart.empty p{color:#bbe0d5;font-size:11px;line-height:1.6;text-align:center}
@media(max-width:1200px){.expense-category-chart{flex-direction:column}.expense-category-detail{width:100%}.expense-donut{width:108px;height:108px;flex-basis:108px}.expense-category-detail ul{width:100%}}
@media(max-width:680px){.expense-overview-pie-card{min-height:235px}.expense-donut{width:96px;height:96px;flex-basis:96px}.expense-donut:before{inset:14px}.expense-category-detail ul{gap:3px}.expense-category-detail li{font-size:9px}.expense-category-detail>strong{font-size:13px}}


/* Dashboard premium: resumo enxuto, receitas e gastos com identificação visual. */
.expense-overview-shell.card{padding:17px 20px;margin-bottom:18px;background:linear-gradient(145deg,#102b3a,#0d2533);border:1px solid #315461;border-radius:19px}
.expense-shell-head{margin-bottom:12px;align-items:center}
.expense-shell-copy h2{font-size:clamp(18px,2vw,22px);line-height:1.2;margin:6px 0}
.expense-shell-copy p{font-size:11.5px;line-height:1.55;max-width:540px}
.expense-overview-grid{gap:10px}
.expense-overview-card{min-height:103px;padding:13px 15px;border-radius:14px;gap:5px}
.expense-overview-card strong{font-size:clamp(18px,2vw,23px)}
.expense-overview-card span{font-size:10.5px;line-height:1.4}
.expense-overview-card.expense-month-card{background:linear-gradient(145deg,#4a2530,#3a2630);border-color:#98505b}
.expense-overview-card.expense-month-card small{color:#efb2b9}
.expense-overview-card.expense-month-card strong{color:#ff8795}
.expense-overview-card.expense-month-card span{color:#f1bec3}
.expense-overview-card.accent.expense-overview-pie-card{background:#fff;border:1px solid #e1e9ee;box-shadow:0 5px 18px rgba(0,0,0,.1);color:#203b49;min-height:147px}
.expense-overview-pie-card>small{color:#53707a!important}
.expense-overview-pie-card .expense-category-chart{margin-top:5px;gap:11px}
.expense-overview-pie-card .expense-donut{width:97px;height:97px;flex-basis:97px;box-shadow:0 8px 24px rgba(43,72,89,.13)}
.expense-overview-pie-card .expense-donut:before{inset:15px;background:#fff}
.expense-overview-pie-card .expense-donut-core small{color:#56707b!important}
.expense-overview-pie-card .expense-donut-core strong{color:#173745!important;font-size:20px}
.expense-overview-pie-card .expense-donut.is-empty,.expense-overview-pie-card .expense-donut.is-loading{background:#e2ecf2}
.expense-overview-pie-card .expense-category-detail>strong{color:#1d3d4b!important}
.expense-overview-pie-card .expense-category-detail>small{color:#51717e!important}
.expense-overview-pie-card .expense-category-detail li{color:#385b67!important}
.expense-overview-pie-card .expense-category-detail li span{color:#385b67!important}
.expense-overview-pie-card .expense-category-detail li strong{color:#153d4b!important}
.expense-overview-pie-card .expense-category-more,.expense-overview-pie-card .expense-category-chart.empty p{color:#647e89!important}
.expense-overview-chart{margin-top:11px;padding:12px 14px;border-radius:13px}
.expense-mini-chart{min-height:105px!important;max-height:128px}
.expense-overview-note{padding:10px 12px;margin-top:10px;font-size:10px}
@media(max-width:1180px){.expense-overview-pie-card .expense-category-chart{flex-direction:row}.expense-overview-pie-card .expense-category-detail{width:auto}}
@media(max-width:680px){.expense-overview-shell.card{padding:14px;border-radius:17px}.expense-shell-copy h2{font-size:19px}.expense-overview-grid{gap:9px}.expense-overview-card{min-height:96px;padding:12px;gap:6px}.expense-overview-card.expense-overview-pie-card{min-height:190px}.expense-overview-pie-card .expense-category-chart{flex-direction:column;gap:7px}.expense-overview-pie-card .expense-category-detail{width:100%}.expense-overview-pie-card .expense-donut{width:91px;height:91px;flex-basis:91px}.expense-overview-pie-card .expense-donut:before{inset:13px}.expense-overview-pie-card .expense-category-detail li{font-size:9px}.expense-overview-chart{padding:12px}.expense-mini-chart{min-height:100px!important}}
@media(max-width:360px){.expense-overview-grid{grid-template-columns:1fr 1fr}.expense-overview-card{padding:10px}.expense-overview-card strong{font-size:17px}}
/* Layout compacto sem card vazio ao lado da pizza no celular. */
@media(max-width:680px){
 .expense-overview-grid>.expense-overview-card:nth-child(3){grid-column:1/-1;min-height:75px}
 .expense-overview-card.expense-overview-pie-card{grid-column:1/-1;min-height:0}
 .expense-overview-pie-card .expense-category-chart{flex-direction:row;align-items:center;gap:15px}
 .expense-overview-pie-card .expense-category-detail{width:auto;flex:1}
 .expense-overview-pie-card .expense-donut{width:104px;height:104px;flex-basis:104px}
 .expense-overview-pie-card .expense-donut:before{inset:15px}
}
@media(max-width:350px){
 .expense-overview-pie-card .expense-category-chart{gap:9px}
 .expense-overview-pie-card .expense-donut{width:89px;height:89px;flex-basis:89px}
 .expense-overview-pie-card .expense-category-detail li{font-size:9px}
}

/* Correção do centro da pizza em telas pequenas: textos não ultrapassam o furo. */
.expense-overview-pie-card .expense-donut{width:120px!important;height:120px!important;flex:0 0 120px!important;min-width:120px;max-width:120px;aspect-ratio:1;isolation:isolate;overflow:hidden}
.expense-overview-pie-card .expense-donut:before{inset:15px!important;border-radius:50%;background:#fff}
.expense-overview-pie-card .expense-donut-core{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:calc(100% - 34px);height:calc(100% - 34px);min-width:0;max-width:calc(100% - 34px);max-height:calc(100% - 34px);margin:auto;overflow:hidden;text-align:center}
.expense-overview-pie-card .expense-donut-core small{display:block;max-width:100%;margin:0;font-size:8.5px!important;font-weight:700!important;letter-spacing:0!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:break-word;text-align:center;color:#52707b!important}
.expense-overview-pie-card .expense-donut-core strong{display:block;max-width:100%;font-size:20px!important;letter-spacing:-.7px;line-height:1.2!important;white-space:nowrap;font-variant-numeric:tabular-nums;color:#173745!important}
@media(max-width:680px){.expense-overview-pie-card .expense-category-chart{display:flex;align-items:center;gap:12px;min-width:0}.expense-overview-pie-card .expense-donut{width:116px!important;height:116px!important;flex-basis:116px!important;min-width:116px;max-width:116px}.expense-overview-pie-card .expense-category-detail{flex:1;min-width:0}}
@media(max-width:380px){.expense-overview-pie-card .expense-donut{width:108px!important;height:108px!important;flex-basis:108px!important;min-width:108px;max-width:108px}.expense-overview-pie-card .expense-donut:before{inset:13px!important}.expense-overview-pie-card .expense-donut-core{width:calc(100% - 30px);height:calc(100% - 30px);max-width:calc(100% - 30px);max-height:calc(100% - 30px)}}

/* Vermelho para gastos em todos os gráficos de despesas. Categorias mantêm
   suas próprias cores no gráfico circular de distribuição. */
.sm-expenses .sm-expenses-bar{background:linear-gradient(180deg,#f18e97,#ba3c50)}
.sm-expenses .sm-expenses-legend i{background:#de596b}
.expense-overview-chart .expense-mini-bar-track i{background:linear-gradient(180deg,#f18e97,#ba3c50)}
