.report-hero{background:radial-gradient(ellipse at top right,#427e65 0,transparent 65%),linear-gradient(130deg,#123b32,#1b5948);color:white;padding:34px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:20px 0 26px}.report-hero .eyebrow{color:#ccdea4}.report-hero h2{font-size:32px;line-height:1.4;color:white;margin:14px 0}.report-hero p{color:#d4e4d9}.report-ring{background:conic-gradient(#e3c584 var(--ratio),#ffffff20 0);padding:12px;border-radius:50%;width:185px;height:185px;flex-shrink:0;box-shadow:0 0 40px #7abd9e20}.report-ring>div{background:#1c4c3d;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.report-ring b{font-size:42px}.report-ring small{font-size:11px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-panel{padding:26px;margin-bottom:22px;border-radius:18px;box-shadow:0 8px 26px #143c3210}.report-panel h2{font-size:19px;margin:0 0 26px}.chart-row{margin:21px 0}.chart-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.chart-row span,.chart-row strong{overflow-wrap:anywhere}.chart-track{height:14px;background:#edf2ed;border-radius:20px;overflow:hidden}.chart-track i{display:block;height:100%;background:linear-gradient(90deg,#205f49,#60a786);border-radius:20px}.chart-track .tone-1{background:linear-gradient(90deg,#ac8442,#dfc080)}.chart-track .tone-2{background:linear-gradient(90deg,#46868c,#8abfc6)}.chart-track .tone-3{background:linear-gradient(90deg,#657a9b,#9db5d4)}.chart-track .over-budget{background:linear-gradient(90deg,#a54034,#df8e6b)}.chart-row small{display:block;color:#697d73;margin-top:9px}@media(max-width:700px){.report-grid{grid-template-columns:1fr;gap:0}.report-hero{padding:24px;align-items:flex-start}.report-hero h2{font-size:23px}.report-ring{width:120px;height:120px;padding:8px}.report-ring b{font-size:28px}.report-ring small{font-size:9px}.report-panel{padding:20px}.chart-row>div:first-child{flex-wrap:wrap}}
