/* Fonts use local fallbacks so the accounting app works fully offline. */
:root{font-family:'DM Sans',sans-serif;color:#25362f;background:#f5f7f4;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:244px;background:#123d30;color:#fff;padding:32px 22px}.brand{font:800 18px Manrope,sans-serif;display:flex;gap:10px;align-items:center;margin-bottom:55px}aside small{font-size:10px;letter-spacing:1.8px;color:#94b5a7;padding-left:12px}nav{margin-top:18px;display:grid;gap:8px}nav button{border:0;background:transparent;color:#c3d5cd;text-align:left;padding:14px;border-radius:8px;font-size:14px}nav button.active{background:#2d5846;color:#fff}nav button:hover{background:#234d3c}.asidebottom{position:absolute;bottom:32px;font-size:12px;line-height:2}.asidebottom span{color:#94b5a7}main{margin-left:244px}header{height:85px;background:#fff;border-bottom:1px solid #e3e9e2;display:flex;justify-content:space-between;align-items:center;padding:0 44px}header div{display:flex;gap:12px}button,select,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #dce4dc;border-radius:7px;background:#fff;padding:10px 15px;color:inherit}button:hover{filter:brightness(.96)}.primary{background:#236c4d;color:#fff;border-color:#236c4d}.danger{color:#a53232}select,input,textarea{border:1px solid #d8e0d8;border-radius:6px;padding:10px;background:#fff;min-width:0;color:#25362f}section{padding:38px 44px;max-width:1600px;margin:auto}h1{font:800 29px Manrope,sans-serif;letter-spacing:-1px;margin:6px 0 10px}h2{font:700 17px Manrope,sans-serif;margin:0}p{color:#748178;line-height:1.7}.eyebrow{color:#59836c;font-size:11px;letter-spacing:1.6px;font-weight:700}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}.card,.panel{background:#fff;border:1px solid #e0e7df;border-radius:12px;padding:24px}.card small{color:#748178}.card strong{font:800 27px Manrope,sans-serif;display:block;margin:18px 0 8px}.card em{font-size:11px;font-style:normal;color:#809087}.card.featured{background:#e7efdf}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:24px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.bars{height:210px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #dce5da;padding:0 8px 24px;margin-top:25px}.barwrap{flex:1;height:100%;display:flex;align-items:end;gap:3px;position:relative}.bar{width:45%;min-height:2px;background:#367d57;border-radius:4px 4px 0 0}.bar.exp{background:#c6d8b8}.barwrap span{position:absolute;bottom:-21px;width:100%;font-size:10px;color:#849084;text-align:center}.legend{font-size:11px;color:#748178;margin-top:14px}.notice{background:#eef3e8;border:1px solid #dce7d1;border-radius:8px;padding:15px;line-height:1.7;color:#526749;font-size:12px;margin:18px 0}.actions{display:grid;gap:10px;margin-top:20px}.actions button{text-align:left;padding:14px}.empty{text-align:center;padding:42px 20px;color:#7a897e}.empty b{display:block;font-size:16px;color:#3c5142;margin:12px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-weight:500;color:#7a897e;border-bottom:1px solid #e4e9e2;padding:12px 10px;white-space:nowrap}td{padding:16px 10px;border-bottom:1px solid #eef1eb}td.num{text-align:right;white-space:nowrap}.badge{border-radius:5px;background:#e8f2e7;color:#427249;padding:5px 8px;font-size:11px}.badge.open{background:#fff2da;color:#977033}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{flex:1}.summaryrow{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #e5eadd}.summaryrow.total{font-size:20px;font-weight:700}dialog{border:0;border-radius:14px;padding:28px;width:min(740px,94vw);max-height:90vh;box-shadow:0 25px 100px #102d3840}dialog::backdrop{background:#17382e77}form h2{margin-bottom:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-size:12px}label.wide{grid-column:1/-1}.formactions{display:flex;justify-content:end;gap:10px;margin-top:24px}.line{display:grid;grid-template-columns:3fr 1fr 1fr 1fr auto;gap:7px;margin:10px 0}.line input{width:100%}.linehead{font-size:11px;color:#718176}footer{margin:0 44px 25px;font-size:11px;color:#7a897e;line-height:1.8}footer button{border:0;background:none;padding:3px;color:#347351}#toast{position:fixed;bottom:24px;right:24px;background:#143f30;color:white;padding:14px 22px;border-radius:8px;display:none}.receiptgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.receiptgrid a{color:#347351}a{color:#347351}.invoice{padding:35px;color:#182c22}.invoice h1{font-size:40px}.invoice .grid{grid-template-columns:1fr 1fr;margin-top:35px}.invoice pre{font:inherit;white-space:pre-wrap;line-height:1.8}.muted{color:#829083}@media(max-width:1050px){aside{width:195px;padding:25px 12px}main{margin-left:195px}.cards{grid-template-columns:1fr 1fr}header,section{padding-left:24px;padding-right:24px}.grid{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:auto;padding:15px}.brand{margin:0 0 15px}aside small,.asidebottom{display:none}nav{display:flex;overflow:auto;gap:3px;margin:0}nav button{white-space:nowrap;padding:10px}main{margin:0}header{height:68px;padding:12px}section{padding:24px 15px}.titlebar{align-items:start}.cards{gap:10px}.card{padding:16px}.card strong{font-size:22px}.fields{grid-template-columns:1fr}.receiptgrid{grid-template-columns:1fr}.line{grid-template-columns:2fr 1fr 1fr}.line select{grid-column:1/3}footer{margin:15px}.panel{padding:17px}}@media print{body>*{display:none!important}dialog[open]{display:block!important;position:static;width:100%;max-height:none;box-shadow:none;padding:0}dialog .formactions{display:none}dialog::backdrop{background:white}.invoice{padding:0}}
