
:root{--bg:#f5f7fa;--card:#fff;--text:#1b2430;--muted:#6b7280;--line:#e5e7eb;--brand:#ef672f;--brand2:#d95420;--good:#16865c;--bad:#c63e3e;--shadow:0 8px 24px rgba(15,23,42,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#121923;color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.brand img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.brand strong{display:block;font-size:15px}.brand span{display:block;font-size:13px;color:#aeb6c2;margin-top:2px}
.sidebar>a{padding:12px 14px;border-radius:10px;color:#cbd2dc}.sidebar>a:hover,.sidebar>a.active{background:#222c39;color:#fff}.sidebar>a.active{box-shadow:inset 3px 0 0 var(--brand)}.spacer{flex:1}
.main{padding:26px 30px 50px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0;color:var(--muted)}.monthForm input{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:10px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:26px;margin-top:7px}.metric.negative strong,.txtDanger{color:var(--bad)}.metric.positive strong,.txtSuccess{color:var(--good)}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:18px}.card h2{font-size:18px;margin:0 0 14px}.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.sectionHead h2{margin:0}.sectionHead p{margin:3px 0 0;color:var(--muted);font-size:13px}
.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#687386;font-weight:600;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #eef1f4;vertical-align:middle}td small{display:block;color:var(--muted);margin-top:3px}.inactive{opacity:.45}.score{display:inline-flex;min-width:34px;justify-content:center;padding:5px 7px;border-radius:8px;background:#fff1ea;color:#b94a1f;font-weight:700}.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef2f7;font-size:11px;font-weight:700;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:600;cursor:pointer}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand2)}.btn.sm{padding:6px 8px;font-size:11px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar input,.inlineForm input{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff}
.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formGrid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.formGrid.single{grid-template-columns:1fr}.formGrid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#596273}.formGrid input,.formGrid select,.formGrid textarea,select.decision{width:100%;border:1px solid #dce1e7;border-radius:9px;padding:9px 10px;background:#fff;color:#1f2937}.formGrid textarea{min-height:70px;resize:vertical}.full{grid-column:1/-1}.actions{display:flex;gap:8px}.checkGroup{display:flex;flex-wrap:wrap;gap:14px;padding:10px;border:1px dashed #d8dde4;border-radius:10px}.checkGroup label{flex-direction:row;align-items:center}.checkGroup input{width:auto}.hidden{display:none!important}
.rowActions{display:flex;gap:6px;align-items:center}.rowActions form{margin:0}.summaryBox{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.summaryBox span{color:var(--muted)}.muted{color:var(--muted);font-size:13px;line-height:1.5}
.inlineForm{display:flex;gap:8px;margin-bottom:12px}.inlineForm input{flex:1}.industryList{max-height:320px;overflow:auto}.industryList>div{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.industryList form{margin:0}
.stickyAction{position:sticky;bottom:10px;display:flex;justify-content:flex-end;margin-top:12px}.stickyAction .btn{box-shadow:0 5px 20px rgba(0,0,0,.15)}
.installBody{min-height:100vh;display:grid;place-items:center;background:#f1f3f7;padding:22px}.installCard{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.loginCard{width:min(430px,100%)}.installLogo{display:block;max-width:150px;max-height:140px;object-fit:contain;margin:0 auto 10px}.installCard h1{text-align:center;font-size:24px;margin:6px 0 20px}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#e8f7f0;color:#176848}.alert.danger{background:#fdecec;color:#9c2e2e}
@media(max-width:1000px){.app{grid-template-columns:84px 1fr}.brand div,.sidebar>a{font-size:0}.sidebar>a:before{font-size:11px;content:'•'}.brand img{width:48px;height:48px}.grid2{grid-template-columns:1fr}.formGrid.dense{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.app{display:block}.sidebar{position:static;height:auto;flex-direction:row;overflow:auto;padding:8px}.brand{padding:0}.brand img{width:40px;height:40px}.sidebar>a{font-size:12px;white-space:nowrap;padding:10px}.sidebar>a:before{display:none}.spacer{display:none}.main{padding:16px}.topbar{align-items:flex-start}.cards,.cards.two{grid-template-columns:1fr}.formGrid,.formGrid.dense{grid-template-columns:1fr}.full{grid-column:auto}.toolbar{flex-direction:column}.metric strong{font-size:22px}}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.checkGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.checkGrid label{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px}.checkGrid small{display:block;color:var(--muted)}@media(max-width:650px){.checkGrid{grid-template-columns:1fr}}

.suggestion{display:inline-block;padding:7px 10px;border-radius:10px;font-size:11px;font-weight:800;white-space:nowrap}
.suggestion.max{background:#fde8e8;color:#a92d2d}.suggestion.protect{background:#fff0df;color:#a65313}
.suggestion.negotiate{background:#fff7d6;color:#7a5b00}.suggestion.delay{background:#e7f1ff;color:#235d9f}
.reason{min-width:260px;max-width:430px;color:#596273;line-height:1.35}

.simToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}
.simToolbar input{width:min(520px,100%);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.simToolbar span{color:var(--muted);font-size:12px;white-space:nowrap}
.simTableWrap{max-height:calc(100vh - 315px);overflow:auto;position:relative;border:1px solid #eef1f4;border-radius:12px}
#simTable thead th{position:sticky;top:0;z-index:8;background:#fff;box-shadow:0 1px 0 var(--line)}
#simTable th.sortable{cursor:pointer;user-select:none}
#simTable th.sortable:hover{background:#f8fafc}
.sortIcon{display:inline-block;margin-left:5px;color:#8a94a3;font-size:14px}
#simTable tbody tr:hover{background:#fafbfc}
@media(max-width:650px){.simToolbar{align-items:stretch;flex-direction:column}.simTableWrap{max-height:calc(100vh - 260px)}}

.expenseLink{color:#172334;text-decoration:none}
.expenseLink:hover{color:var(--brand);text-decoration:underline}
.detailTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.detailTitle h2{font-size:26px;margin:7px 0 3px}.detailTitle p{margin:0;color:var(--muted)}
.backLink{font-size:12px;color:var(--muted)}.backLink:hover{color:var(--brand)}
.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.detailGrid>div{padding:11px;border:1px solid var(--line);border-radius:10px}
.detailGrid span{display:block;color:var(--muted);font-size:11px}.detailGrid strong{display:block;margin-top:3px}
.expertReason{margin-top:14px;padding:13px 14px;background:#f8fafc;border-left:4px solid var(--brand);border-radius:8px}
.expertReason p{margin:5px 0 0;color:#526070;line-height:1.45}
.detailActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.detailActions details{position:relative}
.detailActions summary,.futureAdd summary{list-style:none}.detailActions summary::-webkit-details-marker,.futureAdd summary::-webkit-details-marker{display:none}
.inlineDetailForm{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:10px;padding:12px;background:#f8fafc;border-radius:10px}
.inlineDetailForm label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}
.inlineDetailForm input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}
.futureAdd{margin-top:14px}.futureAdd form{margin-top:12px}
.detailTable thead th{position:sticky;top:0;background:#fff;z-index:2}
.metric small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
@media(max-width:650px){.detailTitle{align-items:flex-start;flex-direction:column}.detailGrid{grid-template-columns:1fr}}

.versionBadge{position:fixed;right:12px;bottom:10px;z-index:999;background:#172334;color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;opacity:.75}
.expenseLink strong{color:#1d4f91;text-decoration:underline;text-underline-offset:2px}
.expenseLink:hover strong{color:var(--brand)}
.expenseTableWrap{max-height:calc(100vh - 245px);overflow:auto;position:relative;border:1px solid #eef1f4;border-radius:12px}
#expenseTable thead th{position:sticky;top:0;z-index:8;background:#fff;box-shadow:0 1px 0 var(--line)}
#expenseTable th.expenseSort{cursor:pointer;user-select:none}
#expenseTable th.expenseSort:hover{background:#f8fafc}

#simTable{table-layout:fixed;width:100%}
#simTable th:nth-child(1),#simTable td:nth-child(1){width:18%}
#simTable th:nth-child(2),#simTable td:nth-child(2){width:9%}
#simTable th:nth-child(3),#simTable td:nth-child(3){width:16%}
#simTable th:nth-child(4),#simTable td:nth-child(4){width:27%}
#simTable th:nth-child(5),#simTable td:nth-child(5){width:20%}
#simTable th:nth-child(6),#simTable td:nth-child(6){width:10%}
#simTable .reason{min-width:0;max-width:none;font-size:12px;line-height:1.25;color:#526070}
#simTable .suggestion{white-space:normal;font-size:11px;line-height:1.2;padding:5px 7px}
.sortBtn{border:0;background:transparent;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.sortBtn:hover{color:var(--brand)}
.whyHead{width:27%}

/* V2.9 — distribuição compacta do simulador */
#simTable th:nth-child(1),#simTable td:nth-child(1){width:25%!important}
#simTable th:nth-child(2),#simTable td:nth-child(2){width:10%!important}
#simTable th:nth-child(3),#simTable td:nth-child(3){width:20%!important}
#simTable th:nth-child(4),#simTable td:nth-child(4){width:20%!important}
#simTable th:nth-child(5),#simTable td:nth-child(5){width:17%!important}
#simTable th:nth-child(6),#simTable td:nth-child(6){width:8%!important}
#simTable .reason{font-size:11px!important;line-height:1.2!important;white-space:normal}
#simTable td,#simTable th{padding-left:10px;padding-right:10px}

.parcelaField{transition:.15s ease}

/* V5.0 - Planejamento futuro */
.futureMonthGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px}
.futureMonthCard{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.futureMonthCard:hover{border-color:var(--brand);transform:translateY(-1px)}
.futureMonthCard span{font-size:12px;color:var(--muted)}
.futureMonthCard strong{font-size:20px}
.futureMonthCard small{font-size:11px;color:var(--muted)}
.futureSection{margin-top:14px}

/* V5.1 - navegação mensal e todas as despesas */
.monthNav{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 14px 0;flex-wrap:wrap}
.monthNav strong{font-size:14px}
