:root{
 --bg:#f6f5f2;--card:#fff;--ink:#1e2220;--muted:#747b76;--line:#e7e8e3;
 --accent:#335c47;--accent2:#e8efe9;--danger:#a33a3a;--shadow:0 10px 34px rgba(27,40,33,.06)
}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:#1e2923;color:#fff;padding:28px 18px;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 26px}.brand .heart{width:40px;height:40px;border-radius:13px;background:#d9b7a8;display:grid;place-items:center;font-size:20px;color:#402b24}
.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{opacity:.65;font-size:12px}
nav{display:grid;gap:8px}.nav{width:100%;border:0;background:transparent;color:#c7d1cb;text-align:left;padding:12px 14px;border-radius:11px;cursor:pointer;display:flex;gap:10px}
.nav:hover,.nav.active{background:#314139;color:#fff}.sidebar-foot{margin-top:auto;opacity:.55;padding:8px}
main{min-width:0;padding:0 34px 44px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;gap:20px}
h1,h2,p{margin:0}.topbar h1{font-size:25px}.topbar p,.muted,.card-head p{color:var(--muted);font-size:13px;margin-top:4px}
.top-actions{display:flex;gap:10px;align-items:center}.top-actions input,.filters input,.filters select{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:650}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent}.btn:hover{filter:brightness(.98)}
.view{display:none}.view.active{display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:24px;margin:8px 0 5px;letter-spacing:-.02em}.kpi small{color:var(--muted)}
.settlement-kpi{background:#f0f5f1}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.card h2{font-size:16px}
.badge{background:var(--accent2);color:var(--accent);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750}
.closing-person{display:flex;justify-content:space-between;align-items:end;margin-top:14px}.closing-person span{font-weight:700}.closing-person small{display:block;color:var(--muted);margin-top:3px}.closing-person strong{font-size:16px}
.meter{height:8px;background:#edf0ed;border-radius:99px;margin:8px 0 12px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:var(--accent);border-radius:99px}
.pix-box{margin-top:18px;border-radius:12px;background:#f6f6f3;border:1px dashed #d7d9d3;padding:14px;font-weight:650}
.category-bars{display:grid;gap:12px}.cat-row{display:grid;grid-template-columns:minmax(130px,1fr) 1.5fr 92px;gap:12px;align-items:center;font-size:12px}.cat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-track{height:8px;background:#eff0ed;border-radius:99px;overflow:hidden}.cat-track i{display:block;height:100%;background:#6d8878;border-radius:99px}.cat-value{text-align:right;font-weight:700}
.chart-card{margin-bottom:14px}.year-chart{height:180px;display:flex;align-items:flex-end;gap:9px;padding-top:15px}.month-bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.month-bar i{width:min(32px,75%);background:#a7b7ad;border-radius:7px 7px 3px 3px;min-height:2px}.month-bar.active i{background:var(--accent)}.month-bar span{font-size:10px;color:var(--muted)}
.recent-list{display:grid}.recent-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.recent-item:first-child{border-top:0}.recent-item b{display:block;font-size:14px}.recent-item small{color:var(--muted)}.recent-item strong{font-size:14px}.link-btn{border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer}
.filters{display:grid;grid-template-columns:1fr 220px 180px;gap:10px;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.num{text-align:right}.pill{display:inline-block;background:#f0f2ef;border-radius:8px;padding:5px 8px;font-size:11px}.row-actions{display:flex;gap:4px;justify-content:flex-end}.tiny{border:0;background:transparent;cursor:pointer;color:var(--muted);padding:5px}.tiny.danger:hover{color:var(--danger)}
.empty{text-align:center;color:var(--muted);padding:36px}.hidden{display:none!important}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid label,.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;margin-top:16px}.settings-grid input,.settings-grid select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}.settings-grid .btn{margin-top:16px}.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(13,18,15,.55);backdrop-filter:blur(2px)}.modal-card{position:relative;width:min(650px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between}.modal-head p{color:var(--muted);font-size:12px;margin-top:4px}.icon-btn{border:0;background:#f2f3f0;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.span2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.toast{position:fixed;right:22px;bottom:22px;background:#1f2a24;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);z-index:90}
@media(max-width:1000px){.kpis{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}}
@media(max-width:760px){
 .app-shell{display:block}.sidebar{position:fixed;z-index:30;bottom:0;top:auto;width:100%;height:68px;padding:8px 10px;display:block}.brand,.sidebar-foot{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.nav{justify-content:center;align-items:center;text-align:center;padding:10px 4px;font-size:18px}.nav span{display:block;font-size:10px}
 main{padding:0 14px 92px}.topbar{height:auto;padding:18px 0 14px;align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions input{flex:1;min-width:0}.top-actions .btn{white-space:nowrap}
 .kpis{grid-template-columns:1fr 1fr;gap:9px}.card{padding:16px;border-radius:15px}.kpi strong{font-size:19px}.settings-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.filters input{grid-column:auto}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.year-chart{gap:5px}.cat-row{grid-template-columns:1fr 1fr 80px}
}
@media(max-width:460px){.kpis{grid-template-columns:1fr}.top-actions{flex-wrap:wrap}.top-actions .btn{width:100%}.cat-row{grid-template-columns:1.3fr 1fr 74px}}

/* V2 — natureza, formas de despesa e parcelamentos */
.composition-card{margin-bottom:14px}.composition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.composition-item{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;padding:13px}.composition-item .dot{width:10px;height:38px;border-radius:99px;background:#a9b0ac}.composition-item .dot.fixed{background:#617a6c}.composition-item .dot.essential{background:#91a897}.composition-item .dot.free{background:#c2aa93}.composition-item .dot.installment{background:#9b879e}.composition-item small{display:block;color:var(--muted);margin-bottom:4px}.composition-item strong{font-size:16px}
.filters-wide{grid-template-columns:minmax(190px,1fr) 190px 170px 170px 150px}table{min-width:1120px}.pill.nature-fixed{background:#e7efe9;color:#335c47}.pill.nature-essential{background:#eef2ea;color:#566850}.pill.nature-free{background:#f5eee7;color:#805f47}.pill.payment-installment{background:#f1ebf2;color:#6d5271}.pill.payment-recurring{background:#ebeff5;color:#4f627a}
.installment-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.installment-list{display:grid;gap:12px}.installment-item{border:1px solid var(--line);border-radius:15px;padding:16px}.installment-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.installment-top b{display:block;font-size:14px}.installment-top small{display:block;color:var(--muted);margin-top:4px}.installment-top>strong{text-align:right;font-size:16px}.installment-top>strong small{font-size:10px;font-weight:500}.progress{height:8px;background:#eff0ed;border-radius:99px;overflow:hidden;margin:14px 0 9px}.progress i{display:block;height:100%;background:var(--accent);border-radius:99px}.installment-bottom{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.installment-bottom b{color:var(--ink)}
.installment-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 12px;margin-top:4px;padding:0 12px 12px;border-radius:12px;background:#faf9f7;border:1px solid var(--line)}.installment-fields .check-label{grid-column:1/-1;display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;font-weight:600;margin-top:12px}.check-label input{width:auto}.check-label span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.composition-grid{grid-template-columns:1fr 1fr}.filters-wide{grid-template-columns:1fr 1fr}.filters-wide input{grid-column:1/-1}.installment-kpis{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(4,1fr)}.composition-grid{grid-template-columns:1fr 1fr}.filters-wide{grid-template-columns:1fr}.filters-wide input{grid-column:auto}.installment-kpis{grid-template-columns:1fr}.installment-fields{grid-template-columns:1fr}.installment-fields .check-label{grid-column:auto}.installment-bottom{flex-direction:column;gap:4px}}
@media(max-width:460px){.composition-grid{grid-template-columns:1fr}.installment-top{flex-direction:column}.installment-top>strong{text-align:left}}

/* V3 — importação em lote */
.import-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.file-drop{min-height:138px;border:1.5px dashed #c9cfc9;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;cursor:pointer;background:#fafbf9;padding:18px}.file-drop:hover{border-color:var(--accent);background:#f3f7f4}.file-drop strong{font-size:15px}.file-drop span,.source-note{font-size:12px;color:var(--muted)}.file-drop input{display:none}.source-note{margin-top:10px}.wpp-text{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;margin-bottom:10px}.import-settings{margin-bottom:14px}.import-settings-grid{display:grid;grid-template-columns:180px 1fr 1fr 1.35fr;gap:12px;align-items:end}.import-settings-grid label{display:grid;gap:7px;font-size:12px;font-weight:700}.import-settings-grid input,.import-settings-grid select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff}.import-settings-grid .auto-month{display:flex;grid-template-columns:auto 1fr;align-items:center;padding:10px 0}.import-settings-grid .auto-month input{width:auto}.import-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.import-preview-head{align-items:center}.preview-actions{display:flex;gap:8px}.import-table{min-width:1250px}.import-table td{vertical-align:top}.import-table input[type=date],.import-table input[type=text],.import-table select{border:1px solid var(--line);border-radius:8px;padding:7px 8px;background:#fff;font-size:12px}.import-table .desc-input{min-width:190px}.import-table .cat-select{min-width:175px}.import-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750;white-space:nowrap}.import-status.ready{background:#e8f2eb;color:#315a43}.import-status.warning{background:#fff4d8;color:#7d631c}.import-status.possible_duplicate{background:#fbe9d8;color:#8a5528}.import-status.duplicate{background:#f9e3e3;color:#8f3939}.row-warning{display:block;color:#986e28;font-size:10px;margin-top:5px;max-width:170px}.origin-note{display:block;color:var(--muted);font-size:10px;margin-top:3px}.source-pill{font-size:10px;color:var(--muted)}
@media(max-width:1000px){.import-settings-grid{grid-template-columns:1fr 1fr}.import-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(5,1fr)}.import-top-grid{grid-template-columns:1fr}.import-settings-grid{grid-template-columns:1fr}.import-kpis{grid-template-columns:1fr 1fr}.import-preview-head{align-items:flex-start;flex-direction:column}.preview-actions{width:100%}.preview-actions .btn{flex:1}}
@media(max-width:460px){.import-kpis{grid-template-columns:1fr}}

/* V3.1 — competência explícita, impacto antes/depois e revisão em grade */
.competence-help{margin-top:14px;padding:11px 13px;border-radius:11px;background:#f4f6f2;border:1px solid var(--line);font-size:12px;color:#59615c;line-height:1.45}.competence-help b{color:var(--ink)}
.import-impact-card{margin-bottom:14px}.import-impact{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:14px;align-items:stretch}.import-impact>div:not(.impact-arrow){border:1px solid var(--line);border-radius:13px;padding:14px;background:#fafbf9}.import-impact .after{background:#f0f5f1;border-color:#d7e4da}.import-impact span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.035em}.import-impact strong{display:block;font-size:20px;margin:5px 0}.import-impact small{display:block;color:var(--muted);font-size:12px}.impact-arrow{display:grid;place-items:center;color:var(--muted);font-size:22px}.impact-delta strong.delta-up{color:#9a4b36}.impact-delta strong.delta-down{color:var(--accent)}
.import-groups{display:grid;gap:20px}.import-category-group{border-top:1px solid var(--line);padding-top:16px}.import-category-group:first-child{border-top:0;padding-top:0}.import-category-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.import-category-title b{font-size:14px}.import-category-title span{font-size:11px;color:var(--muted)}
.import-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.import-expense-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fafaf8;min-width:0;transition:.12s ease}.import-expense-card.selected{background:#fff;border-color:#bdcec3;box-shadow:0 5px 18px rgba(31,52,40,.055)}.import-expense-card.possible_duplicate,.import-expense-card.duplicate{background:#fff9f3;border-color:#ecd4bd}.import-expense-card.warning{background:#fffaf0;border-color:#ead9aa}.import-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.import-check{display:inline-flex;align-items:center;cursor:pointer}.import-check input{width:17px;height:17px;accent-color:var(--accent)}.import-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.import-card-main b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-card-main small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.import-card-main strong{font-size:14px;white-space:nowrap}.import-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.import-card-tags span{font-size:9px;background:#eef1ed;color:#5f6862;border-radius:7px;padding:4px 6px}.duplicate-note,.date-note{font-size:10px;line-height:1.35;margin-top:8px;border-radius:8px;padding:7px 8px}.duplicate-note{background:#f9eadc;color:#87572d}.date-note{background:#eef2f4;color:#5d6871}.row-warning{max-width:none;background:#fff1cf;border-radius:8px;padding:7px 8px}.import-details{margin-top:9px;border-top:1px dashed #dfe2dd;padding-top:8px}.import-details summary{cursor:pointer;color:var(--accent);font-size:10px;font-weight:700;list-style:none}.import-details summary::-webkit-details-marker{display:none}.import-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.import-detail-grid label{display:grid;gap:4px;font-size:9px;color:var(--muted);font-weight:700}.import-detail-grid label.wide{grid-column:1/-1}.import-detail-grid input,.import-detail-grid select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px;font-size:10px;color:var(--ink)}
@media(max-width:1180px){.import-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-impact{grid-template-columns:1fr auto 1fr}.impact-delta{grid-column:1/-1}.import-impact .impact-delta{display:flex;justify-content:space-between;align-items:center}}
@media(max-width:760px){.import-card-grid{grid-template-columns:1fr}.import-category-title{align-items:flex-start;flex-direction:column;gap:4px}.import-impact{grid-template-columns:1fr}.impact-arrow{transform:rotate(90deg);height:20px}.import-impact .impact-delta{display:block}.import-detail-grid{grid-template-columns:1fr}.import-detail-grid label.wide{grid-column:auto}}

/* V3.2 — visualização alternável, despesas em blocos e gráficos de pizza */
.expense-toolbar-card{margin-bottom:14px}.expense-view-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.expense-view-head h2{margin:0 0 4px;font-size:17px}.expense-view-head p{margin:0;color:var(--muted);font-size:12px}.view-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f2f3ef}.toggle-btn{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:7px 10px;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}.toggle-btn.active{background:#fff;color:var(--ink);box-shadow:0 1px 5px rgba(31,52,40,.09)}.view-toggle.compact .toggle-btn{padding:6px 8px;font-size:10px}
.expense-summary{display:grid;grid-template-columns:1.2fr .7fr 1.3fr;gap:10px;margin-top:14px}.expense-summary>div{border:1px solid var(--line);border-radius:12px;background:#fafbf9;padding:12px 14px;min-width:0}.expense-summary span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.expense-summary strong{display:block;font-size:18px}.expense-summary small{display:block;color:var(--muted);margin-top:2px;font-size:10px}
.expenses-groups{display:grid;gap:14px}.expense-category-block{padding:0;overflow:hidden}.expense-category-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;background:#f8f9f6;border-bottom:1px solid var(--line)}.expense-category-head h3{font-size:14px;margin:0 0 3px}.expense-category-head span{font-size:10px;color:var(--muted)}.expense-category-head>strong{font-size:19px;white-space:nowrap}.expense-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.expense-mini-card{padding:13px 15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.expense-mini-card:nth-child(3n){border-right:0}.expense-mini-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.expense-mini-top b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-mini-top small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.expense-mini-top>strong{font-size:13px;white-space:nowrap}.expense-mini-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.expense-mini-tags .pill{font-size:8px;padding:4px 6px}.expense-note{display:block;color:var(--muted);font-size:9px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-mini-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:9px}.expense-mini-foot .row-actions{opacity:.4}.expense-mini-card:hover .row-actions{opacity:1}
.insights-grid{margin-top:14px}.donut-card{min-width:0}.donut-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center}.donut{width:170px;height:170px;border-radius:50%;position:relative;display:grid;place-items:center;background:#eceeea}.donut:after{content:"";position:absolute;width:104px;height:104px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #f1f1ee}.donut>div{position:relative;z-index:1;text-align:center;max-width:90px}.donut strong{display:block;font-size:14px;line-height:1.15}.donut span{display:block;color:var(--muted);font-size:9px;margin-top:3px;text-transform:uppercase;letter-spacing:.04em}.donut-legend{display:grid;gap:7px;min-width:0}.legend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-row div{min-width:0}.legend-row b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-row small{font-size:9px;color:var(--muted)}.legend-row>strong{font-size:10px;white-space:nowrap}
/* Importação: linhas por padrão, grade opcional */
.import-groups.rows-mode .import-card-grid{display:grid;grid-template-columns:1fr;gap:7px}.import-groups.rows-mode .import-expense-card{padding:9px 11px;border-radius:10px;display:grid;grid-template-columns:78px minmax(0,1fr) auto auto;column-gap:10px;align-items:center}.import-groups.rows-mode .import-card-top{margin:0;justify-content:flex-start}.import-groups.rows-mode .import-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.import-groups.rows-mode .import-card-tags{margin:0;justify-content:flex-start}.import-groups.rows-mode .import-details,.import-groups.rows-mode .duplicate-note,.import-groups.rows-mode .date-note,.import-groups.rows-mode .row-warning{grid-column:1/-1}.import-groups.rows-mode .import-details{margin-top:5px}.import-groups.grid-mode .import-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){.expense-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-mini-card:nth-child(3n){border-right:1px solid var(--line)}.expense-mini-card:nth-child(2n){border-right:0}.donut-layout{grid-template-columns:150px minmax(0,1fr)}.donut{width:145px;height:145px}.donut:after{width:88px;height:88px}.import-groups.grid-mode .import-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.donut-layout{grid-template-columns:1fr}.donut{margin:auto}.expense-summary{grid-template-columns:1fr 1fr}.expense-summary>div:last-child{grid-column:1/-1}.import-groups.rows-mode .import-expense-card{grid-template-columns:70px minmax(0,1fr) auto}.import-groups.rows-mode .import-card-tags{grid-column:2/-1;margin-top:4px}}
@media(max-width:760px){.expense-view-head{align-items:flex-start;flex-direction:column}.expense-summary{grid-template-columns:1fr 1fr}.expense-card-grid{grid-template-columns:1fr}.expense-mini-card,.expense-mini-card:nth-child(2n),.expense-mini-card:nth-child(3n){border-right:0}.preview-actions{flex-wrap:wrap}.view-toggle.compact{order:-1;width:100%}.view-toggle.compact .toggle-btn{flex:1}.import-groups.rows-mode .import-expense-card{grid-template-columns:58px minmax(0,1fr) auto;column-gap:7px}.import-groups.rows-mode .import-card-main strong{font-size:12px}.import-groups.grid-mode .import-card-grid{grid-template-columns:1fr}}
@media(max-width:480px){.expense-summary{grid-template-columns:1fr}.expense-summary>div:last-child{grid-column:auto}.expense-category-head{align-items:flex-start}.expense-category-head>strong{font-size:16px}.import-groups.rows-mode .import-expense-card{display:block}.import-groups.rows-mode .import-card-top,.import-groups.rows-mode .import-card-main,.import-groups.rows-mode .import-card-tags{margin-bottom:7px}.import-groups.rows-mode .import-card-tags{margin-top:0}}

/* V4 Online */
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(84,122,100,.14),transparent 30%),radial-gradient(circle at 90% 90%,rgba(229,166,90,.12),transparent 35%),#f6f5f1}
.auth-card,.setup-card{width:min(460px,100%);background:#fff;border:1px solid #e6e7e2;border-radius:24px;padding:28px;box-shadow:0 18px 60px rgba(35,42,37,.10)}
.setup-card{width:min(920px,100%)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-brand .heart{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#547A64;color:#fff;font-size:20px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:19px}.auth-brand span{font-size:13px;color:#777}
.auth-card h1,.setup-card h1{margin:0 0 8px;font-size:28px}.auth-card label,.setup-option label{display:grid;gap:7px;margin-top:16px;font-size:13px;font-weight:700;color:#4d514d}.auth-card input,.setup-option input{width:100%}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.auth-message{min-height:22px;margin-top:14px;font-size:13px;color:#547A64}.auth-message.error{color:#b45146}
.setup-grid{display:grid;grid-template-columns:1fr 48px 1fr;gap:18px;margin-top:24px}.setup-option{padding:20px;border:1px solid #e6e7e2;border-radius:18px;background:#fbfbf9}.setup-option h2{margin:0 0 8px}.setup-divider{display:grid;place-items:center;color:#999}.setup-divider:before{content:"";width:1px;height:100%;background:#e2e3df;grid-area:1/1}.setup-divider span{grid-area:1/1;background:#fff;padding:8px 0;font-size:12px}.setup-logout{margin:18px auto 0;display:block}
.user-chip{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 12px;border:1px solid #e0e3de;border-radius:12px;background:#fff;color:#5d625d;font-size:12px}
.copy-field{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:7px}.copy-field input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.compact-file{margin-top:14px;min-height:90px;padding:16px}.sidebar-foot small[data-mode="error"]{color:#f1a39b}

@media(max-width:760px){.setup-grid{grid-template-columns:1fr}.setup-divider{height:24px}.setup-divider:before{width:100%;height:1px}.setup-divider span{padding:0 8px}.auth-actions{grid-template-columns:1fr}.user-chip{display:none}}

/* V4.1 - parcelamento automático por valor total */
.installment-preview{grid-column:1/-1;padding:12px 14px;border:1px dashed rgba(84,122,100,.45);border-radius:12px;background:rgba(84,122,100,.07);display:flex;flex-direction:column;gap:4px}
.installment-preview b{font-size:15px}
.installment-preview span{font-size:12px;color:var(--muted)}

/* V4.2 — ação de duplicar */
.tiny.muted-action{opacity:.48;cursor:help}
