:root{--navy: #0b1f44;--navy-2: #122a56;--navy-3: #1a3a6e;--teal: #1aa7a3;--teal-dark: #12827f;--green: #2f9e5f;--green-deep: #1d7a45;--red: #d94b4b;--red-deep: #b43333;--pink: #ef8a8a;--text: #243044;--muted: #7b8796;--line: #e4eaf1;--bg: #eef2f6;--card: #ffffff;--shadow: 0 8px 24px rgba(15, 40, 80, .06);--radius: 14px;font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:292px 1fr;height:100vh;overflow:hidden;background:radial-gradient(900px 420px at -10% -10%,#ffe8d6 0%,transparent 55%),#f6f3ee;padding:16px;gap:16px}.sidebar{background:#fffdfb;color:#2a241f;display:flex;flex-direction:column;padding:18px 14px 14px;border-radius:28px;border:1px solid #efe6dc;box-shadow:0 18px 40px #482a1214}.brand{display:flex;align-items:center;gap:12px;padding:6px 8px 18px}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy small{color:#9a8878;font-size:12px;font-weight:600;margin-top:3px}.brand .text{color:#1c1714;font-weight:800;font-size:22px;letter-spacing:-.04em}.brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#ff8a4c,#e85d4c 55%,#7c4dff);display:grid;place-items:center;box-shadow:0 8px 16px #e85d4c47}.brand-mark span{width:12px;height:12px;background:#fffdfb;border-radius:4px;transform:rotate(18deg)}.nav{display:flex;flex-direction:column;gap:8px;flex:1;overflow:auto;min-height:0}.nav-group{display:grid;gap:4px}.nav-group-btn{width:100%;text-align:left;background:transparent;cursor:pointer}.nav-caret{margin-left:auto;width:18px;height:18px;color:#9a8878;display:grid;place-items:center;flex:0 0 auto}.nav-caret svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.nav-caret.open{transform:rotate(90deg)}.nav-item.active .nav-caret{color:#d8c8bc}.nav-group.current .nav-group-btn{background:#fff4ec}.nav-sub{margin-left:48px;margin-right:6px;padding:8px 12px;border-radius:14px;color:#4a4038;text-decoration:none;font-size:13px;font-weight:700}.nav-sub:hover{background:#fff4ec}.nav-sub.active{background:#1c1714;color:#fffdfb}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#4a4038;text-decoration:none;border-radius:18px;border:1px solid transparent}.nav-item:hover{background:#fff4ec;color:#1c1714}.nav-item.active{background:#1c1714;color:#fffdfb;box-shadow:0 10px 20px #1c171429}.nav-icon{width:36px;height:36px;border-radius:12px;background:#fff1e6;color:#e85d4c;display:grid;place-items:center;flex:0 0 auto}.nav-item.active .nav-icon{background:#ffffff1f;color:#ffb088}.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.nav-copy strong{font-size:14px;font-weight:700;letter-spacing:-.02em}.nav-copy small{font-size:12px;color:#9a8878;font-weight:600}.nav-item.active .nav-copy small{color:#d8c8bc}.sidebar-foot{margin-top:auto;display:flex;justify-content:space-between;gap:8px;padding:14px 10px 4px;font-size:12px;color:#9a8878;font-weight:600}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:transparent}.topbar{background:#fffdfbdb;border:1px solid #efe6dc;border-radius:22px;box-shadow:0 10px 24px #482a120d;display:flex;align-items:center;gap:16px;padding:10px 22px;min-height:64px}.family-select,.date-input,select,input,textarea{font:inherit;color:var(--text)}.family-select{border:1px solid var(--line);border-radius:20px;padding:7px 14px;min-width:180px;background:#fff}.crumb{color:var(--muted);font-size:13px}.crumb strong{color:var(--text)}.spacer{flex:1}.dates{display:flex;align-items:center;gap:8px}.date-input{border:1px solid var(--line);border-radius:8px;padding:6px 10px;width:138px}.btn{border:0;cursor:pointer;font:inherit;font-weight:700;border-radius:20px;padding:8px 16px}.btn-teal{background:#1c1714;color:#fffdfb}.btn-teal:hover{background:#3a312b}.btn-navy{background:#4d6a9a;color:#fff}.btn-navy:hover{background:#3d587f}.btn-outline{background:#fff;color:#3d587f;border:1px solid #9db0cc}.btn-ghost{background:transparent;color:#4d6a9a}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:inline-grid;place-items:center;color:#6b5d50}.icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn.danger{color:#c2412f}.user-chip{display:flex;align-items:center;gap:8px;font-size:13px}.user-chip small{display:block;color:var(--muted);font-weight:500}.avatar{width:34px;height:34px;border-radius:50%;background:#dce8f8;color:#1a3a6e;display:grid;place-items:center;font-weight:800}.content{padding:16px 4px 8px;flex:1;min-height:0;overflow:auto}.page-grid{display:grid;grid-template-columns:1fr 320px;gap:16px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card h3{margin:0 0 12px;font-size:15px;font-weight:700}.chart-wrap{height:280px}.summary-row{display:flex;flex-direction:column;gap:8px}.summary-item{display:grid;grid-template-columns:28px 1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f3f7;font-size:13px}.summary-item:last-child{border-bottom:0;font-weight:800}.summary-item b{min-width:92px;text-align:right}.summary-item .est{color:var(--muted);min-width:92px;text-align:right;font-weight:600}.tone-receita{color:var(--green-deep)}.tone-despesa{color:var(--red)}.tone-investimento{color:#5b6b7c}.tone-divida{color:#c47b12}.tone-saldo{color:var(--text)}.cat-list{max-height:420px;overflow:auto;padding-right:4px}.cat-row{padding:10px 0 12px;border-bottom:1px solid #f0f3f7}.cat-row header{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.cat-row .sub{color:var(--muted);font-size:12px;margin:2px 0 6px}.bar{height:6px;background:#f1dfe0;border-radius:99px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--red);border-radius:99px}.bar.alert>span{background:#9b1c1c}.cat-row .vals{display:flex;justify-content:space-between;font-size:12px;margin-top:4px}.cat-row .vals .pct{color:var(--red);font-weight:700}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.kpi{background:#fff;border-radius:12px;padding:12px 16px;box-shadow:var(--shadow);border-top:3px solid #ccc}.kpi.receita{border-top-color:var(--green)}.kpi.despesa{border-top-color:var(--red)}.kpi.investimento{border-top-color:#8aa0b8}.kpi.divida{border-top-color:#e09b2d}.kpi .label{font-size:11px;letter-spacing:.06em;color:var(--muted);font-weight:800}.kpi .value{font-size:22px;font-weight:800;margin-top:4px}.kpi .of{color:var(--muted);font-size:13px;font-weight:600}.toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.tree{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}table.tree-table{width:100%;border-collapse:collapse;font-size:13px}.tree-table th{text-align:left;padding:10px 12px;background:#f7f9fc;color:#5d6b7c;font-size:12px;font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap}.tree-table td{padding:9px 12px;border-bottom:1px solid #f0f3f7;vertical-align:middle}.tree-table .num{text-align:right;font-variant-numeric:tabular-nums}.row-receita{background:#eaf8ef}.row-despesa,.row-investimento,.row-divida{background:#fdeeee}.row-cat{background:#fff5f5}.row-tx{background:#fff;color:#526070}.toggle{border:0;background:transparent;cursor:pointer;width:22px;font-size:12px;color:#6b7c90}.badge-type{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.badge-type.receita{background:var(--green)}.badge-type.despesa{background:var(--red)}.badge-type.investimento{background:#6d7f93}.badge-type.divida{background:#e09b2d}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14203673;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:#fff;width:min(760px,100%);border-radius:16px;box-shadow:0 20px 60px #0003;max-height:92vh;overflow:auto}.modal.narrow{width:min(560px,100%)}.modal.wide{width:min(1080px,100%)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.plan-editor{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:20px;align-items:start}.plan-editor-photo{position:relative;border-radius:18px;overflow:hidden;background:#f3ebe4;min-height:220px}.plan-editor-photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:240px}.plan-editor-fields{display:grid;gap:12px}.plan-photo-upload{position:absolute;left:12px;right:12px;bottom:12px;background:#fffdfbeb;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:700;text-align:center;cursor:pointer}.plan-photo-upload input{display:none}.modal-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:2px 0 0;color:var(--muted);font-size:13px}.modal-x{margin-left:auto;border:0;background:transparent;font-size:22px;cursor:pointer;color:#7b8796}.plus-badge{width:42px;height:42px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800}.plus-badge.teal{background:var(--teal)}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 18px}.tab{background:none;border:0;padding:12px 16px;cursor:pointer;color:#6b7c90;font-weight:700;border-bottom:2px solid transparent}.tab.active{color:var(--red);border-bottom-color:var(--red)}.tab.active.receita{color:var(--green-deep);border-bottom-color:var(--green)}.modal-body{padding:18px;display:grid;gap:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}label.field{display:grid;gap:6px;font-size:13px;font-weight:700}label.field input,label.field select,label.field textarea{border:1px solid #cfd8e3;border-radius:10px;padding:10px 12px;font-weight:500}label.field input:focus,label.field select:focus,label.field textarea:focus{outline:2px solid #c9e8e7;border-color:#3d7ec9}.field-hint{color:var(--muted);font-size:12px;font-weight:500}.radios{display:flex;gap:18px;font-weight:600}.switch-row{display:flex;align-items:center;gap:10px;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:8px 18px 18px}.error{color:var(--red);font-size:13px}.empty{color:var(--muted);padding:24px;text-align:center}.placeholder{background:#fff;border-radius:var(--radius);padding:48px;text-align:center;color:var(--muted);box-shadow:var(--shadow)}.plans-page{display:grid;gap:18px}.plans-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:4px 6px 0}.plans-head h2{margin:4px 0 0;font-size:28px;font-weight:800;letter-spacing:-.04em;color:#1c1714}.plans-sub{margin:8px 0 0;color:#6b5d50;font-size:14px}.dream-goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.pat-page{display:grid;gap:22px}.pat-section h3{margin:0 0 12px;font-size:16px;letter-spacing:-.02em}.pat-groups{display:grid;gap:14px}.pat-group{background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;overflow:hidden;box-shadow:0 10px 24px #482a120a}.pat-group-head{width:100%;display:flex;align-items:center;gap:10px;border:0;background:#fff;padding:14px 16px;cursor:pointer;font:inherit;text-align:left}.pat-group-head strong{font-size:16px;letter-spacing:-.02em}.pat-table-wrap{overflow:auto}.pat-table-wrap.cardish{background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;overflow:auto;box-shadow:0 10px 24px #482a120a}.pat-table{width:100%;border-collapse:collapse;font-size:13px}.pat-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9a8878;border-bottom:1px solid #f3ebe4;background:#fbf6f1}.pat-table th.num,.pat-table td.num{text-align:right;font-variant-numeric:tabular-nums}.pat-table td{padding:10px 16px;border-bottom:1px solid #f7f1eb;vertical-align:middle}.pat-table tr:last-child td{border-bottom:0}.pat-summary td{background:#fbf8f5;font-weight:700}.pat-name{display:grid;gap:2px}.pat-name small{color:#9a8878;font-size:12px}.pat-table .evo.up{color:#1d7a45}.pat-table .evo.down{color:#c2412f}.pat-dist{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-width:140px}.pat-dist span{height:8px;border-radius:99px;background:#7c4dff;display:block}.pat-dist em{font-style:normal;font-size:12px;font-weight:700;color:#6b5d50;min-width:48px;text-align:right}.dest-page{display:grid;gap:18px;min-height:0}.dest-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:16px;min-height:0;align-items:start}.dest-pane{background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;overflow:hidden;box-shadow:0 10px 24px #482a120a}.dest-pane-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #f3ebe4}.dest-pane-head h3{margin:0;font-size:16px;letter-spacing:-.02em}.dest-table-wrap{overflow:auto}.dest-table{width:100%;border-collapse:collapse;font-size:13px}.dest-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9a8878;border-bottom:1px solid #f3ebe4;background:#fbf6f1}.dest-table th.num,.dest-table td.num{text-align:right;font-variant-numeric:tabular-nums}.dest-table td{padding:10px 14px;border-bottom:1px solid #f7f1eb;vertical-align:middle}.dest-table>tbody>tr.dest-asset:last-child td{border-bottom:0}.dest-name-btn{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;text-align:left;color:inherit}.dest-actions{text-align:right;white-space:nowrap}.dest-arrow{width:34px;height:34px;border-radius:50%;border:0;background:#1d4ed8;color:#fff;cursor:pointer;display:inline-grid;place-items:center}.dest-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.dest-arrow:hover{background:#1e40af}.dest-nested-wrap>td{background:#fbf8f5;padding:6px 14px 14px 52px}.dest-nested{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid #efe6dc;border-radius:16px;overflow:hidden}.dest-nested th{text-align:left;padding:8px 12px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9a8878;border-bottom:1px solid #f3ebe4;background:#fffdfb}.dest-nested th.num,.dest-nested td.num{text-align:right;font-variant-numeric:tabular-nums}.dest-nested td{padding:8px 12px;border-bottom:1px solid #f7f1eb}.dest-nested tr:last-child td{border-bottom:0}.dest-plan-name{display:flex;align-items:center;gap:10px;min-width:0}.dest-plan-name strong{overflow:hidden;text-overflow:ellipsis}.dest-plan-name img,.dest-plan-fallback{width:36px;height:36px;border-radius:10px;object-fit:cover;background:#efe6dc;flex:0 0 auto}.asset-pick{display:grid;gap:8px;margin-top:8px;max-height:240px;overflow:auto}.asset-pick button{display:grid;gap:2px;text-align:left;border:1px solid #efe6dc;background:#fff;border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}.asset-pick button small{color:#9a8878}.asset-pick button.on{border-color:#1c1714;background:#fff4ec}.dream-goals-empty{grid-column:1 / -1}.dream-goal-card{cursor:pointer;background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;overflow:hidden;box-shadow:0 12px 28px #482a120f;display:flex;flex-direction:column}.dream-goal-card.inactive{opacity:.72}.dream-goal-card.inactive .dream-goal-media img{filter:grayscale(.35)}.dream-goal-media{position:relative;aspect-ratio:4 / 3;background:linear-gradient(145deg,#f3ebe4,#e8ddd4)}.dream-goal-media img{width:100%;height:100%;object-fit:cover;display:block}.dream-goal-fallback{width:100%;height:100%;background:linear-gradient(160deg,#dce8f8,#f3ebe4)}.dream-goal-rank{position:absolute;top:12px;left:12px;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:#1c1714e0;color:#fffdfb;font-size:14px;font-weight:800;display:grid;place-items:center;box-shadow:0 6px 16px #0003}.dream-goal-progress{position:absolute;left:12px;right:12px;bottom:12px;height:22px;border-radius:99px;background:#fffdfb59;overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dream-goal-progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1c1714,#3d312b);min-width:0}.dream-goal-progress em{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;color:#fffdfb;text-shadow:0 1px 2px rgba(0,0,0,.45)}.dream-goal-body{padding:14px 16px 16px;display:grid;gap:8px}.dream-goal-body h3{margin:0;font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.02em;color:#1c1714}.dream-goal-values{margin:0;font-size:13px;font-weight:600;color:#6b5d50;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.dream-goal-values .sep{color:#9a8878;font-weight:500}.dream-goal-toggle{justify-self:start;font-size:12px;padding:6px 12px}.plan-id{display:flex;align-items:center;gap:12px}.plan-id img,.plan-fallback{width:52px;height:52px;border-radius:14px;object-fit:cover;background:#f3ebe4;flex:0 0 auto}.dream-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:22px;background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;padding:16px}.dream-form .btn{height:42px}.dream-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:18px}.dream-card{background:#fffdfb;border:1px solid #efe6dc;border-radius:20px;overflow:hidden}.dream-card img{width:100%;height:140px;object-fit:cover;display:block;background:#f3ebe4}.dream-card div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px}.dream-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.dream-pick button{border:1px solid #efe6dc;background:#fff;border-radius:16px;padding:8px;cursor:pointer;font:inherit;color:inherit;display:grid;gap:6px;text-align:left}.dream-pick button.on{border-color:#1c1714;box-shadow:0 0 0 1px #1c1714}.dream-pick img{width:100%;height:84px;object-fit:cover;border-radius:10px;background:#f3ebe4}.dream-pick span{font-size:13px;font-weight:700}.tx-plan-pick .plan-fallback{display:block;width:100%;height:84px;border-radius:10px}.dream-custom{display:grid;gap:8px;padding:14px;border-radius:16px;background:#fff8f2;border:1px solid #efe6dc}.dream-custom p{margin:0;color:#6b5d50;font-size:13px}.search-list{border:1px solid #cfd8e3;border-radius:10px;max-height:180px;overflow:auto;background:#fff}.search-list button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:8px 12px;cursor:pointer}.search-list button:hover{background:#f3f7fb}.search-list .meta{color:var(--muted);font-size:12px}.dash{display:grid;gap:14px;height:100%;grid-template-rows:auto auto minmax(0,1fr)}.dash-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 32px;border-radius:28px;background:radial-gradient(420px 180px at 90% 0%,rgba(255,138,76,.35),transparent 60%),#1c1714;color:#fffdfb}.dash-hero h1{margin:6px 0 0;font-size:52px;letter-spacing:-.05em;font-weight:800;line-height:1}.eyebrow{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#d8c8bc;font-weight:700}.hero-sub{margin:10px 0 0;color:#d8c8bc;font-weight:600}.hero-plans{min-width:240px;background:#fffdfb14;border:1px solid rgba(255,253,251,.12);border-radius:20px;padding:16px 18px;display:grid;gap:4px}.hero-plans span,.hero-plans small{color:#d8c8bc;font-size:13px}.hero-plans strong{font-size:28px;letter-spacing:-.04em}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-card{background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;padding:16px 16px 14px;box-shadow:0 10px 24px #482a120a}.metric-card header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}.metric-card header em{font-style:normal;color:#9a8878;font-weight:700}.metric-card strong{display:block;margin-top:14px;font-size:26px;letter-spacing:-.04em}.metric-card p{margin:4px 0 12px;color:#9a8878;font-size:13px}.meter{height:8px;border-radius:99px;background:#f3ebe4;overflow:hidden}.meter span{display:block;height:100%;border-radius:99px;background:#1c1714}.metric-card.tone-receita .meter span{background:#2f9e5f}.metric-card.tone-despesa .meter span{background:#e85d4c}.metric-card.tone-investimento .meter span{background:#7c4dff}.metric-card.tone-divida .meter span{background:#e0a106}.cfg-page,.ex-page{display:grid;gap:16px;min-height:0}.ex-head-actions{display:flex;gap:8px;flex-wrap:wrap}.metric-grid.ex-kpis{grid-template-columns:minmax(160px,.9fr) repeat(4,minmax(0,1fr))}button.ex-kpi{font:inherit;color:inherit;text-align:left;cursor:pointer;border:1px solid #efe6dc}button.ex-kpi.on{border-color:#1c1714;box-shadow:0 10px 24px #1c171414;outline:2px solid #1c1714;outline-offset:-2px}button.ex-kpi.tone-despesa.on{outline-color:#e85d4c;border-color:#e85d4c}button.ex-kpi.tone-receita.on{outline-color:#2f9e5f;border-color:#2f9e5f}button.ex-kpi.tone-investimento.on{outline-color:#7c4dff;border-color:#7c4dff}button.ex-kpi.tone-divida.on{outline-color:#e0a106;border-color:#e0a106}.ex-card{background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;overflow:hidden;box-shadow:0 10px 24px #482a120a}.ex-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #f3ebe4}.ex-toolbar strong{font-size:16px;letter-spacing:-.02em}.ex-search{border:1px solid #efe6dc;border-radius:999px;padding:8px 14px;min-width:260px;background:#fff}.ex-table-wrap{overflow:auto;max-height:min(62vh,720px)}.ex-table{width:100%;border-collapse:collapse;font-size:13px}.ex-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9a8878;border-bottom:1px solid #f3ebe4;background:#fbf6f1;position:sticky;top:0;z-index:1}.ex-table th.num,.ex-table td.num{text-align:right;font-variant-numeric:tabular-nums}.ex-table td{padding:10px 14px;border-bottom:1px solid #f7f1eb;vertical-align:middle}.ex-table tr.neutral td{color:#9a8878}.ex-table tr:hover td{background:#fffaf6}.ex-center{text-align:center}.ex-desc{display:grid;gap:2px}.ex-desc small{color:#9a8878;font-size:12px}.tx-amt.receita{color:#1d7a45}.tx-amt.despesa{color:#c2412f}.tx-amt.investimento{color:#5b34d6}.tx-amt.divida{color:#a87806}.ex-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:99px;border:0;background:#efe6dc;position:relative;cursor:pointer;vertical-align:middle}.ex-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 4px #1c171433}.ex-switch:checked{background:#1c1714}.ex-switch:checked:after{transform:translate(16px)}.ex-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #f3ebe4;background:#fffdfb}.ex-foot-totals{display:flex;flex-wrap:wrap;gap:16px 22px;font-size:13px;color:#6b5d50}.ex-foot-totals strong{color:#1c1714;font-variant-numeric:tabular-nums}.ex-pager{display:flex;align-items:center;gap:8px;font-size:13px}.ex-pager label{display:flex;align-items:center;gap:6px;color:#9a8878;font-weight:700}.ex-pager select{border:1px solid #efe6dc;border-radius:10px;padding:4px 8px;background:#fff}.dash-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;align-items:stretch;min-height:0}.dash-panel{border:1px solid #efe6dc;border-radius:24px;box-shadow:none;padding:18px 18px 12px;display:flex;flex-direction:column;min-width:0;min-height:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.panel-head h3{margin:0;font-size:18px;letter-spacing:-.03em}.panel-head p{margin:4px 0 0;color:#9a8878;font-size:13px}.panel-head strong{font-size:20px;letter-spacing:-.03em}.donut-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,34%);gap:8px 16px;align-items:stretch;flex:1;min-height:0}.donut{position:relative;height:100%;min-height:200px}.donut .recharts-sector{transition:opacity .2s ease;outline:none}.donut .recharts-surface{overflow:visible}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding:0 22%}.donut-center span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a8878;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-center strong{margin-top:6px;font-size:26px;font-weight:800;letter-spacing:-.04em;color:#1c1714;font-variant-numeric:tabular-nums}.donut-center small{margin-top:4px;font-size:12px;font-weight:600;color:#9a8878}.share-list{list-style:none;margin:0;padding:4px 0 0;display:grid;align-content:center;gap:4px;overflow:auto;min-height:0}.share-list li{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:4px 10px;align-items:center;font-size:13px;padding:7px 10px;border-radius:12px;cursor:default;transition:background .15s ease,opacity .2s ease}.share-list li.active{background:#fbf4ee}.share-list li.dim{opacity:.45}.share-bar{grid-column:2 / -1;height:3px;border-radius:99px;background:#f3ebe4;overflow:hidden}.share-bar span{display:block;height:100%;border-radius:99px}.share-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-list i{width:10px;height:10px;border-radius:99px}.share-list b{font-variant-numeric:tabular-nums}.share-list em{font-style:normal;color:#9a8878;min-width:36px;text-align:right}.cat-list.modern{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-content:start;flex:1;min-height:0;max-height:none}.cat-list.modern .cat-row{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid #f3ebe4}.cat-main{display:flex;justify-content:space-between;gap:12px}.cat-main strong{font-size:14px}.cat-main span,.cat-track .vals em{color:#9a8878;font-style:normal;font-size:12px}.cat-track .vals{display:flex;gap:8px;align-items:baseline}.cat-track .vals b{margin-left:auto;color:#1c1714}.cat-row.alert .bar>span{background:#9b1c1c}.cat-row.alert .vals b{color:#9b1c1c}.bm{display:grid;gap:14px}.bm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:4px 6px 0}.bm-head h2{margin:4px 0 0;font-size:28px;font-weight:800;letter-spacing:-.04em;color:#1c1714}.bm-eyebrow{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9a8878;font-weight:700}.bm-actions{display:flex;gap:8px}.bm-btn-ghost{background:#fffdfb;color:#1c1714;border:1px solid #e6d9cc}.bm-btn-ghost:hover{background:#fff4ec}.bm-table-card{background:#fffdfb;border:1px solid #efe6dc;border-radius:24px;overflow:auto;box-shadow:0 10px 24px #482a120a}.bm-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.bm-table th{position:sticky;top:0;z-index:1;text-align:left;padding:14px;background:#fbf6f1;color:#9a8878;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #efe6dc;white-space:nowrap}.bm-table td{padding:11px 14px;border-bottom:1px solid #f3ebe4;vertical-align:middle}.bm-table .num,.bm-tx-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bm-table th.num{text-align:right}.bm-table .muted,.bm-tx-table .muted{color:#9a8878}.bm-table .strong,.bm-tx-table .strong{font-weight:800;color:#1c1714}.bm-col-progress{min-width:170px}.bm-row-budget,.bm-row-cat{cursor:pointer;-webkit-user-select:none;user-select:none}.bm-row-budget td{background:#fffdfb;font-size:14px}.bm-row-budget td:first-child{box-shadow:inset 4px 0 #c9b8a8}.bm-row-budget.accent-receita td:first-child{box-shadow:inset 4px 0 #2f9e5f}.bm-row-budget.accent-despesa td:first-child{box-shadow:inset 4px 0 #e85d4c}.bm-row-budget.accent-investimento td:first-child{box-shadow:inset 4px 0 #7c4dff}.bm-row-budget.accent-divida td:first-child{box-shadow:inset 4px 0 #e0a106}.bm-row-budget:hover td{background:#fff8f2}.bm-row-cat td{background:#fbf8f5;color:#4a4038}.bm-row-cat:hover td{background:#f7f0ea}.bm-row-cat.suspended td{opacity:.6}.bm-name{display:flex;align-items:center;gap:10px;min-width:0}.bm-name strong{color:#1c1714;letter-spacing:-.02em}.bm-indent{padding-left:30px}.org-indent-1{padding-left:28px}.org-indent-2{padding-left:56px}.org-indent-3{padding-left:84px}.org-row-member td{background:#fff}.org-row-member:hover td{background:#fffaf6}.picker-body.wide{max-width:1080px}.org-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.org-actions .btn{padding:6px 12px;font-size:12px}.org-actions .icon-btn{width:32px;height:32px}.bm-chevron{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #efe6dc;border-radius:9px;background:#fff;color:#9a8878;cursor:pointer;transition:background .15s,color .15s}.bm-chevron:hover{background:#fff4ec;color:#e85d4c}.bm-chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.bm-chevron.open{background:#1c1714;border-color:#1c1714;color:#fffdfb}.bm-chevron.open svg{transform:rotate(90deg)}.bm-type-pill{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:#f3ebe4;color:#6b5d50}.bm-type-pill.receita{background:#e3f4ea;color:#1d7a45}.bm-type-pill.despesa{background:#fde6e2;color:#c2412f}.bm-type-pill.investimento{background:#ece6ff;color:#5b34d6}.bm-type-pill.divida{background:#fcf0d2;color:#a87806}.bm-tag{margin-left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:99px;background:#f3ebe4;color:#9a8878}.bm-count{display:inline-block;min-width:28px;padding:2px 8px;border-radius:99px;background:#1c1714;color:#fffdfb;font-weight:700;font-size:12px;text-align:center}.bm-count.light{background:#f3ebe4;color:#6b5d50}.bm-progress{display:flex;align-items:center;gap:10px}.bm-progress-bar{flex:1;height:6px;border-radius:99px;background:#f3ebe4;overflow:hidden;min-width:70px}.bm-progress-bar span{display:block;height:100%;border-radius:99px;background:#1c1714}.bm-progress-bar.over span{background:#e85d4c}.bm-progress b{min-width:48px;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;color:#1c1714}.bm-progress b.over{color:#c2412f}.bm-row-tx-wrap>td{background:#fbf8f5;padding:4px 14px 14px 70px}.bm-tx-card{background:#fff;border:1px solid #efe6dc;border-radius:16px;overflow:hidden}.bm-tx-table{width:100%;border-collapse:collapse;font-size:13px}.bm-tx-table th{text-align:left;padding:9px 14px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9a8878;border-bottom:1px solid #f3ebe4;background:#fffdfb}.bm-tx-table th.num{text-align:right}.bm-tx-table td{padding:9px 14px;border-bottom:1px solid #f7f1eb}.bm-tx-table tr:last-child td{border-bottom:0}.bm-tx-table tbody tr:hover td{background:#fffaf6}.gate{height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);background:radial-gradient(900px 420px at -10% -10%,#ffe8d6 0%,transparent 55%),#f6f3ee}.gate-story{padding:36px 56px;display:flex;flex-direction:column;justify-content:center;min-width:0}.gate-story h1,.picker-body h1{margin:12px 0 0;max-width:680px;font-size:46px;line-height:1.05;letter-spacing:-.045em;color:#1c1714}.gate-lead{max-width:560px;margin:16px 0 0;color:#6b5d50;font-size:16px;line-height:1.5}.gate-points{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;max-width:560px}.gate-points li{background:#fffdfbdb;border:1px solid #efe6dc;border-radius:18px;padding:14px 16px;display:grid;gap:4px}.gate-points strong{letter-spacing:-.02em}.gate-points span{color:#6b5d50;font-size:14px}.gate-panel{display:grid;place-items:center;padding:28px;background:#1c1714}.login-card{width:min(420px,100%);background:#fffdfb;border-radius:28px;padding:28px 26px;display:grid;gap:12px}.login-card h2{margin:2px 0 0;font-size:32px;letter-spacing:-.04em}.login-lead{margin:0;color:#6b5d50;font-size:14px;line-height:1.45}.login-submit{width:100%;padding:12px 16px}.demo-logins{display:grid;gap:8px;margin-top:6px}.demo-logins>span{font-size:12px;font-weight:700;color:#9a8878}.demo-login{display:grid;grid-template-columns:92px 1fr;column-gap:10px;text-align:left;border:1px solid #efe6dc;background:#fff;border-radius:16px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}.demo-login b{grid-row:1 / span 2;align-self:center;color:#c2412f;font-size:13px}.demo-login small{font-weight:700}.demo-login em{font-style:normal;color:#9a8878;font-size:12px}.demo-login:hover{background:#fff4ec}.picker{height:100%;overflow:auto;padding:28px 40px 48px;background:radial-gradient(900px 420px at -10% -10%,#ffe8d6 0%,transparent 55%),#f6f3ee}.picker-head{display:flex;justify-content:space-between;align-items:center;max-width:880px;margin:0 auto}.picker-body{max-width:880px;margin:56px auto 0}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:28px}.staff-block{margin-top:28px}.staff-block h2{margin:0 0 12px;font-size:18px;letter-spacing:-.03em}.staff-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px;background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;padding:16px}.staff-form.stacked{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.staff-form .btn{height:42px}.staff-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.staff-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fffdfb;border:1px solid #efe6dc;border-radius:16px;padding:12px 14px}.staff-list li div{display:grid;gap:2px}.staff-list small{color:#9a8878}.family-card{text-align:left;border:1px solid #efe6dc;background:#fffdfb;border-radius:22px;padding:18px;display:grid;gap:4px;cursor:pointer;font:inherit;color:inherit;box-shadow:0 10px 24px #482a120a}.family-card:hover{border-color:#e8b5a8}.family-card strong{font-size:18px;letter-spacing:-.03em}.family-card small{color:#9a8878}.family-card-mark{width:42px;height:42px;border-radius:14px;margin-bottom:10px;display:grid;place-items:center;background:#1c1714;color:#fffdfb;font-weight:800}.family-pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #efe6dc;border-radius:999px;padding:6px 8px 6px 14px}.family-pill strong{font-size:14px;white-space:nowrap}.family-pill button{border:0;background:#fff4ec;color:#c2412f;border-radius:999px;padding:6px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.pg-page{display:grid;gap:16px;min-height:0}.pg-kpis{grid-template-columns:minmax(140px,.7fr) minmax(0,1.4fr) minmax(0,1fr)}.pg-chart-card{background:#fffdfb;border:1px solid #efe6dc;border-radius:22px;box-shadow:0 10px 24px #482a120a;overflow:hidden}.pg-chart-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid #f3ebe4}.pg-chart-head h3{margin:0 auto 0 0;font-size:16px;letter-spacing:-.02em}.pg-horizons,.pg-views{display:flex;gap:4px;padding:3px;border-radius:999px;background:#f7f1eb}.pg-horizons button,.pg-views button{border:0;background:transparent;color:#6b5d50;border-radius:999px;padding:6px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.pg-horizons button.on,.pg-views button.on{background:#1c1714;color:#fffdfb}.pg-chart{height:340px;padding:8px 8px 4px}.pg-chart .recharts-surface{overflow:visible}.pg-tip{background:#fffdfb;border:1px solid #efe6dc;border-radius:14px;padding:10px 12px;min-width:200px;box-shadow:0 10px 24px #482a121a}.pg-tip header{font-size:12px;font-weight:800;margin-bottom:8px;color:#1c1714}.pg-tip-row{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:12px;color:#4a4038;margin-top:4px}.pg-tip-row span{display:inline-flex;align-items:center;gap:6px}.pg-tip-row i{width:8px;height:8px;border-radius:99px;flex:0 0 auto}.pg-tip-row b{font-variant-numeric:tabular-nums;color:#1c1714}.pg-tip-tag{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid #f3ebe4;font-size:12px;font-weight:700;color:#1d7a45}.pg-tip-tag b{font-variant-numeric:tabular-nums}.pg-table{min-width:1180px}.pg-head-actions{display:flex;gap:8px;flex-wrap:wrap}.pg-row{cursor:default}.pg-row.dirty td{background:#fff8f0}.pg-name{display:inline-flex;align-items:center;gap:10px;font-weight:700;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.pg-name:hover{color:#c2412f}.pg-name i{width:10px;height:10px;border-radius:99px;flex:0 0 auto}.pg-input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #efe6dc;border-radius:10px;padding:6px 8px;font:inherit;font-size:13px;background:#fff;color:#1c1714}.pg-input.num{text-align:right;font-variant-numeric:tabular-nums}.pg-input:focus{outline:2px solid #1c1714;outline-offset:1px;border-color:#1c1714}.pg-row.dirty .pg-input{border-color:#e8b5a8;background:#fffdfb}.pg-total td{background:#fbf6f1;font-weight:800;color:#1c1714}.pg-table td.strong{font-weight:800;color:#1c1714}@media (max-width: 1100px){.bm-head{flex-direction:column;align-items:flex-start}.gate{grid-template-columns:1fr;height:auto;min-height:100%}.gate-story{padding:28px 22px 12px}.gate-story h1,.picker-body h1{font-size:32px}.gate-panel{padding:22px}.dream-form,.staff-form,.staff-form.stacked,.plan-editor,.grid-3{grid-template-columns:1fr}.plans-head{flex-direction:column;align-items:flex-start}.dream-goals{grid-template-columns:1fr}.bm-row-tx-wrap>td{padding-left:14px}.page-grid,.kpis,.grid-2,.metric-grid,.dash-split,.donut-layout,.cat-list.modern,.dest-split,.metric-grid.ex-kpis,.pg-kpis{grid-template-columns:1fr}.pg-chart-head{flex-direction:column;align-items:stretch}.pg-chart{height:280px}.ex-search{min-width:0;width:100%}.ex-toolbar{flex-direction:column;align-items:stretch}.dest-nested-wrap>td{padding-left:14px}.donut{min-height:280px;height:280px}.dash-hero{flex-direction:column;align-items:flex-start}.dash-hero h1{font-size:40px}.app{grid-template-columns:88px 1fr;padding:10px;gap:10px;height:auto;min-height:100%;overflow:visible}.content{overflow:visible}.dash{height:auto;grid-template-rows:none}.cat-list.modern{max-height:420px}.brand-copy,.nav-copy,.sidebar-foot,.nav-caret{display:none}.nav-sub{margin-left:0;text-align:center;font-size:11px;padding:6px 4px}.brand{justify-content:center;padding-inline:0}.nav-item{justify-content:center;padding:8px}}
