*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:#203c38;font:15px/1.65 system-ui,sans-serif}.demo-banner{background:#164e43;color:white;padding:9px 4%;display:flex;gap:24px;align-items:center;font-size:12px}.demo-banner b{background:#c5f5d8;color:#173d31;padding:3px 12px;border-radius:20px;white-space:nowrap}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid #e2eae5;padding:36px 22px;display:flex;flex-direction:column;gap:18px}.logo{font-weight:850;font-size:24px;line-height:1.1;letter-spacing:2px;text-decoration:none;color:inherit}.logo small{display:block;font-size:10px;letter-spacing:4px;margin-top:10px}nav{display:grid;gap:8px}nav button{text-align:left;border:0;background:transparent;color:#4e6962;padding:14px}nav button.active{background:#e1f1e7;color:#14563e;font-weight:700}.aside-bottom{margin-top:auto;display:grid;gap:12px}.aside-bottom a,a{color:#22745a}main{padding:32px 4%;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:30px;line-height:1.3;margin:4px 0 22px}h2{font-size:20px}h3{font-size:16px}.eyebrow{font-size:10px;letter-spacing:2px;color:#5a8b77}.story{background:#e4f0e9;padding:14px 20px;border-radius:10px;font-size:13px}#context{font-size:12px;color:#70877d}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric,.card{background:white;border:1px solid #e0e8e3;border-radius:14px;padding:22px;margin-bottom:20px}.metric{min-height:150px;margin-bottom:0}.metric span{font-size:12px;color:#6e857b}.metric strong{display:block;font-size:34px;letter-spacing:-1px;margin:8px 0}.metric small{font-size:11px;color:#6e857b}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:24px}.bar-row{display:grid;grid-template-columns:100px 1fr 80px;align-items:center;gap:14px;margin:20px 0;font-size:13px}.track{background:#edf3ee;height:12px;border-radius:12px;overflow:hidden}.track i{display:block;height:100%;background:#65ad8e;border-radius:12px}.hint{font-size:12px;color:#687e74}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#70857b;font-weight:500;background:#f6f9f6}th,td{padding:14px 12px;border-bottom:1px solid #e7ede8;white-space:nowrap}.table-wrap{overflow:auto}.pill{display:inline-block;padding:2px 10px;background:#e7f3ea;border-radius:20px;color:#34775b;font-size:11px}.muted{background:#f0f1ef;color:#848e86}button,select,input{font:inherit;border:1px solid #cad9ce;border-radius:7px;padding:10px 14px;background:white;color:inherit}button{cursor:pointer}button:hover{background:#e9f4ed}button:disabled{opacity:.5;cursor:default}.primary{background:#1c604b;color:white;border-color:#1c604b}.primary:hover{background:#164b3b}.controls{display:grid;gap:16px;max-width:600px}.controls label{display:grid;gap:5px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.cost{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #edf1ed}.cost strong{font-size:22px}.warning{color:#b24c32}footer{border-top:1px solid #d9e5dc;margin-top:36px;padding:20px 0;color:#718578;font-size:12px}footer button{font-size:12px}#message{color:#185b44}.profile{width:38px;height:38px;border-radius:50%;background:#e4efe5;display:inline-grid;place-items:center;margin-right:8px;font-weight:700}.subnav{display:flex;gap:12px}.no-data{padding:30px;color:#70857b}@media(max-width:950px){.shell{grid-template-columns:180px 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.metric strong{font-size:30px}}@media(max-width:620px){.shell{display:block}aside{padding:18px;gap:8px}.logo{font-size:16px}.logo br,.logo small{display:none}aside>p{margin:0}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:9px}.aside-bottom{display:none}main{padding:20px 16px}.demo-banner{align-items:flex-start;gap:12px}.demo-banner span{font-size:10px}h1{font-size:24px}.metrics{gap:10px}.metric{padding:16px;min-height:130px}.bar-row{grid-template-columns:80px 1fr 65px;gap:10px}.card{padding:18px}header{align-items:flex-start}header label{font-size:11px}select{max-width:160px}.story{font-size:11px}}