:root{color-scheme:light;color:#142a25;background:#f2f7f4;font:16px/1.55 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{width:min(100% - 2rem,46rem);margin:0 auto;padding:2rem 0}header{display:flex;align-items:center;gap:.7rem;margin-bottom:2.5rem}header strong{letter-spacing:.07em}header span{color:#46645b}section{padding:clamp(1.2rem,5vw,2.5rem);background:#fff;border:1px solid #cfdfd6;border-radius:1.25rem}h1{font-size:clamp(1.65rem,5vw,2.5rem);line-height:1.15;margin:0 0 1rem}p{margin:0 0 1.25rem}a,button{display:inline-block;max-width:100%;padding:.7rem 1rem;border-radius:.65rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid #487366;color:#19392f;background:#fff}button+button{margin-left:.5rem}.primary{background:#215b49;border-color:#215b49;color:#fff}a:focus-visible,button:focus-visible{outline:3px solid #00745f;outline-offset:3px}button:disabled{cursor:wait;opacity:.6}.ledger{margin-bottom:1.5rem;overflow-wrap:anywhere}.ledger h2{margin:1.5rem 0 .6rem;font-size:1.25rem}.ledger h3,.ledger h4{margin:.7rem 0}.ledger p{margin-bottom:.65rem}.ledger-alert{background:#fff4f1;color:#6d2520;padding:.65rem .8rem;border-radius:.55rem;margin:.65rem 0}.ledger-alert p{margin:0}.inline-form,.field-list{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin:.55rem 0}.ledger label{display:grid;gap:.25rem;min-width:0;font-weight:600}.ledger input,.ledger select{display:block;min-width:0;max-width:100%;font:inherit;padding:.45rem .55rem;border:1px solid #a1b9ae;border-radius:.45rem;color:inherit;background:#fff}.ledger input[type=file]{width:18rem}.ledger button{padding:.45rem .7rem}.item-list{list-style:none;margin:.6rem 0;padding:0;display:grid;gap:.45rem}.item-list li{display:grid;gap:.2rem;padding:.6rem .7rem;background:#f4f8f6;border-radius:.55rem}.item-list small{color:#415e55}.item-list summary{cursor:pointer;color:#215b49}.preview{border:1px solid #cfdfd6;border-radius:.65rem;padding:.65rem;margin-top:.6rem}.pager{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;flex-wrap:wrap}.forecast{border-bottom:1px solid #cfdfd6;padding-bottom:1rem}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.65rem}.scenario{background:#f4f8f6;padding:.6rem .7rem;border-radius:.55rem}.scenario details{margin-top:.5rem}
