/* Nivora — planejamento avançado. Visual deliberadamente sóbrio e separado da base estável. */
.finance-home-overview--compact {
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  margin-bottom:30px;
}
.finance-welcome-row--compact { margin-bottom:16px; }
.finance-welcome-row--compact h2 { font-size:30px; }
.finance-home-main { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr); gap:12px; }
.finance-safe-card--home { min-height:220px; display:flex; flex-direction:column; justify-content:center; }
.finance-home-stat-stack { display:grid; grid-template-columns:1fr; gap:10px; }
.finance-inline-stat { border:1px solid var(--line); border-radius:16px; background:#0d0f12; padding:15px 16px; min-height:66px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; column-gap:14px; align-items:center; }
.finance-inline-stat>span { color:var(--muted); font-size:10px; }
.finance-inline-stat>strong { grid-column:2; grid-row:1/3; font:700 18px/1 Manrope,sans-serif; white-space:nowrap; }
.finance-inline-stat>small { color:var(--muted-2); font-size:9px; margin-top:3px; }
.finance-smart-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.finance-smart-actions button { min-width:0; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:14px; background:#0c0e11; color:var(--text); padding:13px 14px; text-align:left; transition:border-color .16s ease, background .16s ease, transform .16s ease; }
.finance-smart-actions button:hover { border-color:var(--line-strong); background:#101318; transform:translateY(-1px); }
.finance-smart-actions button>span { width:30px; height:30px; border:1px solid rgba(255,255,255,.08); border-radius:9px; display:grid; place-items:center; color:#d9dde2; font-size:14px; }
.finance-smart-actions button div { min-width:0; }
.finance-smart-actions button strong { display:block; font-size:11px; }
.finance-smart-actions button small { display:block; color:var(--muted); font-size:9px; margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.finance-smart-actions button>b { color:var(--muted); font-weight:500; }

.spending-radar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 14px; }
.spending-radar article { border:1px solid var(--line); background:#0d0f12; border-radius:16px; padding:15px; min-width:0; }
.spending-radar span,.spending-radar small { display:block; color:var(--muted); }
.spending-radar span { font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.spending-radar strong { display:block; margin-top:8px; font:700 16px/1.15 Manrope,sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.spending-radar small { margin-top:7px; font-size:9px; line-height:1.4; }
.food-insight-panel { margin-top:14px; }
.food-insight-content { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:28px; align-items:start; }
.food-insight-copy>strong { display:block; font:700 28px/1 Manrope,sans-serif; }
.food-insight-copy>span { display:block; margin-top:7px; color:var(--muted); font-size:10px; }
.food-insight-copy p,.planner-muted { color:var(--muted); font-size:11px; line-height:1.55; }
.food-insight-bars { display:flex; flex-direction:column; gap:12px; }
.food-insight-bars>div { display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:10px; align-items:center; }
.food-insight-bars span,.food-insight-bars b { font-size:10px; }
.food-insight-bars span { color:#d7dbe0; }
.food-insight-bars b { font-weight:600; }
.food-insight-bars>div>div { height:5px; border-radius:99px; background:rgba(255,255,255,.06); overflow:hidden; }
.food-insight-bars i { display:block; height:100%; background:#d8dde2; border-radius:inherit; }

.planner-page-head { align-items:flex-end; }
.planner-page-head h2 { letter-spacing:-.025em; }
.planner-empty { border:1px solid var(--line); background:#0d0f12; border-radius:20px; padding:38px 24px; text-align:center; }
.planner-empty strong { font:700 18px/1.3 Manrope,sans-serif; }
.planner-empty p { max-width:560px; margin:8px auto 18px; color:var(--muted); font-size:11px; line-height:1.55; }
.planner-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:14px; margin-bottom:14px; }
.planner-hero-card,.planner-note-card,.planner-panel,.score-main-card,.life-plan-summary article,.life-plan-card { border:1px solid var(--line); background:#0d0f12; box-shadow:inset 0 1px rgba(255,255,255,.02); }
.planner-hero-card { border-radius:22px; padding:24px; min-height:240px; display:flex; flex-direction:column; justify-content:center; }
.planner-hero-card>strong { display:block; margin:14px 0 8px; font:700 40px/1 Manrope,sans-serif; letter-spacing:-.045em; }
.planner-hero-card>p { margin:0; max-width:620px; color:var(--muted); font-size:11px; line-height:1.55; }
.planner-hero-meta { display:flex; gap:22px; flex-wrap:wrap; margin-top:24px; padding-top:16px; border-top:1px solid rgba(255,255,255,.06); }
.planner-hero-meta span { color:var(--muted); font-size:10px; }
.planner-hero-meta b { color:var(--text); margin-left:5px; }
.planner-note-card { border-radius:22px; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; min-height:240px; background:linear-gradient(160deg,#0e1115,#0b0d10); }
.planner-note-card h3 { max-width:280px; margin:12px 0 10px; font:700 22px/1.2 Manrope,sans-serif; }
.planner-note-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.planner-two-column,.simulator-layout,.score-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:14px; }
.planner-panel { border-radius:20px; padding:20px; min-width:0; }
.planner-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:18px; }
.planner-panel-head h3 { margin:6px 0 0; font:700 16px/1.3 Manrope,sans-serif; }
.planner-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.planner-field { display:flex; flex-direction:column; gap:7px; margin-bottom:12px; }
.planner-field>span { color:#c8ccd1; font-size:10px; font-weight:600; }
.planner-field small { color:var(--muted); font-weight:400; }
.planner-field input { width:100%; border:1px solid var(--line); border-radius:13px; background:#101216; color:var(--text); padding:13px 14px; outline:none; font-size:13px; }
.planner-field input:focus { border-color:rgba(255,255,255,.24); }
.planner-wide-btn { width:100%; margin-top:6px; }
.outing-items { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.outing-items label { border:1px solid rgba(255,255,255,.06); border-radius:13px; background:#0a0c0f; padding:11px 12px; display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:12px; }
.outing-items label:last-child { grid-column:1/-1; }
.outing-items span { color:#d5d9dd; font-size:10px; }
.outing-items input { min-width:0; width:100%; border:0; background:transparent; color:var(--text); text-align:right; outline:none; font-size:13px; }
.outing-result-strip { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.outing-result-strip>div { border:1px solid rgba(255,255,255,.06); border-radius:13px; padding:12px; background:#0b0d10; }
.outing-result-strip span { display:block; color:var(--muted); font-size:9px; }
.outing-result-strip strong { display:block; margin-top:6px; font-size:14px; }
.planner-verdict { margin:12px 0; border-left:2px solid #717984; padding:10px 12px; background:rgba(255,255,255,.025); border-radius:0 10px 10px 0; }
.planner-verdict strong,.planner-verdict span { display:block; }
.planner-verdict strong { font-size:11px; }
.planner-verdict span { margin-top:4px; color:var(--muted); font-size:9px; line-height:1.45; }
.planner-verdict.is-good { border-left-color:#83b78d; }
.planner-verdict.is-warn { border-left-color:#cbb47a; }
.planner-verdict.is-danger { border-left-color:#c47f7f; }
.planner-list { display:flex; flex-direction:column; gap:8px; }
.planner-list-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.055); }
.planner-list-row:last-child { border-bottom:0; }
.planner-list-row strong,.planner-list-row span { display:block; }
.planner-list-row strong { font-size:11px; }
.planner-list-row span { margin-top:4px; color:var(--muted); font-size:9px; }
.planner-list-actions { display:flex; align-items:center; gap:6px; }
.planner-list-actions button,.life-plan-actions button { border:1px solid var(--line); background:#111419; color:#d1d5da; border-radius:9px; padding:7px 9px; font-size:9px; }
.planner-status { color:#b8c9bd; font-size:9px; font-weight:600; }
.planner-inline-warning { border:1px solid rgba(205,182,120,.25); background:rgba(205,182,120,.04); border-radius:14px; padding:14px; }
.planner-inline-warning strong,.planner-inline-warning span { display:block; }
.planner-inline-warning strong { font-size:11px; }
.planner-inline-warning span { margin-top:5px; color:var(--muted); font-size:9px; line-height:1.45; }

.simulator-input-panel,.simulator-result-panel { min-height:390px; }
.simulator-segments { display:flex; gap:6px; flex-wrap:wrap; }
.simulator-segments button { border:1px solid var(--line); background:#0d0f12; color:var(--muted); border-radius:10px; padding:8px 11px; font-size:9px; }
.simulator-segments button.is-active { background:#eef0f2; border-color:#eef0f2; color:#090a0c; }
.simulator-verdict { min-height:150px; display:flex; flex-direction:column; justify-content:center; border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:18px; }
.simulator-verdict h3 { margin:10px 0 8px; font:700 24px/1.2 Manrope,sans-serif; }
.simulator-verdict p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.simulator-verdict.is-good h3 { color:#dce8df; }
.simulator-verdict.is-warn h3 { color:#e4dcc7; }
.simulator-verdict.is-danger h3 { color:#ead4d4; }
.simulator-metrics { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.simulator-metrics>div { border:1px solid rgba(255,255,255,.06); border-radius:13px; padding:12px; background:#0a0c0f; }
.simulator-metrics span,.simulator-metrics strong { display:block; }
.simulator-metrics span { color:var(--muted); font-size:9px; }
.simulator-metrics strong { margin-top:6px; font-size:13px; }
.simulator-metrics .is-negative { color:#d99d9d; }
.simulator-scenarios-panel { margin-top:14px; }
.simulator-scenarios { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.scenario-card { border:1px solid var(--line); border-radius:14px; background:#0b0d10; padding:13px; cursor:pointer; transition:.15s ease; }
.scenario-card:hover,.scenario-card.is-active { border-color:rgba(255,255,255,.24); background:#101318; }
.scenario-card span,.scenario-card strong,.scenario-card small { display:block; }
.scenario-card span { color:var(--muted); font-size:9px; }
.scenario-card strong { margin-top:8px; font-size:14px; }
.scenario-card small { margin-top:6px; color:var(--muted); font-size:8px; line-height:1.4; }

.life-plan-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.life-plan-summary article { border-radius:16px; padding:16px; }
.life-plan-summary article.is-alert { border-color:rgba(196,127,127,.28); }
.life-plan-summary span,.life-plan-summary small { display:block; color:var(--muted); }
.life-plan-summary span { font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.life-plan-summary strong { display:block; margin-top:8px; font:700 18px/1.1 Manrope,sans-serif; }
.life-plan-summary small { margin-top:6px; font-size:9px; line-height:1.35; }
.life-plans-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.life-plan-card { border-radius:18px; padding:18px; }
.life-plan-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.life-plan-top h3 { margin:9px 0 0; font:700 16px/1.25 Manrope,sans-serif; }
.priority-badge { display:inline-flex; border-radius:999px; padding:4px 7px; font-size:7px; letter-spacing:.08em; border:1px solid var(--line); color:var(--muted); }
.priority-high { color:#dcc5c5; border-color:rgba(196,127,127,.28); }
.priority-low { color:#bcc4cc; }
.life-plan-actions { display:flex; gap:5px; }
.life-plan-money { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:7px; align-items:end; margin-top:24px; }
.life-plan-money strong { font:700 20px/1 Manrope,sans-serif; }
.life-plan-money span { color:var(--muted); font-size:9px; }
.life-plan-money b { font-size:10px; }
.life-plan-track { height:6px; border-radius:99px; background:rgba(255,255,255,.06); overflow:hidden; margin-top:10px; }
.life-plan-track span { display:block; height:100%; background:#dce1e6; border-radius:inherit; }
.life-plan-foot { display:flex; justify-content:space-between; gap:12px; margin-top:12px; color:var(--muted); font-size:9px; }
.planner-modal .field { margin-bottom:12px; }

.score-layout { align-items:stretch; }
.score-main-card { border-radius:22px; padding:24px; display:grid; grid-template-columns:170px minmax(0,1fr); gap:26px; align-items:center; }
.score-ring { --score:0deg; width:150px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:conic-gradient(#dce2e8 var(--score),rgba(255,255,255,.07) 0); position:relative; }
.score-ring::after { content:""; position:absolute; inset:11px; border-radius:50%; background:#0d0f12; border:1px solid rgba(255,255,255,.05); }
.score-ring>div { position:relative; z-index:1; text-align:center; }
.score-ring strong { display:block; font:700 42px/1 Manrope,sans-serif; letter-spacing:-.04em; }
.score-ring span { color:var(--muted); font-size:9px; }
.score-main-copy h3 { margin:10px 0 8px; font:700 22px/1.25 Manrope,sans-serif; }
.score-main-copy p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.score-breakdown { display:flex; flex-direction:column; gap:14px; }
.score-row>div:first-child { display:flex; justify-content:space-between; gap:10px; font-size:10px; }
.score-row>div:first-child b { color:var(--muted); font-weight:500; }
.score-row>div:last-child { margin-top:7px; height:5px; border-radius:99px; overflow:hidden; background:rgba(255,255,255,.06); }
.score-row i { display:block; height:100%; background:#d7dce1; border-radius:inherit; }
.score-next-card { margin-top:14px; }
.score-recommendation strong { font:700 15px/1.3 Manrope,sans-serif; }
.score-recommendation p { max-width:700px; margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }

@media (max-width:1180px) {
  .finance-smart-actions { grid-template-columns:repeat(2,1fr); }
  .spending-radar { grid-template-columns:repeat(2,1fr); }
  .simulator-scenarios { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px) {
  .finance-home-main,.planner-hero-grid,.planner-two-column,.simulator-layout,.score-layout,.food-insight-content { grid-template-columns:1fr; }
  .finance-home-stat-stack { grid-template-columns:repeat(3,1fr); }
  .finance-inline-stat { display:flex; flex-direction:column; align-items:flex-start; }
  .finance-inline-stat>strong { margin-top:8px; }
  .life-plans-list { grid-template-columns:1fr; }
  .score-main-card { grid-template-columns:140px minmax(0,1fr); }
  .score-ring { width:125px; }
}
@media (max-width:640px) {
  .finance-welcome-row--compact { align-items:flex-start; }
  .finance-home-stat-stack,.spending-radar,.life-plan-summary { grid-template-columns:1fr; }
  .finance-smart-actions { grid-template-columns:1fr 1fr; }
  .finance-smart-actions button { grid-template-columns:28px minmax(0,1fr); }
  .finance-smart-actions button>b { display:none; }
  .finance-smart-actions button small { white-space:normal; }
  .planner-field-grid,.outing-items,.outing-result-strip,.simulator-metrics { grid-template-columns:1fr; }
  .outing-items label:last-child { grid-column:auto; }
  .simulator-scenarios { grid-template-columns:1fr 1fr; }
  .score-main-card { grid-template-columns:1fr; text-align:center; }
  .score-ring { margin:0 auto; }
  .life-plan-foot { flex-direction:column; gap:5px; }
  .food-insight-bars>div { grid-template-columns:90px minmax(0,1fr); }
  .food-insight-bars b { grid-column:2; }
}

/* Navegação desktop mais compacta para acomodar as novas áreas sem poluir. */
.sidebar { overflow-y:auto; }
.side-nav { margin-top:28px; gap:4px; }
.nav-item { padding:10px 12px; }
.nav-icon { font-size:16px; }
