:root{--canvas:#ecebe6;--white:#fff;--ink:#222624;--soft:#757d78;--forest:#426858;--forest2:#668a78;--sage:#dce7de;--sageLight:#eff4ef;--line:#e8e9e4;--sand:#f2eee4;--warn:#a76e40;--error:#a4534a;--shadow:0 10px 32px rgba(21,37,26,.028)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f9f9f7;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}.app-shell{margin:22px auto;max-width:1510px;min-height:calc(100vh - 44px);border-radius:18px;background:var(--canvas);padding:48px 34px 30px;display:flex;gap:28px;box-shadow:var(--shadow)}.sidebar{width:66px;flex:none;display:flex;flex-direction:column;align-items:center;gap:45px;padding-top:17px}.brandmark{height:40px;width:40px;position:relative;margin:0 auto}.brandmark span{position:absolute;top:5px;left:18px;width:5px;height:14px;transform-origin:2.5px 15px;background:var(--forest);border-radius:8px 8px 2px 2px}.brandmark span:nth-child(1){transform:rotate(0deg)}.brandmark span:nth-child(2){transform:rotate(45deg)}.brandmark span:nth-child(3){transform:rotate(90deg)}.brandmark span:nth-child(4){transform:rotate(135deg)}.brandmark span:nth-child(5){transform:rotate(180deg)}.brandmark span:nth-child(6){transform:rotate(225deg)}.brandmark span:nth-child(7){transform:rotate(270deg)}.brandmark span:nth-child(8){transform:rotate(315deg)}.brandmark:after{content:"";position:absolute;top:16px;left:16px;width:10px;height:10px;border:3px solid var(--canvas);border-radius:50%;background:var(--forest)}.side-nav,.nav-bottom{display:flex;flex-direction:column;align-items:center;gap:9px;background:white;padding:7px;border-radius:32px}.side-nav{flex:1 0 auto;max-height:340px}.nav-bottom{margin-top:auto;gap:16px;padding-bottom:12px}.navicon,.round-icon,.icon-button{border:0;background:transparent;color:#49534c;display:grid;place-items:center}.navicon{width:42px;height:42px;border-radius:50%;transition:.2s}.navicon:hover{background:#ebeee8}.navicon.active{background:#222428;color:#fff}.navicon svg{width:19px;height:19px}.avatar{width:36px;height:36px;background:#293e34;border-radius:100%;display:grid;place-items:center;font-size:11px;color:#fff;font-weight:800;letter-spacing:-.5px}.avatar span{color:#b9cbb9}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;gap:21px}.topbar{min-height:125px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:10px 2px 4px}.eyebrow{font-size:10px;letter-spacing:1.75px;text-transform:uppercase;color:#829087;font-weight:800;margin:0 0 15px}.eyebrow-dot{width:7px;height:7px;background:var(--forest2);border-radius:50%;display:inline-block;margin-right:6px}.headline h1{font-size:clamp(24px,3.1vw,34px);line-height:1.18;letter-spacing:-1.3px;margin:0 0 8px;font-family:Manrope,sans-serif;font-weight:700}.headline p{font-size:13px;color:#777d78;margin:0}.header-right{display:flex;align-items:center;gap:9px;margin-top:12px}.access-pill,.date-pill{border-radius:99px;padding:11px 13px;white-space:nowrap;font-size:10px;font-weight:800;letter-spacing:.2px;background:white;color:#5b645e}.access-pill{display:flex;align-items:center;gap:7px}.status-dot{background:#c28b5d;width:7px;height:7px;border-radius:50%;display:inline-block}.status-dot.live{background:#4e936d}.date-pill{background:#dae4d8;color:#557362}.round-icon{display:none}.content-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px}.card{background:#fff;border-radius:18px;padding:22px 23px;min-width:0;box-shadow:var(--shadow)}.card p{margin:0}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.metric{min-height:127px;position:relative;overflow:hidden}.metric-label,.muted{color:#818982}.metric-label{font-size:12px;margin-bottom:16px!important}.metric-value{font-family:Manrope,sans-serif;font-size:clamp(20px,2.2vw,28px);font-weight:750;letter-spacing:-1px;line-height:1.14}.metric-note{margin-top:10px!important;color:#8a918d;font-size:11px}.metric .corner-icon{position:absolute;right:19px;top:19px;color:#95b39f;width:35px;height:35px;border-radius:50%;background:#ecf2ed;display:grid;place-items:center}.metric .corner-icon svg{width:17px;height:17px}.card.dark{background:linear-gradient(125deg,#779a84 0%,#426d5b 100%);color:white}.card.dark .metric-label,.card.dark .metric-note{color:#e7eee9}.mini-spark{position:absolute;right:15px;bottom:25px;width:75px;height:28px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.section-head h2,.section-head h3{font:700 18px/1.3 Manrope,sans-serif;letter-spacing:-.45px;margin:0}.section-head small,.description{font-size:11px;color:#8b928e;margin-top:5px;display:block}.section-head .btn{flex:none}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:100px;background:#eaf0e9;color:#527260;padding:6px 10px;font-size:10px;font-weight:800}.pill.yellow{background:#faf0e4;color:#a07651}.pill.soft{background:#f2f3ef;color:#858d87}.divider{border-top:1px solid var(--line);margin:17px 0}.btn{border:1px solid transparent;padding:10px 14px;border-radius:9px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn svg{width:15px;height:15px}.btn.primary{background:#3e6854;color:white}.btn.primary:hover{background:#315442}.btn.ghost{background:#edf2ed;color:#4e7161}.btn.neutral{background:#f1f1ed;color:#515d54}.btn.outline{background:#fff;border:1px solid #d9e1d9;color:#4e7161}.btn.tiny{padding:7px 10px;font-size:10px}.btn:disabled{opacity:.45;cursor:not-allowed}.chart-area{width:100%;height:230px;display:block}.chart-axis{font:10px DM Sans,Arial,sans-serif;fill:#9a9e9a}.chart-line{fill:none;stroke:#638b76;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-grid{stroke:#f1f1ef;stroke-width:1}.chart-fill{fill:url(#areaFill)}.legend{display:flex;align-items:center;gap:7px;color:#7b857d;font-size:11px}.legend::before{content:"";width:7px;height:7px;border-radius:50%;background:#648d78}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-track{height:10px;background:#edf1ec;border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:#709782;border-radius:20px;transition:width .25s}.progress-number{font-size:24px;line-height:1.2;font-weight:750;font-family:Manrope,sans-serif;letter-spacing:-1px}.split-progress{display:grid;grid-template-columns:1fr 1fr;gap:17px}.goal-block{margin:18px 0}.goal-block .row-between{margin-bottom:8px;font-size:12px}.goal-block small{color:#859087}.rate-number{font-size:26px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1px}.rate-flex{display:flex;align-items:center;justify-content:space-between;gap:8px}.source-link{font-size:10px;color:#4e8265;text-decoration:none}.source-link:hover{text-decoration:underline}.mini-label{font-size:10px;color:#859087}.note-line{font-size:11px;line-height:1.65;color:#858e86;margin-top:12px!important}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:450px}th{text-align:left;color:#9aa09b;font-size:10px;letter-spacing:.5px;font-weight:700;padding:11px 10px;border-bottom:1px solid #e9ece7}td{padding:13px 10px;border-bottom:1px solid #f0f1ef;font-size:12px;color:#404942}tr:last-child td{border-bottom:0}td strong{font-weight:800}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.check-row{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid #f0f2ef}.check-row:last-child{border-bottom:0}.check-row input{appearance:none;width:17px;height:17px;border:1.5px solid #c7d2ca;border-radius:5px;flex:none;margin:2px 0;cursor:pointer}.check-row input:checked{background:#557a62;border-color:#557a62}.check-row input:checked:after{content:'✓';color:#fff;font-size:12px;display:block;text-align:center;line-height:15px}.check-row.done .check-title{text-decoration:line-through;color:#9a9f9a}.check-title{font-size:12px;font-weight:700}.check-desc{color:#9a9f9a;font-size:11px;line-height:1.55;margin:3px 0 0!important}.list-empty{padding:22px;border-radius:13px;background:#f8f9f7;color:#949c96;text-align:center;font-size:12px}.segmented{display:inline-flex;padding:4px;gap:3px;background:#f3f4f1;border-radius:10px}.segmented button{background:transparent;border:0;padding:8px 11px;font-size:11px;border-radius:7px;color:#747c76}.segmented button.active{background:white;color:#395843;box-shadow:0 2px 6px #0000000a;font-weight:800}.bar-stack{display:flex;align-items:center;gap:0;height:13px;width:100%;background:#ecf0ec;border-radius:9px;overflow:hidden}.bar-stack>div{height:100%}.breakdown{display:flex;flex-direction:column;gap:13px;margin-top:21px}.breakdown .row-between{font-size:12px}.breakdown .row-between strong{font-variant-numeric:tabular-nums}.swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px}.section-intro{margin:0 0 18px;font-size:12px;line-height:1.7;color:#7b847d;max-width:840px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field label,.stack-form label{color:#59655d;font-weight:750;font-size:11px}.field input,.field select,.field textarea,.stack-form input{padding:11px 12px;background:#fff;border:1px solid #e0e5df;border-radius:9px;width:100%;color:#27352c;outline:0}.field input:focus,.field select:focus,.field textarea:focus,.stack-form input:focus{border-color:#60866f;box-shadow:0 0 0 3px #60866f18}.field small{color:#9ba29b;font-size:10px}.input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.big-callout{background:#e5eee5;border-radius:16px;padding:18px 20px;font-size:12px;line-height:1.7;color:#4f6e5c}.big-callout strong{color:#2e513d}.big-callout.warn{background:#f8efe2;color:#876c49}.big-callout.warn strong{color:#805531}.neighborhood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.neighborhood{padding:17px;border:1px solid #edf0eb;border-radius:12px;display:flex;flex-direction:column;gap:9px}.neighborhood h3{font-size:14px;margin:0;font-weight:750}.neighborhood p{font-size:11px;color:#87918a;line-height:1.55;margin:0}.neighborhood a{text-decoration:none;color:#477558;font-weight:800;font-size:11px}.home-item,.note-item{border:1px solid #eef0ec;border-radius:12px;padding:14px 16px;margin-bottom:9px}.home-item a,.note-item a{color:#527d60;text-decoration:none}.home-item p,.note-item p{color:#858c85;line-height:1.6;font-size:11px;margin:6px 0}.badge-status{font-size:10px;font-weight:800;background:#e8efe8;border-radius:8px;color:#56755e;padding:5px 8px}.milestone{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid #eaede8}.milestone:last-child{border-bottom:0}.milestone-time{flex:0 0 110px;color:#72907b;font-size:11px;font-weight:800}.milestone-content h3{font-size:13px;margin:0 0 5px}.milestone-content p{font-size:11px;line-height:1.6;color:#8b948b;margin:0}.info-bullets{padding-left:20px;font-size:12px;color:#66736a;line-height:1.8}.info-bullets li{margin-bottom:5px}.market-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.market-tile{padding:16px 17px;border-radius:12px;background:#f7f8f5}.market-tile b{font:800 23px Manrope,sans-serif;letter-spacing:-.8px;display:block;margin:8px 0}.market-tile small{font-size:10px;color:#89928b}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:4px 0 0;font-size:10px;color:#a0a7a0}.modal{border:0;border-radius:18px;max-width:540px;width:calc(100vw - 28px);padding:25px 26px;background:#fff;box-shadow:0 24px 110px #162d2440;max-height:90vh;overflow:auto}.modal::backdrop{background:#19282083;backdrop-filter:blur(3px)}.modal header,.modal footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal header{margin-bottom:19px}.modal h2{font:750 22px Manrope,sans-serif;letter-spacing:-.6px;margin:0}.modal footer{margin-top:21px;justify-content:flex-end}.modal .field{margin-bottom:14px}.icon-button{border:1px solid #e6eae4;width:30px;height:30px;border-radius:50%}.icon-button svg{width:15px;height:15px}.auth-screen{min-height:100vh;position:fixed;z-index:50;inset:0;background:#eae9e3;display:grid;place-items:center;padding:18px}.auth-card{background:white;border-radius:24px;width:min(430px,100%);padding:44px 41px;text-align:center;box-shadow:0 24px 80px #33493a12}.bigmark{margin:0 auto 36px}.auth-card .eyebrow{margin-bottom:14px}.auth-card h1{font:750 29px/1.23 Manrope,sans-serif;letter-spacing:-1px;margin:0 0 12px}.auth-card .muted{font-size:13px;line-height:1.6;margin:0 0 26px}.stack-form{text-align:left;display:flex;flex-direction:column;gap:13px}.stack-form label{display:flex;flex-direction:column;gap:8px}.stack-form .btn{margin-top:9px;padding:14px}.auth-card small{display:block;color:#8c948d;margin-top:22px;font-size:10px}.error-msg{color:var(--error);font-size:11px;margin:0}.toast-success{background:#335b44!important}#toast{position:fixed;bottom:25px;right:25px;background:#263f30;color:#fff;padding:13px 18px;border-radius:11px;font-size:12px;opacity:0;transform:translateY(9px);transition:.25s;pointer-events:none;z-index:99;max-width:360px}#toast.shown{opacity:1;transform:translateY(0)}.fixed-bottom{position:sticky;bottom:0;background:#ffffffec;padding:12px 0}.mr6{margin-right:6px}.mt10{margin-top:10px}.mt15{margin-top:15px}.mt22{margin-top:22px}.mb10{margin-bottom:10px}.text-sm{font-size:11px}.danger{color:#a36855}.note-footer{font-size:10px;color:#a0a79f;line-height:1.6}
@media(max-width:1160px){.app-shell{margin:0;padding:24px 18px;min-height:100vh;border-radius:0;gap:18px}.card{padding:18px}.topbar{min-height:110px}.date-pill{display:none}.neighborhood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:22px}}
@media(max-width:820px){.sidebar{width:52px;gap:18px}.navicon{width:39px;height:39px}.side-nav,.nav-bottom{padding:4px}.app-shell{padding:20px 11px;gap:9px}.span-8,.span-7,.span-5,.span-4,.span-3{grid-column:span 6}.headline h1{font-size:25px}.access-pill{font-size:9px}.content-grid{gap:11px}.footer{font-size:9px}}
@media(max-width:620px){.app-shell{display:block;padding:15px 12px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:85px;background:#eae9e3;padding:20px 12px;transform:translateX(-110%);transition:transform .2s;z-index:40;box-shadow:12px 0 30px #00000020}.sidebar.mobile-open{transform:translateX(0)}.sidebar .brandmark{margin-bottom:18px}.topbar{align-items:flex-start;min-height:114px}.header-right{margin-top:2px}.access-pill{display:none}.round-icon{display:grid;width:39px;height:39px;background:white;border-radius:99px}.headline h1{font-size:23px}.headline p{font-size:11px;line-height:1.5}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-12,.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 2}.span-3{grid-column:span 1}.card{padding:17px}.metric-value{font-size:20px}.metric{min-height:122px}.mini-spark{display:none}.metric-note{font-size:10px}.neighborhood-grid,.settings-grid{grid-template-columns:1fr}.market-grid{grid-template-columns:1fr 1fr}.split-progress{grid-template-columns:1fr}.milestone-time{flex-basis:90px}.section-head h2{font-size:16px}.footer{margin-bottom:8px}}
@media(max-width:400px){.market-grid,.input-row{grid-template-columns:1fr}}

/* Rafael e Malu 2028 · refinamentos */
.brandmark:after{display:none!important}.brandmark span{border-radius:9px 9px 3px 3px}.progress-number{font-weight:600;font-size:21px;letter-spacing:-.65px}.metric-value{font-weight:650}.rate-number{font-weight:650}.chart-line{stroke-width:2.3}.check-body{min-width:0;flex:1}.detail-button{margin-top:9px!important;background:#f9fbf9!important;font-size:10px!important;color:#50745b!important}.detail-button:hover{background:#edf4ed!important}.check-row{gap:13px;align-items:flex-start}.guide-lede{font-size:13px;line-height:1.7;color:#4f6558;background:#f0f5ef;padding:15px;border-radius:12px}.guide-tags{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.guide-title{font:700 14px Manrope,sans-serif;margin:20px 0 9px;color:#354a3b}.guide-list{padding-left:20px;font-size:12px;line-height:1.8;color:#657067}.guide-list li{margin:5px 0}.guide-links{display:flex;flex-wrap:wrap;gap:7px}.guide-links a{background:#eef4ec;border-radius:8px;padding:9px;color:#527b60;text-decoration:none;font-size:11px}.guide-disclaimer{font-size:11px;color:#8b928c;line-height:1.6;border-top:1px solid #edf0ed;padding-top:14px;margin-top:20px}.modal:has(.guide-lede){max-width:740px}.badge-hint{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#52785e;background:#eaf2ea;border-radius:20px;padding:6px 10px}.app-shell{box-shadow:0 15px 45px #263d2f08}

/* v4 - legibilidade dos eixos: o stroke global de SVG deixava os textos visualmente sobrepostos. */
.chart-area{height:250px;stroke:none}
.chart-area .chart-axis{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:400;letter-spacing:0;stroke:none!important;stroke-width:0!important;fill:#79847d;paint-order:normal;font-variant-numeric:tabular-nums}
.chart-area .chart-line{stroke:#638b76;stroke-width:2.4;fill:none}
.chart-area .chart-grid{stroke:#e7eae5;stroke-width:1}
.chart-area .chart-fill{stroke:none}
@media (max-width:640px){.chart-area{height:220px}}
