:root{font-family:Arial,Helvetica,sans-serif;color:#263f32;background:#f5f7f4;font-size:14px}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.7px}h2{font-size:25px}h3{font-size:17px}p{line-height:1.7;color:#758477;margin:10px 0}small{display:block;color:#7f9082;font-size:11px;line-height:1.6}button,a.button{cursor:pointer;display:inline-block;border:1px solid #d9e4d8;border-radius:7px;background:white;color:#326044;padding:10px 13px;font:inherit;text-decoration:none;font-size:12px}button:hover{background:#edf5e9}button:disabled{opacity:.5;cursor:wait}.primary{background:#276548!important;color:white!important;border-color:#276548!important}.danger{color:#a34f3b;background:#fff2eb}input,select,textarea{font:inherit;color:inherit;padding:11px;border:1px solid #d4e0d4;border-radius:7px;background:white;min-width:0}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #5b9a70;outline-offset:2px}label{display:block;font-size:12px;margin:16px 0}label>input,label>select,label>textarea{width:100%;display:block;margin-top:8px}textarea{min-height:85px;resize:vertical}aside{position:fixed;inset:0 auto 0 0;width:235px;background:white;border-right:1px solid #e1e8df;padding:30px 20px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:bold;line-height:1.4}.brand small{margin-top:9px;font-size:10px}nav{margin-top:35px;display:grid;gap:7px}nav button{border:0;text-align:left;padding:13px;font-size:12px}nav .active{background:#e5f0e3;font-weight:bold}.userBox{margin-top:auto;padding-top:25px;font-size:12px}.userBox small{margin:7px 0 15px}.userBox button{padding:8px;font-size:10px}main{margin-left:235px}header{height:75px;background:white;display:flex;justify-content:flex-end;align-items:center;gap:20px;padding:15px 35px;border-bottom:1px solid #e1e9df}header span{font-size:10px;letter-spacing:1px}.content{padding:35px;max-width:1500px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#839982;margin-bottom:10px}.title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.title p{font-size:12px}.panel{padding:24px;background:white;border:1px solid #dfe8dd;border-radius:11px;margin:22px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats article{background:#fff;border:1px solid #dfe8dd;border-radius:10px;padding:23px}.stats article:first-child{background:#e9f2e6}.stats span{font-size:12px;color:#739077}.stats h2{margin:20px 0 10px}.paguLine{font-size:12px;padding:10px}.inline{display:flex;gap:13px;flex-wrap:wrap;margin:15px 0}.inline input{flex:1;min-width:180px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#f7faf5;color:#788f77;font-size:10px;font-weight:500;padding:15px;white-space:nowrap}td{border-top:1px solid #e7ede3;padding:16px;vertical-align:top;line-height:1.6}td b{display:block;font-size:12px;margin:6px 0}td small{font-size:10px;min-width:140px}tfoot{font-weight:bold;background:#f0f6ec}.amount{font-weight:600;white-space:nowrap}.manage{position:sticky;right:0;background:white;box-shadow:-4px 0 9px -5px #9eaf9a;min-width:155px}.manage button{font-size:10px;padding:9px;margin:0 4px 4px 0}.monthGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.monthGrid button{text-align:left;padding:24px}.monthGrid h3{margin:16px 0}.monthGrid b{font-size:18px}.monthGrid p{font-size:10px}.empty{text-align:center;color:#81937e;padding:35px}.userBox b{overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;align-items:center;color:#8a9b85;font-size:10px;margin-top:25px}footer button{font-size:10px}.authCard{max-width:430px;margin:7vh auto;padding:35px;background:white;border:1px solid #dae5d6;border-radius:13px}.authCard h1{font-size:26px}.authCard form{margin:25px 0}.authCard .primary{width:100%}.overlay{position:fixed;inset:0;background:#15352266;backdrop-filter:blur(3px);z-index:10;display:flex;justify-content:center;align-items:center;padding:20px}.modal{background:white;border-radius:13px;padding:28px;max-width:760px;width:100%;max-height:94vh;overflow:auto}.modal>.title{align-items:flex-start}.modal h2{font-size:22px}.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.checks label{display:flex;align-items:center;gap:7px;font-size:11px;margin:0;border:1px solid #d9e5d5;border-radius:6px;padding:11px 7px}.checks input,.checkLine input{width:16px;height:16px;margin:0;accent-color:#2c6b43}.checks label:has(input:checked){background:#e7f2e1;border-color:#8bae7c}fieldset{border:1px solid #d7e4d1;border-radius:8px;margin:18px 0;padding:15px}fieldset legend{font-size:12px}fieldset p{font-size:11px}.shortcuts{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.shortcuts button{font-size:10px;padding:7px 11px}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.calc{display:flex;justify-content:space-between;padding:20px;background:#e9f3e5;border-radius:8px}.calc span{font-size:10px}.calc b{display:block;font-size:24px;margin-top:10px}.modalBottom{position:sticky;bottom:-28px;background:white;border-top:1px solid #dfebd8;padding:18px 0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:18px}#saveError{flex-basis:100%;color:#ad5139;font-size:12px;line-height:1.6}.message{padding:15px;border-radius:8px;margin:15px 0}.message:empty,#modalError:empty,#saveError:empty{display:none}.error,#modalError:not(:empty){color:#a24c36;background:#fff1e8;padding:15px;border-radius:8px}.success{background:#e7f5e0;color:#3a7439}.checkLine{display:flex;gap:10px;align-items:center}.restricted{color:#a55235}details{margin:16px 0}summary{cursor:pointer;font-weight:600}details p{font-size:12px;border-bottom:1px solid #e4ecdf;padding:10px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}
@media(max-width:850px){aside{position:static;width:100%;padding:18px}nav{display:flex;overflow:auto;margin-top:20px}nav button{white-space:nowrap;font-size:11px}.userBox{margin-top:15px;padding-top:0}.userBox small{display:inline;margin-left:12px}.userBox button{margin-left:8px}main{margin:0}header{height:60px;padding:10px 20px}.content{padding:22px 15px}.title{flex-wrap:wrap;gap:12px}.stats{grid-template-columns:1fr}.monthGrid{grid-template-columns:repeat(2,1fr)}.stats h2{margin:12px 0}.panel{padding:16px}.formGrid{grid-template-columns:1fr;gap:0}.checks{grid-template-columns:repeat(3,1fr)}.modal{padding:20px;max-height:96vh}.overlay{padding:7px}.modalBottom{bottom:-20px}.calc b{font-size:21px}.authCard{margin:5vh 14px}footer{flex-wrap:wrap;gap:12px}.manage{min-width:110px}.manage button{display:block;width:100%}}
@media print{@page{size:A4 landscape;margin:12mm}body{background:white}aside,header,footer,.title>button,.title>div:has(button),.inline,.manage,#message,#modalRoot,.paguLine,select,button,.stats{display:none!important}main{margin:0}.content{padding:0}.content>.title h1{font-size:18px}.content>.title p{font-size:11px}.panel{padding:0;margin:10px 0;border:0;overflow:visible}.tableWrap{overflow:visible}table{font-size:9px}th,td{border:1px solid #aaa;padding:7px;font-size:9px;color:black}td b{font-size:9px}td small{font-size:8px;min-width:0}thead{display:table-header-group}tfoot{display:table-row-group}tr{break-inside:avoid}.amount{white-space:normal}}

.paguForm{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end;margin:18px 0}.paguForm label{margin:0}.paguResult{background:#e9f3e5;border:1px solid #d4e5cd;border-radius:8px;padding:17px}.paguResult strong{display:block;font-size:24px;margin-top:7px;color:#276548}.paguForm input[readonly]{background:#f5f7f4}.paguLine small{display:inline;margin:0 8px}@media(max-width:850px){.paguForm{grid-template-columns:1fr}}

.stats .balance.surplus{background:#e7f4e9;border-color:#bcdac1;color:#22683a}.stats .balance.deficit{background:#fff0ee;border-color:#e6b6ad;color:#b23f30}.stats .balance.balanced{background:#edf2fa;border-color:#c1d0e6;color:#375d8d}.balance small,.balance span{color:inherit}

.allocationSection{margin:25px 0}.allocationSection>p{font-size:11px}.allocationGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.allocationChart{margin:12px 0}.allocationChart h3{margin-bottom:22px}.allocationRow{margin:18px 0}.allocationRow>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px}.allocationRow b{font-weight:500;max-width:58%}.allocationRow span{white-space:nowrap}.allocationTrack{height:14px;border-radius:4px;background:#edf2e9;margin:9px 0 6px;overflow:hidden}.allocationFill{background:#347e59;height:100%;border-radius:4px}.allocationFill.fill1{background:#6e9d7b}.allocationFill.fill2{background:#5c8eaa}.allocationFill.fill3{background:#b29252}.allocationFill.fill4{background:#999b96}.allocationTotal{border-top:1px solid #e3ecde;display:flex;justify-content:space-between;padding-top:16px;font-size:11px;margin-top:22px}@media(max-width:850px){.allocationGrid{grid-template-columns:1fr}}@media print{.allocationGrid{grid-template-columns:1fr 1fr}.allocationSection,.allocationChart{break-inside:avoid}.allocationFill{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

svg.allocationTrack{display:block;width:100%}.allocationFill{fill:#347e59}.allocationFill.fill1{fill:#6e9d7b}.allocationFill.fill2{fill:#5c8eaa}.allocationFill.fill3{fill:#b29252}.allocationFill.fill4{fill:#999b96}

#monthlyEditor input{width:125px;padding:9px}#monthlyEditor{margin:18px 0}#monthlyEditor td:last-child{white-space:nowrap}

.descriptionPreview{background:#f0f6ed;border:1px solid #dce8d6;border-radius:8px;padding:13px 16px;margin:15px 0}.descriptionPreview small{font-size:9px;letter-spacing:.5px}.descriptionPreview p{color:#355d3f;font-size:12px;overflow-wrap:anywhere}

.priceDifferent{border-color:#dbbd80}.priceHigh{color:#ac6427;background:#fffaed}.priceGroup .title small{margin-top:6px}

.signatureEditor{border:1px solid #d3e1d8;border-radius:8px;padding:15px;margin:20px 0}.signatureEditor legend{font-weight:bold}.signaturePrintOnly{display:none}@media print{.signaturePrintOnly{display:block;break-inside:avoid;margin-top:30px}}

.catalogResults{border:1px solid #bad0c0;border-radius:10px;background:#fff;max-height:250px;overflow:auto;margin:-8px 0 18px;padding:6px}.catalogResults[hidden]{display:none}.catalogCount{padding:6px 10px;margin:0;color:#526c60;font-size:13px}.catalogOption{display:flex;gap:12px;width:100%;text-align:left;border:0;border-radius:6px;padding:12px;background:#fff;color:#173e31;white-space:normal}.catalogOption b{flex:none}.catalogOption:hover,.catalogOption:focus,.catalogActive{background:#e9f3e9;outline:2px solid #397b58;outline-offset:-2px}.catalogOption span{overflow-wrap:anywhere}
