:root{font-family:Inter,ui-sans-serif,system-ui;color:#16322c;background:#f4f2e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.topbar{height:68px;padding:0 4vw;background:#153c34;color:#fff;display:flex;align-items:center;gap:28px}.brand{color:#fff;text-decoration:none;font-weight:800;font-size:19px}.brand b{display:inline-grid;place-items:center;background:#f4ad42;color:#153c34;border-radius:50%;width:30px;height:30px;margin-right:8px}.topbar nav{display:flex;gap:18px;flex:1}.topbar nav a{color:#cfe0da;text-decoration:none}.topbar nav a.active{color:#fff;border-bottom:2px solid #f4ad42;padding-bottom:6px}.topbar>span{font-size:12px;color:#cfe0da}main{max-width:1500px;margin:auto;padding:26px 4vw 70px}.gate{background:#fff3d8;border:1px solid #e4b45b;border-radius:12px;padding:14px 18px;display:flex;gap:18px;align-items:center}.gate strong{font-size:12px;letter-spacing:.12em}.hero{display:grid;grid-template-columns:1fr 330px;gap:34px;align-items:end;padding:48px 0 28px}.hero p,.saved>p{color:#a06420;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.hero h1{font:700 clamp(36px,5vw,66px)/1.02 Georgia,serif;margin:8px 0}.hero em{color:#a06420;font-weight:400}.hero aside{background:#153c34;color:#fff;border-radius:16px;padding:24px}.hero aside span{font-size:12px;text-transform:uppercase}.hero aside strong{display:block;font-size:28px;color:#ffd286;margin:8px 0}.identity,.override{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;background:#fff;padding:18px;border-radius:14px;margin:12px 0}.override{grid-template-columns:repeat(3,minmax(180px,1fr));background:#e4eee9}.identity label,.override label{font-size:12px;font-weight:700}.identity input,.override input,.override select,.input-card input,.input-card select,.validation-form input,.validation-form select{display:block;width:100%;margin-top:7px;border:1px solid #bacbc5;border-radius:8px;padding:10px;background:#fff;color:#16322c}.verified{display:flex;align-items:center;gap:8px}.verified input{width:auto;margin:0}.actions{display:flex;justify-content:flex-end;gap:12px;padding:14px 0}.actions button,.login button,.validation-form button{border:0;border-radius:9px;padding:12px 18px;background:#c77825;color:#fff;font-weight:800;cursor:pointer}.actions .secondary{background:#fff;color:#16322c;border:1px solid #93aaa2}.preview{background:#153c34;color:#fff;border-radius:18px;padding:24px;margin:12px 0 34px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.status-grid article{background:#205047;border-radius:12px;padding:16px}.status-grid span{font-size:11px;text-transform:uppercase;color:#bcd3cc}.status-grid strong{display:block;margin-top:8px;font-size:18px}.flow-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.flow-list span{background:#f3c879;color:#16322c;border-radius:999px;padding:7px 12px;font-weight:700;font-size:12px}.input-group{margin:34px 0}.group-heading{display:flex;align-items:end;gap:12px;border-bottom:1px solid #b5c4be;padding-bottom:10px;margin-bottom:14px}.group-heading span{font-size:11px;text-transform:uppercase;color:#a06420}.group-heading h2{font:700 28px Georgia,serif;margin:0;flex:1}.group-heading b{font-size:12px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px}.input-card{background:#fff;border-radius:13px;padding:15px;box-shadow:0 2px 10px #243f3510}.input-card.inactive{opacity:.48}.field-title{display:flex;gap:10px;justify-content:space-between}.field-title label{font-weight:800}.field-title span{font-size:9px;background:#e4eee9;padding:5px 7px;border-radius:6px}.value-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.value-row em{font-size:11px;margin-bottom:11px}.input-card dl,.scenario-card dl{display:grid;grid-template-columns:88px 1fr;gap:5px;margin:13px 0 0;font-size:11px}.input-card dt,.scenario-card dt{color:#6f827c}.input-card dd,.scenario-card dd{margin:0;overflow-wrap:anywhere}.validation-workspace{margin-top:44px;padding:24px;background:#fff;border:1px solid #c8d8d1;border-radius:18px}.validation-head{display:grid;grid-template-columns:1fr auto;align-items:end}.validation-head p{grid-column:1/-1;margin:0;color:#a06420;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.validation-head h2{margin:6px 0;font:700 30px Georgia,serif}.validation-head span,.validation-note{color:#667c74;font-size:12px}.validation-form{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;gap:12px;align-items:end;margin:20px 0}.validation-form label{font-size:11px;font-weight:800}.validation-form button{min-height:40px}.validation-result{margin-top:14px;padding:17px;border-left:5px solid #b53d31;background:#fff2ef;border-radius:10px}.validation-result.passed{border-color:#178368;background:#ebf8f2}.validation-result>div{display:flex;align-items:center;gap:12px}.validation-result>div span,.validation-result>div small{font-size:11px;color:#667c74}.validation-result>div strong{font-size:18px}.validation-result dl{display:grid;grid-template-columns:100px 1fr;gap:6px 12px;font-size:11px}.validation-result dd{margin:0;overflow-wrap:anywhere}.validation-result ul{list-style:none;padding:0}.validation-result li{display:grid;grid-template-columns:210px 1fr;gap:10px;padding:8px 0;border-top:1px solid #d9e5e0;font-size:11px}.validation-result li.blocking b{color:#9d3025}.validation-result li.warning b{color:#8a621a}.validation-history h3{margin-top:28px}.saved{margin-top:50px}.saved h2{font:700 32px Georgia,serif}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scenario-card{background:#fff;border-radius:14px;padding:18px}.scenario-card>span{font-size:10px;color:#a06420;font-weight:800}.message{padding:12px;margin:12px 0;background:#e0f0e8;border-radius:8px}.message.error{background:#ffe4df;color:#842d1d}.hidden{display:none!important}.login{max-width:520px;margin:25px auto;background:#fff;padding:24px;border-radius:14px}.login form{display:grid;gap:10px}.login input{padding:12px;border:1px solid #aaa;border-radius:7px}footer{background:#153c34;color:#cfe0da;padding:22px 4vw;font-size:12px;letter-spacing:.08em}@media(max-width:1100px){.validation-form{grid-template-columns:1fr 1fr}.validation-form button{grid-column:1/-1}}@media(max-width:1000px){.field-grid,.scenario-grid,.status-grid{grid-template-columns:repeat(2,1fr)}.identity,.override{grid-template-columns:1fr 1fr}}@media(max-width:680px){.topbar nav{display:none}.hero,.field-grid,.scenario-grid,.status-grid,.identity,.override,.validation-form,.validation-head,.validation-result li{grid-template-columns:1fr}}.calculation-workspace{margin:0 0 36px;padding:22px;background:#fff;border:1px solid #c8d8d1;border-radius:18px}.calculation-empty,.calculation-running,.calculation-failed{display:grid;gap:6px;padding:18px;border-radius:12px;background:#edf3f0}.calculation-running{border-left:5px solid #c77825}.calculation-failed{border-left:5px solid #b53d31;background:#fff2ef}.calculation-running small,.calculation-failed small{overflow-wrap:anywhere}.real-result-banner{display:grid;gap:7px;padding:16px;border-radius:11px;background:#153c34;color:#fff}.real-result-banner strong{color:#ffd286}.real-result-banner span{font-size:11px}.result-provenance{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.result-provenance span{padding:6px 9px;border-radius:999px;background:#e4eee9;font-size:10px}.calculation-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calculation-columns section{padding:18px;border:1px solid #d4dfda;border-radius:12px}.calculation-columns p{margin:0;color:#a06420;text-transform:uppercase;font-size:10px;font-weight:800}.calculation-columns h3{font:700 25px Georgia,serif;margin:8px 0 15px}.calculation-columns dl{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px}.calculation-columns dd{margin:0;font-weight:700;text-align:right}.annual-values{display:flex;flex-wrap:wrap;gap:8px}.annual-values span{font-size:10px;background:#f4f2e9;padding:6px 8px;border-radius:6px}.approval-block{display:grid;gap:5px;margin-top:14px;padding:14px;border:1px solid #b53d31;border-radius:10px;background:#fff2ef}.approval-block span{font-size:11px}@media(max-width:1000px){.calculation-columns{grid-template-columns:1fr}}.identity select{display:block;width:100%;margin-top:7px;border:1px solid #bacbc5;border-radius:8px;padding:10px;background:#fff;color:#16322c}.project-configuration{display:flex;align-items:end;gap:10px}.project-configuration label{flex:1}.mode-capability{padding-bottom:11px;color:#a06420;font-size:10px;font-weight:800}.mode-unavailable{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:12px;background:#205047}.mode-unavailable span{color:#cfe0da;font-size:12px}
