:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#20372f;background:#f4f7f4;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #cfdbd3;border-radius:7px;background:white;padding:9px 13px;color:#244737;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#eaf3eb}button.primary{background:#236b49;color:white;border-color:#236b49}button.danger{color:#a63030}button:disabled{opacity:.45;cursor:default}header{background:#173f30;color:white;padding:19px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}header h1{font-size:21px;margin:0}header small{color:#b9d7c1}header button{background:transparent;color:white;border-color:#729981}.brand{display:flex;gap:13px;align-items:center}.brand img{width:49px;height:49px;object-fit:contain;background:white;border-radius:8px}nav{display:flex;flex-wrap:wrap;gap:6px;background:white;border-bottom:1px solid #dce5de;padding:12px 30px}nav button{border:none;background:transparent}nav button.active{background:#e5f0e6;font-weight:650;color:#1b6745}main{max-width:1280px;margin:28px auto;padding:0 25px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}.toolbar h2{margin:0;font-size:23px}.subtle{color:#6c7c72;font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:white;border:1px solid #dce5df;border-radius:10px;padding:22px}.card strong{font-size:25px;display:block;margin-top:10px;color:#205c3e}.card span{font-size:12px;color:#667d6e;text-transform:uppercase;letter-spacing:1px}.table-wrap{overflow:auto;background:white;border:1px solid #dce5df;border-radius:9px}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:11px;text-transform:uppercase;color:#647b6b;letter-spacing:.7px;background:#f8faf8}th,td{padding:13px 15px;border-bottom:1px solid #e8eee9}td.num,th.num{text-align:right;white-space:nowrap}.badge{font-size:11px;padding:4px 8px;background:#edf1ed;border-radius:20px;white-space:nowrap}.paid,.accepted{background:#dff3e3;color:#236b35}.partial,.pending,.draft{background:#fff1ce;color:#8c681b}.void{color:#a63030;background:#fce5e5}.actions{display:flex;gap:5px;flex-wrap:wrap}.actions button{padding:6px 9px;font-size:12px}label{display:block;font-size:12px;font-weight:600;margin:0 0 13px}input,select,textarea{width:100%;border:1px solid #cad7ce;padding:10px;border-radius:6px;background:white;color:#20372f;margin-top:5px}input:focus,textarea:focus,select:focus{outline:2px solid #81ae90;outline-offset:1px}textarea{min-height:70px}input[type=checkbox]{width:auto}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.search{max-width:340px;margin:0}dialog{border:1px solid #cbd9cf;border-radius:12px;max-width:930px;width:95vw;max-height:92vh;padding:25px;color:#20372f}dialog::backdrop{background:#122c2477}dialog h2{margin-top:0}dialog .footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.auth{max-width:430px;margin:9vh auto;background:white;border:1px solid #d7e2da;border-radius:14px;padding:35px}.auth img{width:70px}.auth h1{margin-bottom:5px}.error{color:#ae3030}.notice{padding:12px 15px;border-radius:7px;background:#fff4d9;color:#7f631e;margin:15px 0;line-height:1.5}.note{line-height:1.6;color:#64776b}#toast{position:fixed;bottom:25px;right:25px;background:#183f30;color:white;border-radius:8px;padding:13px 22px;display:none;z-index:100}.document{background:white;padding:30px;color:#222;max-width:850px;margin:auto}.document .head{display:flex;justify-content:space-between;border-bottom:3px solid #286f48;padding-bottom:18px;margin-bottom:20px}.document .head img{width:85px;height:85px;object-fit:contain}.document h1{margin:0 0 5px;font-size:28px}.document h2{margin:10px 0}.document table{font-size:12px}.document th,.document td{padding:9px}.document .totals{margin:20px 0 20px auto;width:300px;line-height:2}.document .qr{display:flex;gap:16px;align-items:center;border-top:1px solid #ddd;padding-top:18px}.document .qr img{width:150px;height:150px}.document address{font-style:normal;white-space:pre-line;font-size:12px;line-height:1.6}.document .amount{font-size:22px;color:#236b49}.document small{color:#666}.empty{text-align:center;padding:35px;color:#78887c}.line-row{display:grid;grid-template-columns:2fr .7fr 1fr 1.5fr auto;gap:9px;align-items:end;margin-bottom:9px}.line-row label{margin:0}.line-row button{margin-bottom:1px}.screen-only{margin-bottom:20px}a{color:#236b49}.filters{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filters label{margin:0}.filters input{max-width:190px}footer.app-footer{text-align:center;font-size:11px;color:#819185;padding:28px}@media(max-width:750px){header{padding:15px}header h1{font-size:18px}nav{padding:8px}.cards{grid-template-columns:repeat(2,1fr)}main{padding:0 12px;margin:18px auto}.grid{grid-template-columns:1fr}.line-row{grid-template-columns:2fr 1fr 1fr}.line-row label:nth-child(4){grid-column:1/3}.document{padding:12px}.card{padding:16px}.card strong{font-size:21px}th,td{padding:10px}}@media print{@page{size:A4;margin:12mm}body{background:white}body> #app,body> #toast{display:none!important}dialog{position:static;display:block!important;border:0;margin:0;padding:0;max-width:none;width:100%;max-height:none;overflow:visible}dialog::backdrop{display:none}.screen-only{display:none!important}.document{padding:0;max-width:none}.document .head{break-inside:avoid}tr,.qr{break-inside:avoid}th{print-color-adjust:exact}dialog:not(.printing){display:none!important}}
