*{box-sizing:border-box}body{margin:0;font:15px system-ui,sans-serif;color:#18352f;background:#f3f5f1}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:12px 18px;background:#165c48;color:white;font-weight:600}button:hover{filter:brightness(1.12)}button.secondary{background:#e8eee7;color:#244c3b}aside{position:fixed;width:240px;inset:0 auto 0 0;padding:32px 22px;background:#112f27;color:#d5e4db;display:flex;flex-direction:column}aside strong{font-size:28px;color:#cbea8d;letter-spacing:-1px}aside small{color:#98afa4}nav{display:grid;gap:9px;margin-top:48px}nav button{text-align:left;background:transparent;color:#b6cabe}nav button.active{background:#cbea8d;color:#193a2b}aside footer{margin-top:auto;font-size:12px;line-height:1.9}main{margin-left:240px;padding:28px 46px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce3d9;padding-bottom:22px;margin-bottom:36px}h1{font-size:36px;letter-spacing:-1.3px;margin:8px 0 12px}h2{font-size:20px}p{line-height:1.6;color:#667a70}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#6e8273}.hero{background:#e4edda;border:1px solid #d6e1cc;padding:30px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;margin:28px 0}.hero h2{font-size:25px;margin:0}.hero p{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid #e1e6dd;border-radius:14px;padding:24px;margin-bottom:20px}.metric{font-size:32px;font-weight:650;margin:20px 0 8px;letter-spacing:-1px}.muted{font-size:13px;color:#7c8b81}.badge{display:inline-block;border-radius:20px;padding:5px 11px;font-size:12px;background:#edf1df;color:#657534}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:17px 12px;border-bottom:1px solid #edf0e9;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#849286}.empty{text-align:center;padding:48px;color:#7c8b81}.empty b{display:block;color:#345542;margin:10px}form{display:grid;gap:17px}label{font-size:13px;display:grid;gap:7px}input,select,textarea{border:1px solid #d9e1d5;border-radius:8px;padding:12px;background:#fff;color:#1c3b30;width:100%}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.actions{display:flex;gap:12px;align-items:center}.line{display:grid;grid-template-columns:3fr 1fr 1fr 1fr auto;gap:10px}.login{max-width:430px;margin:12vh auto;padding:35px}.login h1{color:#165c48}#toast{position:fixed;bottom:28px;right:28px;max-width:440px;padding:18px;background:#173d30;color:white;border-radius:10px;display:none;z-index:10}.notice{border-left:3px solid #c0d68b;padding:12px 18px;background:#f5f7ee;line-height:1.6;font-size:13px}.print{background:white;padding:40px}.print h1{font-size:28px}@media(max-width:850px){aside{position:static;width:auto;padding:20px}aside footer{display:none}nav{display:flex;overflow:auto;margin-top:18px}nav button{white-space:nowrap}main{margin:0;padding:24px}.grid{grid-template-columns:1fr}.hero{display:block}.row{grid-template-columns:1fr}.line{grid-template-columns:2fr 1fr}header{gap:12px}}@media print{aside,header,.no-print,#toast{display:none!important}main{margin:0;padding:0}.print{padding:0}body{background:white}}
:root{--page:#f3f5f1;--surface:#fff;--text:#18352f;--muted:#64766b;--border:#dce3d9;--soft:#e8eee7;--hero:#e4edda;--accent:#165c48;--positive:#39916d;--purchase:#9c9bca;color-scheme:light}html[data-theme=dark]{--page:#0e1715;--surface:#17231f;--text:#e0ebe4;--muted:#a0b3a8;--border:#2c3c33;--soft:#25372d;--hero:#21382b;--accent:#b5d88b;--positive:#b5d88b;--purchase:#a6a3d9;color-scheme:dark}body{background:var(--page);color:var(--text)}p,.muted,.eyebrow,th,.empty,.empty b{color:var(--muted)}.card{background:var(--surface);border-color:var(--border)}header,td,th{border-color:var(--border)}input,select,textarea{background:var(--surface);color:var(--text);border-color:var(--border)}button{background:var(--accent)}html[data-theme=dark] button{color:#17251b}button.secondary{background:var(--soft);color:var(--text)}.hero{background:var(--hero);border-color:var(--border)}.notice{background:var(--soft);color:var(--text)}.badge{background:var(--soft);color:var(--accent)}aside .badge{color:#cbea8d;background:#294336}aside nav button{background:transparent;color:#b6cabe}aside nav button.active{background:#cbea8d;color:#193a2b}hr{border:0;border-top:1px solid var(--border)}.filterbar{display:grid;grid-template-columns:1fr 1fr 1fr .8fr auto;align-items:end}.metric{font-size:clamp(22px,2.2vw,32px);overflow-wrap:anywhere}.summary-line{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--border)}.connection-head{display:flex;align-items:center;justify-content:space-between}.connection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.connection-grid small{display:block;color:var(--muted);margin-bottom:12px}.connection-grid b{font-size:28px}.connection-grid b.timestamp{font-size:14px;font-weight:500}.environment-tabs{display:flex;gap:10px}.actions{flex-wrap:wrap}.download{color:var(--accent);font-weight:600;text-decoration:none}.download:hover{text-decoration:underline}.warning{color:#b66c30}.chart-row{display:grid;grid-template-columns:65px 1fr;gap:15px;align-items:center;margin:22px 0;font-size:12px}.chart-pair>div{display:flex;align-items:center;gap:9px;margin:7px 0}.chart-pair small{white-space:nowrap;min-width:100px;color:var(--muted)}.bar{height:9px;display:inline-block;border-radius:4px;max-width:65%}.sales{background:var(--positive)}.purchases{background:var(--purchase)}.legend{display:inline-block;height:9px;width:9px;border-radius:3px}.tablewrap small{color:var(--muted)}details{margin-top:5px}summary{cursor:pointer;font-size:11px;color:var(--muted)}button:disabled{opacity:.5;cursor:wait}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--positive);outline-offset:3px}html[data-theme=dark] .login h1{color:var(--accent)}html[data-theme=dark] .print{background:var(--surface)}.row>.card{min-width:0}header{flex-wrap:wrap;gap:12px}#theme-toggle{margin-left:auto}@media(max-width:1000px){.filterbar{grid-template-columns:1fr 1fr}.connection-grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}.connection-head{align-items:start;gap:15px}}@media print{html[data-theme=dark]{--page:white;--surface:white;--text:black;--muted:#444;--border:#ccc;--soft:#eee;--accent:#222}#theme-toggle{display:none}.print{color:black;background:white!important}}
html[data-theme=dark] button.secondary{color:var(--text)}html[data-theme=dark] aside nav button{color:#b6cabe}html[data-theme=dark] aside nav button.active{color:#193a2b}
.payment-controls{display:grid;grid-template-columns:140px 1fr auto;gap:18px;align-items:end}.payment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.payment-metrics .metric{font-size:clamp(20px,1.8vw,29px)}.payment-months td{padding-top:11px;padding-bottom:11px}.selected-month{background:var(--soft)}.payment-note{white-space:normal;min-width:130px;max-width:320px;overflow-wrap:anywhere}#payment-form-area{scroll-margin-top:20px}#payment-form{max-width:800px}.payment-months td:first-child button{font-variant-numeric:tabular-nums}@media(max-width:1100px){.payment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-controls{grid-template-columns:1fr 2fr}.payment-controls>button{grid-column:1/-1}}@media(max-width:550px){.payment-controls{grid-template-columns:1fr}.payment-metrics{grid-template-columns:1fr}.payment-months td,.payment-months th{padding-left:8px;padding-right:8px}}
.invoice-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.invoice-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.invoice-paper{margin:16px 0 24px;border:1px solid var(--border);border-radius:16px;max-width:1100px}.invoice-heading,.invoice-parties,.invoice-bottom{display:grid;grid-template-columns:1fr 1fr;gap:36px}.invoice-heading{border-bottom:1px solid var(--border);padding-bottom:22px}.invoice-heading h1{overflow-wrap:anywhere}.invoice-dates{text-align:right}.invoice-dates p{margin:0 0 12px}.invoice-parties{padding:20px 0}.invoice-lines td,.invoice-lines th{white-space:normal;vertical-align:top}.invoice-lines td:nth-child(2){min-width:180px;max-width:420px;overflow-wrap:anywhere}.invoice-bottom{padding-top:20px}.invoice-footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);overflow-wrap:anywhere}.bank-number{overflow-wrap:anywhere}.invoice-all-fields summary{font-size:14px;color:var(--text)}.invoice-all-fields details{margin:12px 0 12px 16px}.xml-field{display:grid;grid-template-columns:minmax(120px,1fr) 3fr;gap:16px;border-bottom:1px solid var(--border);padding:9px 0;font-size:13px;overflow-wrap:anywhere}.xml-field span{white-space:pre-wrap}.invoice-all-fields{margin-top:24px}#invoice-results .download{display:inline-block;margin-top:10px}@media(max-width:850px){.invoice-filters{grid-template-columns:1fr}.invoice-paper{padding:20px}.invoice-heading,.invoice-parties,.invoice-bottom{grid-template-columns:1fr;gap:14px}.invoice-dates{text-align:left}.invoice-toolbar .environment-tabs{flex-wrap:wrap}.xml-field{grid-template-columns:1fr}.invoice-totals .summary-line{flex-wrap:wrap}}@media print{.invoice-paper{border:0;border-radius:0;max-width:none;margin:0}.invoice-lines{font-size:11px}.invoice-lines td:nth-child(2){min-width:0}.invoice-heading,.invoice-parties,.invoice-bottom{grid-template-columns:1fr 1fr}.invoice-dates{text-align:right}.invoice-lines tr,.invoice-parties section{break-inside:avoid}.invoice-paper .tablewrap{overflow:visible}.invoice-footer{font-size:10px}}
