:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20352e;background:#f3f5f4;font-synthesis:none;--green:#14382e;--lime:#d7f28a;--muted:#66776f;--line:#dce3df}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select{outline-offset:4px}a{color:inherit}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.16;letter-spacing:-.045em;margin-bottom:0;font-weight:650}h2{font-size:1.35rem;letter-spacing:-.025em;margin-bottom:8px;font-weight:650}.brand{text-decoration:none;font-size:2rem;font-weight:800;letter-spacing:-.07em;white-space:nowrap}.brand span{color:#74983c}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;color:var(--muted);margin-bottom:12px}.muted{color:var(--muted);line-height:1.5;font-size:.9rem}.small{font-size:.8rem;margin:14px 0 0}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;min-height:48px;border-radius:10px;padding:12px 19px;font-weight:650;font-size:.9rem;border:1px solid transparent}.primary{background:var(--green);color:white}.primary:hover{background:#245444}.secondary{background:white;color:var(--green);border-color:var(--line)}.secondary:hover{background:#f2f6f2}.danger{background:#a52b32;color:white}.text-button{border:0;background:none;color:var(--green);font-weight:600;padding:10px;font-size:.875rem}.error{color:#ae2634;font-size:.9rem;line-height:1.4}.error:empty{display:none}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(28px,calc((100vw - 1200px)/2));gap:28px}.section-name{border-left:1px solid var(--line);padding-left:28px;font-size:.95rem;color:var(--muted)}.account{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:.875rem}.workspace{max-width:1256px;margin:auto;padding:40px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.metrics{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-bottom:34px}.metric{background:white;border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column;min-height:176px}.metric>span{font-size:.9rem}.metric strong{font-size:2.45rem;font-weight:600;letter-spacing:-.055em;margin:12px 0 8px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:.8rem}.metric.featured{background:var(--green);color:#fff;border-color:var(--green)}.featured strong{color:var(--lime)}.featured small{color:#c0d3ca}.ledger{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.ledger-heading{padding:26px 26px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center}.ledger-heading p{margin:0}.filters{display:grid;grid-template-columns:minmax(200px,1fr) 160px 160px 130px;gap:12px;padding:0 26px 24px}label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600}input,select{width:100%;border:1px solid #ccd7d0;border-radius:8px;padding:12px;background:white;color:#20352e;min-height:46px;font-weight:400;font-size:1rem}input::placeholder{color:#78877f}input:focus,select:focus{outline:2px solid #7b9d4d;outline-offset:1px}.search input{background:#f6f8f6}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f6f8f6;color:var(--muted);font-size:.75rem;letter-spacing:.03em;font-weight:600;padding:13px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:18px 26px;border-bottom:1px solid #edf0ee;font-size:.9rem}td small{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.amount{text-align:right;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.row-name{padding:0;border:0;background:none;text-align:left;color:var(--green);font-weight:650}.row-name:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:5px 9px;background:#eff4e9;color:#446329;font-size:.8rem;white-space:nowrap}.badge.void{background:#fcecee;color:#9e2f37}.ledger-footer{padding:18px 26px;display:flex;gap:16px;color:var(--muted);font-size:.875rem;align-items:center}.ledger-footer strong{margin-left:auto;color:var(--green)}.footnote{text-align:center;font-size:.8rem;color:var(--muted);padding:24px 0}.empty{text-align:center;padding:48px 20px}.empty-icon{font-size:2rem;color:#708768;margin-bottom:12px}.empty h3{margin:0 0 8px;font-size:1.125rem}.empty p{margin-bottom:20px}#load-error{padding:0 26px}dialog{border:1px solid var(--line);border-radius:18px;width:min(570px,calc(100% - 24px));padding:28px;color:#20352e;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 24px 90px #0c302b30}dialog::backdrop{background:#102a2266;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:18px}.dialog-heading .eyebrow{margin-bottom:8px}.close{background:#f1f4f2;border:0;border-radius:50%;font-size:1.5rem;width:36px;height:36px;flex-shrink:0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-main{margin-top:20px}.amount-input{font-size:1.45rem;font-weight:600}form>label,#new-client-fields>label,form>.two-cols,form>#new-client-fields{margin-bottom:18px}.optional{font-weight:400;color:var(--muted);display:contents}.form-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.form-actions .primary{flex:1}.matches{display:flex;flex-direction:column;gap:4px;margin-top:-10px;margin-bottom:15px}.matches button{text-align:left;border:1px solid var(--line);border-radius:8px;background:#f3f7ef;padding:11px;font-size:.875rem}.matches small{display:block;color:var(--muted);margin-top:3px}.detail-amount{font-size:2.8rem;font-weight:600;letter-spacing:-.045em;margin:0 0 20px}dl{display:grid;grid-template-columns:120px 1fr;gap:16px;font-size:.95rem;line-height:1.5;margin-bottom:28px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:10px}.detail-actions a{flex:1;white-space:nowrap}.void-link{color:#a52b32;margin-top:24px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:15px 24px;border-radius:12px;box-shadow:0 6px 25px #0002;z-index:10;width:max-content;max-width:90%;font-size:.9rem}.login-wrap{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;padding:24px;gap:40px}.login-intro{border-radius:24px;background:var(--green);color:#fff;padding:46px;display:flex;flex-direction:column;justify-content:space-between;min-height:600px}.login-intro .brand span{color:var(--lime)}.login-intro .eyebrow{color:var(--lime)}.login-intro h1{font-size:clamp(3rem,5vw,5.5rem);letter-spacing:-.065em;margin-bottom:28px}.login-intro p:not(.eyebrow){color:#c2d4cb;line-height:1.7;font-size:1.1rem}.login-foot{font-size:.8rem;color:#c2d4cb}.login-card{width:100%;max-width:380px;margin:auto;padding:30px 0}.login-card h2{font-size:2rem;margin-bottom:10px}.login-card form{margin-top:30px}.login-card .primary{width:100%;justify-content:space-between;margin-top:8px}.receipt-page{padding:50px 20px}.receipt{background:white;max-width:620px;margin:auto;border:1px solid var(--line);border-radius:18px;padding:44px}.receipt .brand{display:block;margin-bottom:48px}.receipt h1{font-size:1.8rem}.receipt-amount{font-size:3.3rem;font-weight:650;letter-spacing:-.05em;margin:22px 0 10px}.receipt dl{margin-top:30px;border-top:1px solid var(--line);padding-top:26px}.print-note{font-size:.8rem;color:var(--muted);margin-top:12px;line-height:1.5}[hidden]{display:none!important}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.metrics{gap:10px}.metric{padding:20px}.metric strong{font-size:2rem}td,th{padding:15px}.login-intro{padding:30px}.login-wrap{gap:28px}.login-card{padding-right:16px}th.method,td.method{display:none}}
@media(max-width:600px){.topbar{height:72px;padding:0 20px;gap:18px}.section-name{padding-left:18px}.account{gap:8px}.account>span{display:none}.workspace{padding:28px 16px}.page-heading{display:block;margin-bottom:24px}.page-heading .primary{width:100%;margin-top:22px}h1{font-size:2rem}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.metric.featured{grid-column:1/-1;min-height:155px}.metric{min-height:145px;padding:20px}.metric strong{font-size:2rem}.metric span{font-size:.8rem}.metric small{font-size:.75rem}.ledger-heading{padding:20px;align-items:flex-start}.ledger-heading .secondary{font-size:.8rem;min-height:40px;padding:9px 12px}.ledger-heading p{font-size:.8rem}.filters{padding:0 20px 20px;grid-template-columns:1fr 1fr}.filters>label:last-child{grid-column:1/-1}th.reference,td.reference{display:none}td,th{padding:14px 12px}td{font-size:.85rem}td small{font-size:.75rem}.ledger-footer{padding:16px 12px;flex-wrap:wrap;font-size:.8rem}dialog{padding:22px}.two-cols{grid-template-columns:1fr}.payment-main{grid-template-columns:1fr 1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.login-wrap{display:flex;flex-direction:column;padding:16px;gap:16px}.login-intro{min-height:220px;padding:26px}.login-intro>div{margin-top:25px}.login-intro h1{font-size:2.5rem;margin:0}.login-intro h1 br{display:none}.login-intro p:not(.eyebrow),.login-foot{display:none}.login-intro .eyebrow{font-size:.7rem}.login-card{padding:20px 12px}.receipt-page{padding:18px 12px}.receipt{padding:26px}.receipt-amount{font-size:2.6rem}dl{grid-template-columns:95px 1fr}}
@media print{body.receipt-page{background:white;padding:0}.receipt{border:0;max-width:none;padding:25px}.receipt button,.print-note{display:none}.receipt a{text-decoration:none}}

.receipt-qr{margin:24px 0;display:flex;align-items:center;gap:20px;padding:16px;border:1px solid var(--line);border-radius:12px;break-inside:avoid}.receipt-qr img{width:180px;height:180px;max-width:50%;object-fit:contain;image-rendering:pixelated}.receipt-qr figcaption{font-size:.9rem;color:var(--muted);line-height:1.5;max-width:180px}@media(max-width:400px){.receipt-qr{flex-direction:column;text-align:center}.receipt-qr img{max-width:100%}}

#signature-dialog{width:min(850px,calc(100% - 24px))}.signature-canvas{display:block;width:100%;aspect-ratio:1000/360;touch-action:none;background:#fff;border:2px dashed #78967b;border-radius:12px;cursor:crosshair}.saved-signature{break-inside:avoid;margin:26px 0;border-top:1px solid var(--line);padding-top:20px}.saved-signature svg{display:block;width:100%;max-height:170px}.signature-status{margin:16px 0}.signature-canvas:focus{outline:2px solid var(--green)}
#management-dialog{width:min(1050px,calc(100% - 24px))}.management-tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.management-tabs [aria-pressed="true"]{background:var(--green);color:white}.management-controls{display:flex;align-items:end;gap:16px;margin:20px 0;flex-wrap:wrap}.management-controls label{flex:1;min-width:170px}.management-table{overflow-x:auto}.management-table table{min-width:540px}.management-table td{overflow-wrap:anywhere}.management-table td:first-child{max-width:330px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}.report-summary>div{background:#f0f5ed;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}.report-summary span{font-size:.875rem}.report-summary strong{font-size:1.8rem}.method-summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px;font-size:.875rem}.method-summary span{padding:12px;background:#f4f6f4;border-radius:8px}.method-summary strong{display:block;margin-top:6px}.report-page{padding:30px 20px}.report-paper{max-width:1050px;background:#fff;margin:auto;padding:35px;border:1px solid var(--line);border-radius:16px}.report-toolbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:25px}.report-paper h2{margin-top:32px}.report-paper .muted{margin-top:20px}.report-paper table{font-size:.875rem}#management-history{margin-top:30px}@media(max-width:650px){.report-summary{grid-template-columns:1fr}.report-summary>div{padding:15px}.report-paper{padding:20px 12px}.report-page{padding:15px 5px}.report-paper td,.report-paper th{font-size:.8rem;padding:8px}.topbar{height:auto;min-height:80px;flex-wrap:wrap;padding:14px 16px;gap:12px}.topbar .section-name{display:none}#open-management{font-size:.8rem;padding:10px;min-height:42px}.report-toolbar{flex-wrap:wrap}}@media print{.report-page{background:white;padding:0}.report-paper{max-width:none;padding:0;border:0;border-radius:0}.report-toolbar{display:none}.report-paper h2{break-after:avoid}.report-paper tr,.report-summary{break-inside:avoid}.report-paper thead{display:table-header-group}.report-summary{grid-template-columns:repeat(3,1fr)}.report-paper td,.report-paper th{padding:8px;font-size:10pt}.report-paper .report-summary strong{font-size:18pt}}
