@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:where([hidden]){display:none!important}
:root{font-family:'DM Sans',sans-serif;color:#1b2926;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--green:#116b52;--deep:#104c3e;--mint:#e6f3ee;--line:#e8ecea;--muted:#798681;--paper:#fff;--shadow:0 8px 28px #21382d0a}*{box-sizing:border-box}body{margin:0;min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1080px)/2),24px);position:sticky;top:0;z-index:3}.brand{text-decoration:none;color:#1b2926;font-family:Manrope,sans-serif;font-size:16px;font-weight:700;display:flex;align-items:center;gap:9px}.brand b{font-weight:500;color:#586761}.brand-mark{width:29px;height:29px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center}.user-tools{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:13px}.shell{max-width:1080px;padding:35px 24px 75px;margin:auto}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:32px;overflow:auto}.tab{padding:11px 16px;background:none;border:0;color:var(--muted);font:600 14px inherit;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-bottom-color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:30px;line-height:1.2;margin-bottom:8px;letter-spacing:-.7px}h2{font-size:19px;margin-bottom:0;letter-spacing:-.25px}.eyebrow{font-size:10px;letter-spacing:1.3px;font-weight:700;color:#688177;margin-bottom:9px}.muted{color:var(--muted);font-size:13px}.welcome,.page-title,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.welcome{margin-bottom:24px}.primary,.secondary,.quiet,.today-button{border:0;border-radius:9px;padding:11px 15px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.primary{background:var(--green);color:white;box-shadow:0 3px 7px #116b5220}.primary:hover{background:var(--deep)}.secondary{background:#eff2f0;color:#394842}.quiet,.link-button{background:none;color:var(--green);padding:8px}.today-button{background:transparent;color:var(--green);padding:6px 10px}.month-heading{display:flex;align-items:center;gap:8px;margin-bottom:15px}.month-heading h2{min-width:145px;text-transform:capitalize;font-size:17px}.icon-button{border:1px solid var(--line);background:white;color:#486057;border-radius:9px;width:35px;height:35px;display:grid;place-items:center;font-size:23px;line-height:1;cursor:pointer}.summary-card{background:linear-gradient(115deg,#124e40,#17735a);border-radius:15px;padding:24px 27px;color:white;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow)}.summary-card span{font-size:13px;color:#c7e2d8}.summary-card strong{font:800 34px Manrope,sans-serif;letter-spacing:-1px}.summary-card small{font-size:11px;color:#b8d7cb}.breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:13px 0 32px}.metric,.card,.month-item,.settings-item,.entry-group,.entry-row,.card-metric{background:white;border:1px solid var(--line);border-radius:12px}.metric{padding:15px 16px}.metric span,.metric strong{display:block}.metric span{font-size:11px;color:var(--muted);margin-bottom:8px}.metric strong{font:700 16px Manrope,sans-serif}.section-heading{margin:31px 0 14px}.section-heading .muted{margin:5px 0 0}.month-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.month-item{padding:15px 17px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;color:inherit;font:inherit}.month-item:hover,.month-item.selected{border-color:#82bba5;background:#f8fcfa}.month-item span{font-size:13px;text-transform:capitalize}.month-item strong{font:700 14px Manrope,sans-serif}.card-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.card-metric{padding:15px}.card-metric>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.card-metric strong{font:700 15px Manrope,sans-serif;display:block;margin-top:10px}.card-metric small{color:var(--muted);font-size:11px}.progress{height:5px;background:#edf1ef;border-radius:9px;margin-top:9px;overflow:hidden}.progress i{display:block;height:100%;background:#218267;border-radius:9px}.entry-group{margin-bottom:12px;overflow:hidden}.group-title{padding:13px 16px;background:#fafbfa;font-size:12px;font-weight:700;color:#53655d;display:flex;justify-content:space-between}.entry-row{border:0;border-top:1px solid #edf0ef;border-radius:0;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.entry-name{font-size:13px;font-weight:600}.entry-meta{font-size:11px;color:var(--muted);margin-top:4px}.entry-side{text-align:right;white-space:nowrap}.entry-amount{font:700 13px Manrope,sans-serif}.pill{display:inline-block;border-radius:20px;background:#edf6f1;color:#267451;font-size:10px;padding:4px 8px;margin-top:5px}.pill.paid{background:#f0f2f1;color:#66736e}.row-actions{display:flex;gap:4px;margin-left:9px}.row-actions button{background:none;border:0;color:#78857f;cursor:pointer;font-size:12px;padding:4px}.page-title{margin-bottom:20px}.page-title h1{margin:0}.filter-row{display:flex;gap:10px;margin-bottom:17px}.filter-row input,.filter-row select{width:auto}input,select,textarea{width:100%;font:14px 'DM Sans',sans-serif;color:#23342e;padding:11px 12px;border:1px solid #dce3df;border-radius:8px;background:white;outline:none}input:focus,select:focus,textarea:focus{border-color:#63a98e;box-shadow:0 0 0 3px #5bad8a1a}label{display:block;font-size:12px;font-weight:600;color:#53635c;margin-bottom:13px}label input,label select,label textarea{display:block;margin-top:6px;font-weight:400}.settings-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.settings-item{padding:17px;display:flex;justify-content:space-between;align-items:center;gap:14px}.settings-item h3{font-size:14px;margin:0 0 5px}.settings-item p{font-size:12px;color:var(--muted);margin:0}.settings-actions{display:flex;align-items:center;gap:4px}.settings-actions button{border:0;background:none;color:var(--green);cursor:pointer;font-size:12px}.settings-actions button.danger{color:#a45050}.empty{padding:25px;text-align:center;color:var(--muted);font-size:13px;background:white;border:1px dashed #dce4df;border-radius:12px}.empty b{display:block;color:#44584f;margin-bottom:5px}.auth,.setup{max-width:425px;margin:55px auto;padding:30px}.auth h1,.setup h1{font-size:25px}.auth form{margin-top:22px}.wide{width:100%;margin-top:7px}.link-button{display:block;margin:15px auto 0;font-size:13px;cursor:pointer}.message{font-size:12px;color:#a04444;min-height:15px;margin:8px 0 0}.setup code{display:block;white-space:normal;word-break:break-word;background:#f0f4f2;padding:12px;border-radius:8px;font-size:12px}.dialog-form{padding:24px;width:min(100%,500px)}dialog{border:0;border-radius:16px;padding:0;width:min(94vw,500px);box-shadow:0 18px 70px #142a2240}dialog::backdrop{background:#14241e70}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dialog-head h2{font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-label{display:flex;align-items:center;gap:9px}.check-label input{width:16px;height:16px;margin:0;accent-color:var(--green)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#203c32;color:white;padding:12px 18px;border-radius:10px;font-size:13px;box-shadow:0 8px 25px #0002;z-index:9}.toast.error{background:#9b4444}#month-details{margin-bottom:50px}
@media(max-width:700px){.topbar{padding:0 18px}.shell{padding:25px 16px 55px}.user-tools{gap:6px}.user-tools span{max-width:120px;overflow:hidden;text-overflow:ellipsis}.welcome{align-items:flex-start;flex-direction:column}.welcome h1{font-size:26px}.breakdown{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.metric{padding:12px}.month-list{grid-template-columns:1fr 1fr;gap:8px}.month-item{padding:13px}.card-summary{grid-template-columns:1fr 1fr}.settings-list{grid-template-columns:1fr}.page-title{align-items:flex-start}.page-title h1{font-size:25px}.page-title .primary{padding:10px}.entry-row{padding:12px}.summary-card{padding:22px}.summary-card strong{font-size:30px}.auth{margin:32px auto;padding:24px}.section-heading h2{font-size:17px}}@media(max-width:390px){.month-list{grid-template-columns:1fr}.card-summary{grid-template-columns:1fr}.filter-row{flex-direction:column}.form-grid{gap:8px}}
/* Cartões: cores escolhidas na conta e aplicadas aos cartões e lançamentos relacionados. */
.card-metric{border-top:3px solid var(--card-color,#116b52)}.card-color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--card-color,#116b52);margin-right:7px;vertical-align:1px}.card-item{border-left:4px solid var(--card-color,#116b52)}.card-item-main{min-width:0;flex:1}.card-title-row{display:flex;align-items:center;gap:9px;margin-bottom:5px}.card-title-row h3{margin:0}.card-list-swatch{width:13px;height:13px;flex:0 0 13px;border-radius:4px;background:var(--card-color,#116b52)}.card-title-row .pill{margin:0}.card-color-value{display:flex;align-items:center;gap:6px;margin-top:6px!important;font-size:11px!important}.card-color-value i{width:12px;height:12px;border-radius:50%;display:inline-block}.card-related{border-left:3px solid var(--related-card-color,#116b52)}.color-note{font-size:11px;margin-top:-7px;margin-bottom:15px}
.page-intro{margin:-8px 0 20px}.reminder-list,.payment-list{display:grid;gap:9px}.reminder-item{background:#fff;border:1px solid var(--line);border-left:4px solid #cb9a32;border-radius:11px;padding:13px 15px;display:flex;align-items:center;gap:14px}.reminder-copy{display:flex;align-items:center;gap:9px;flex:1;min-width:0;flex-wrap:wrap}.reminder-copy strong{font-size:13px}.reminder-copy>span:not(.pill){font-size:11px;color:var(--muted)}.reminder-item>.primary.small{white-space:nowrap;padding:8px 11px;font-size:11px}.pill.overdue{background:#fff0ed;color:#a44537}.receivable-item{align-items:flex-start}.receivable-item .pill{margin:0 0 0 5px;vertical-align:2px}
.payment-status-summary{grid-template-columns:repeat(2,1fr);margin:10px 0 0}
.details-heading{margin-top:30px}.small{padding:8px 11px;font-size:11px}.card-due{display:flex;justify-content:space-between;gap:7px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.card-due b{color:var(--card-color,#116b52);font-weight:700;text-align:right}.invoice-payment{margin-top:10px;width:100%;padding:8px 9px;font-size:11px}
.card-invoice-reminder{border-left-color:var(--green)}.reminder-total{text-align:right;white-space:nowrap}.reminder-total strong,.reminder-total small{display:block}.reminder-total strong{font:700 13px Manrope,sans-serif}.reminder-total small{font-size:10px;color:var(--muted);margin-top:3px}
@media(max-width:700px){.reminder-item{flex-wrap:wrap;gap:8px}.reminder-copy{flex-basis:calc(100% - 75px)}.reminder-item>.primary.small{margin-left:auto}.receivable-item{flex-direction:column}.receivable-item .settings-actions{flex-wrap:wrap}}

/* Refinamento visual do painel financeiro */
:root{--green:#126c5b;--deep:#0b4c42;--mint:#e7f3ef;--line:#e1e9e5;--muted:#6e7f78;--paper:#fff;--shadow:0 10px 32px #193b2d10;--accent:#d5aa4b}
body{background:radial-gradient(ellipse at 15% 0%,#eaf3ee 0,transparent 34%),#f3f6f4}
.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 1px 0 #e1e9e5}
.brand-mark-icon{width:34px;height:34px;display:block;border-radius:10px;box-shadow:0 4px 10px #0b4c4222}
.tabs{gap:7px;border-bottom-color:#dfe8e3}
.tab{border-radius:9px 9px 0 0;transition:color .18s,background .18s}
.tab.active{background:#e8f3ef;color:#0b6655}
.primary{background:linear-gradient(135deg,#147963,#0d6252);box-shadow:0 5px 14px #126c5b28;transition:transform .18s,box-shadow .18s}
.primary:hover{background:linear-gradient(135deg,#0e6856,#094b40);transform:translateY(-1px);box-shadow:0 8px 18px #126c5b30}
.summary-card{position:relative;overflow:hidden;background:linear-gradient(118deg,#0c4039 0%,#126c59 68%,#1b8065 100%);border:1px solid #ffffff16;border-radius:20px;padding:28px 30px;box-shadow:0 16px 36px #0b4c4222}
.summary-card:after{content:"";position:absolute;width:230px;height:230px;border:1px solid #ffffff1c;border-radius:50%;right:-56px;top:-115px;box-shadow:0 0 0 24px #ffffff08,0 0 0 50px #ffffff06}
.summary-card>*{position:relative;z-index:1}
.summary-card strong{font-size:38px;letter-spacing:-1.5px}
.metric,.card-metric,.month-item,.settings-item,.insight-card{box-shadow:0 3px 14px #193b2d08;transition:transform .18s,border-color .18s,box-shadow .18s}
.metric{border-radius:14px}
.metric strong{color:#173c32}
.month-item:hover,.month-item.selected{box-shadow:0 7px 18px #126c5b12}
.insights-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:14px;margin:18px 0 30px}
.insight-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px 20px;box-shadow:var(--shadow)}
.insight-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}
.insight-heading h2{font-size:15px;color:#1b332b}
.insight-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}
.insight-badge{flex:none;border-radius:99px;background:#eff6f2;color:#397363;padding:6px 9px;font-size:10px;font-weight:700}
.monthly-chart{height:185px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px;padding:8px 2px 0}
.chart-column{height:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}
.chart-bar-track{height:145px;width:min(100%,34px);display:flex;align-items:flex-end;overflow:hidden;border-radius:8px;background:#f1f5f3}
.chart-bar-fill{display:block;width:100%;min-height:0;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#49a78b,#126c5b);transition:height .35s ease}
.chart-column.selected .chart-bar-fill{background:linear-gradient(180deg,#e6c46d,#c28e2f)}
.chart-month-label{font-size:10px;font-weight:700;text-transform:capitalize;color:#73827c}
.chart-column.selected .chart-month-label{color:#986d1d}
.payment-chart{min-height:185px;display:flex;align-items:center;justify-content:center;gap:23px}
.donut-chart{position:relative;flex:none;width:142px;height:142px;border-radius:50%;background:conic-gradient(#16866d 0 var(--paid-share),#e9eeeb var(--paid-share) 100%);display:grid;place-items:center}
.donut-chart:before{content:"";position:absolute;inset:13px;border-radius:50%;background:white}
.donut-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.donut-center strong{font:800 25px Manrope,sans-serif;color:#173d33;letter-spacing:-1px}
.donut-center span{font-size:10px;color:var(--muted);margin-top:1px}
.chart-legend{min-width:135px;display:grid;gap:14px}
.chart-legend>div{display:grid;grid-template-columns:10px 1fr;column-gap:8px;align-items:center}
.chart-legend .legend-dot{grid-row:span 2;width:9px;height:9px;border-radius:50%;background:#16866d}
.chart-legend .legend-dot.pending{background:#d8dedb}
.chart-legend span{font-size:10px;color:var(--muted)}
.chart-legend strong{font:700 11px Manrope,sans-serif;color:#243b33;margin-top:2px}
.chart-empty{min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:15px}
.chart-empty-mark{font-size:25px;color:#72a594}
.chart-empty strong{font-size:12px;color:#31473e}
.chart-empty span:last-child{font-size:10px;color:var(--muted)}
@media(max-width:800px){.insights-grid{grid-template-columns:1fr}.payment-chart{min-height:160px}}
@media(max-width:700px){.summary-card{border-radius:17px;padding:23px}.summary-card strong{font-size:32px}.insight-card{padding:16px}.monthly-chart{height:170px;gap:7px}.chart-bar-track{height:130px;width:min(100%,30px)}.payment-chart{gap:18px}.donut-chart{width:126px;height:126px}.chart-legend{min-width:125px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}