:root{font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Arial,sans-serif;background:#091321;color:#eef5ff}*{box-sizing:border-box}body{margin:0}.shell{max-width:1120px;margin:auto;padding:24px 18px 55px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.brand{display:flex;gap:11px;align-items:center}.brandmark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#1cba9b;color:#081a22;font-size:24px}.brand strong{display:block;font-size:17px}.brand small{display:block;color:#8ca7bd;margin-top:2px;font-size:11px}.status{font-size:12px;color:#9ef3d7;background:#123b35;border-radius:99px;padding:9px 13px}.hero{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.eyebrow{font-size:11px;letter-spacing:2px;color:#6fe5c4;font-weight:750}.hero h1{font-size:33px;margin:7px 0}.hero p{color:#95aac3;margin:0;font-size:12px;line-height:1.6}.controls{display:flex;gap:9px;flex-wrap:wrap}select{background:#142438;border:1px solid #29405b;border-radius:11px;color:#eaf4ff;padding:11px 12px;font:inherit;font-size:13px}.connect{background:#102235;border:1px solid #2c465d;border-radius:14px;padding:12px 16px;margin-bottom:16px}.connect>div:first-child{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.connect strong{font-size:13px}.connect p{font-size:11px;color:#94adc5;margin:4px 0}.buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}button,.upload{cursor:pointer;border:1px solid #2e5264;background:#174638;color:#e6fff7;border-radius:10px;padding:9px 12px;font-weight:650;font-size:12px}button:hover,.upload:hover{background:#21614e}.path{display:flex;gap:8px;margin-top:9px;align-items:end}.path label{flex:1;font-size:11px;color:#b5c9d7}.path input{display:block;margin-top:5px;width:100%;background:#0a1727;color:#eaf5fe;border:1px solid #29405b;border-radius:9px;padding:9px 10px}.error{color:#ff9eae!important}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px}.kpi,.card{background:#111f30;border:1px solid #20364d;border-radius:17px;padding:19px}.kpi:first-child{background:linear-gradient(120deg,#126d68,#114754);border-color:#17897d}.kpi span{color:#abc1d3;font-size:12px}.kpi strong{display:block;font-size:clamp(18px,2.25vw,25px);letter-spacing:-.5px;margin-top:12px}.kpi small{display:block;color:#90a9be;margin-top:6px;font-size:11px}.card{margin-bottom:16px}.card h2{font-size:17px;margin:0 0 5px}.subline,.sectionhead p{font-size:12px;color:#8ca6bd;margin:0 0 15px;line-height:1.55}.sectionhead{display:flex;justify-content:space-between;gap:14px;align-items:start}.sectionhead p{margin-bottom:15px}.pill{font-size:11px;border-radius:99px;background:#1b3d37;color:#9cf5d3;padding:8px 10px;white-space:nowrap}.planmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.planmetric{padding:12px;background:#172b3f;border:1px solid #2b4558;border-radius:12px}.planmetric span{display:block;color:#9eb6cb;font-size:11px}.planmetric b{display:block;margin-top:6px;font-size:17px}.planrows{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.planrow{background:#152a3a;border:1px solid #2a3d50;border-radius:12px;padding:12px}.planrow strong{display:block;font-size:11px;color:#9cb6ce}.planrow b{display:block;font-size:17px;margin:9px 0}.planrow small{color:#92a7bc;font-size:10px}.planfoot{font-size:11px;color:#9db4ca;margin:12px 0 0;line-height:1.55}.columns{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.filterhead{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:10px 0 8px;font-size:12px}.filterhead label{font-size:11px;color:#bdd2e1}.filterhead input,.checks input{accent-color:#2dc4a1}.checks{display:flex;flex-wrap:wrap;gap:6px;max-height:115px;overflow:auto;margin-bottom:13px}.checks label{display:flex;align-items:center;gap:5px;border:1px solid #2b4258;background:#172b3f;border-radius:8px;padding:6px 8px;font-size:11px;color:#c7d9e9}.checks.subchecks{max-height:94px}.piebody{display:flex;gap:15px;align-items:center}.donut{width:170px;height:170px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;position:relative}.donut:after{content:'';position:absolute;width:108px;height:108px;border-radius:50%;background:#111f30}.donutlabel{position:relative;z-index:1;text-align:center;font-size:18px;font-weight:750}.donutlabel small{display:block;font-size:10px;color:#819ab5;margin-top:4px}.legend{min-width:0;flex:1;max-height:280px;overflow:auto}.legenditem{display:flex;gap:7px;align-items:center;font-size:11px;margin:10px 0}.legenditem .name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legenditem b{font-size:11px}.dot{height:9px;width:9px;border-radius:3px;flex-shrink:0}.barline{margin:15px 0}.barhead{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:7px}.barhead span{color:#b4c6da}.track{background:#22354b;height:9px;border-radius:99px;overflow:hidden}.fill{height:100%;border-radius:99px}.reconcile{margin-top:20px;background:#1a2b3f;padding:12px;border-radius:11px;border:1px solid #2e445b;font-size:12px}.reconcile>div{display:flex;justify-content:space-between;gap:10px;margin:8px 0}.reconcile p{font-size:11px;color:#9db5c9;line-height:1.55;margin:11px 0 0}.lower{display:grid;grid-template-columns:1fr 1fr;gap:16px}.budgetrow{margin:13px 0}.budgetrow .track{height:7px;margin-top:7px}.budgetrow small{font-size:10px;color:#8ba5bf}.trend{display:flex;gap:8px;align-items:end;height:160px;overflow-x:auto}.monthbar{min-width:31px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:7px}.monthbar .bar{width:80%;min-height:2px;border-radius:5px 5px 0 0;background:#22b99c}.monthbar label{font-size:10px;color:#809db9}footer{color:#7890a6;font-size:11px;text-align:center;margin-top:20px}@media(max-width:740px){.shell{padding:16px 12px 42px}.top{margin-bottom:20px}.hero{display:block}.hero h1{font-size:26px}.controls{margin-top:14px}.controls select{flex:1}.kpis{grid-template-columns:repeat(2,1fr);gap:9px}.kpi,.card{padding:14px}.kpi strong{font-size:19px}.columns,.lower{grid-template-columns:1fr;gap:0}.planmetrics{grid-template-columns:repeat(2,1fr)}.planrows{grid-template-columns:repeat(2,1fr)}.sectionhead{display:block}.piebody{gap:11px}.donut{width:148px;height:148px}.donut:after{width:96px;height:96px}.donutlabel{font-size:15px}.path{display:block}.path button{margin-top:9px}.legenditem{font-size:10px}}

.trend{height:230px;gap:7px;overflow-x:auto}.monthbar{min-width:65px;gap:6px}.monthbar .variation{font-size:10px;font-weight:750;white-space:nowrap;color:#aec0d6}.variation.up{color:#ff9b9e}.variation.down{color:#7ee0bc}.monthbar small{font-size:9px;color:#8da8bf;white-space:nowrap}.monthbar.no-data{opacity:.35}.budgetrow small{display:block;margin-top:5px}

/* Ajustes v5: metas ideais e leitura mais clara do orçamento */
.planrow-info{display:grid;gap:6px;margin-top:8px}
.planrow-info span{display:block;color:#a8bfd3;font-size:11px;line-height:1.35}
.planrow-info .attainment{display:inline-block;width:fit-content;padding:5px 8px;border-radius:7px;background:#273747;color:#ffdb9c;font-weight:750;font-size:11px}
.planrow-info .attainment.full{background:#174b40;color:#a0f7da}
.budget-section{margin-top:0}
.budget-section #budget{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.budget-section .budgetrow{min-width:0;margin:0;padding:14px;border:1px solid #2a4359;border-radius:12px;background:#15283b;display:grid;gap:9px}
.budget-section .budgetrow .barhead{display:grid;grid-template-columns:1fr;gap:5px;margin:0;align-items:start}
.budget-section .budgetrow .barhead span{font-size:13px;font-weight:700;color:#e5f1fd;overflow-wrap:anywhere}
.budget-section .budgetrow .barhead b{font-size:12px;font-weight:600;color:#bdd1e2;white-space:normal;line-height:1.45}
.budget-section .budgetrow .track{height:10px;margin:0}
.budget-section .budgetrow small{margin:0;font-size:11px;color:#a9c2d7}
@media(min-width:1000px){.budget-section #budget{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.budget-section #budget{grid-template-columns:1fr}.planrows{grid-template-columns:repeat(2,minmax(0,1fr))}.planrow{min-width:0}.planrow b{font-size:16px}}

/* v6: valor monetário e percentual na legenda da pizza */
.legenditem{align-items:center;gap:9px;margin:9px 0}.legenditem .name{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.legendnumbers{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;white-space:nowrap}.legendnumbers strong{font-size:11px;color:#ecf6ff}.legendnumbers b{font-size:10px;color:#8fa9bf;font-weight:600}@media(max-width:740px){.legendnumbers strong{font-size:10px}.legenditem .name{font-size:10px}}

/* v7: valor e percentual na mesma linha */
.legendnumbers{display:inline-flex;flex-direction:row;align-items:center;white-space:nowrap;gap:0}
