*{box-sizing:border-box;margin:0}:root{--bg: #f6f7fb;--panel: #ffffff;--border: #e4e7ee;--text: #1c2333;--muted: #6b7385;--brand: #3b5bdb;--brand-soft: #edf2ff;--green: #2b8a3e;--green-soft: #ebfbee;--red: #c92a2a;--red-soft: #fff5f5;--amber: #e8990c;--amber-soft: #fff9db;font-size:15px}body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}#root{display:flex;min-height:100vh}.sidebar{width:210px;background:#131a2e;color:#cbd3e8;padding:18px 10px;flex-shrink:0}.sidebar h1{font-size:17px;color:#fff;padding:4px 10px 18px}.sidebar button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:9px 12px;background:none;border:0;color:inherit;font:inherit;border-radius:8px;cursor:pointer}.sidebar button:hover{background:#ffffff12}.sidebar button.active{background:var(--brand);color:#fff}.sidebar .badge{margin-left:auto;background:var(--red);color:#fff;border-radius:10px;font-size:11px;padding:1px 7px}.main{flex:1;padding:24px 28px;max-width:1150px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}.page-head h2{font-size:21px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.card .label{font-size:12.5px;color:var(--muted);margin-bottom:6px}.card .value{font-size:21px;font-weight:650}.card.green .value{color:var(--green)}.card.red .value{color:var(--red)}.card.amber .value{color:var(--amber)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:18px}.panel h3{font-size:15px;margin-bottom:12px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-weight:600;font-size:12.5px;padding:7px 10px;border-bottom:1px solid var(--border)}td{padding:9px 10px;border-bottom:1px solid #f0f2f7}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--brand-soft)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.pill.PAID{background:var(--green-soft);color:var(--green)}.pill.PARTIAL{background:var(--amber-soft);color:var(--amber)}.pill.SENT{background:var(--brand-soft);color:var(--brand)}.pill.DRAFT{background:#eef0f4;color:var(--muted)}.pill.CANCELLED{background:#eef0f4;color:var(--muted);text-decoration:line-through}.pill.OVERDUE{background:var(--red-soft);color:var(--red)}.btn{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:8px 15px;font:inherit;font-weight:600;cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:#eef0f4;color:var(--text)}.btn.danger{background:var(--red-soft);color:var(--red)}.btn.sm{padding:4px 10px;font-size:13px}form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 12px;align-items:end}label.field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);font-weight:600}input,select,textarea{font:inherit;color:var(--text);padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}.items-table input{padding:6px 8px}.error{background:var(--red-soft);color:var(--red);padding:9px 13px;border-radius:8px;margin-bottom:12px;font-size:14px}.success{background:var(--green-soft);color:var(--green);padding:9px 13px;border-radius:8px;margin-bottom:12px;font-size:14px}.muted{color:var(--muted)}.bars{display:flex;align-items:flex-end;gap:6px;height:130px;padding-top:8px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:100%}.bar-pair{display:flex;align-items:flex-end;gap:2px;height:100%;width:100%;justify-content:center}.bar{width:45%;max-width:20px;border-radius:3px 3px 0 0;min-height:2px}.bar.in{background:var(--green)}.bar.out{background:var(--red);opacity:.75}.bar-label{font-size:10.5px;color:var(--muted)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:30px 34px;width:320px;display:grid;gap:12px}.login-card h1{font-size:19px;text-align:center;margin-bottom:6px}.preset-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{background:#eef0f4;border:1px solid var(--border);color:var(--text);font:inherit;font-size:13px;font-weight:600;padding:6px 13px;border-radius:999px;cursor:pointer}.chip:hover{border-color:var(--brand)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.delta{font-size:12.5px;font-weight:700}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.compare-lines{margin-top:8px;font-size:12.5px;color:var(--text);display:grid;gap:3px}.bar.prev{background:#b3bdd4}.swatch{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin-right:4px}.swatch.in{background:var(--green)}.swatch.prev{background:#b3bdd4}:root{--teal: #5ecb9e;--ink: #2b2f36}.invoice-doc{background:#fff;border:1px solid var(--border);border-radius:12px;max-width:826px;overflow:hidden;color:var(--ink)}.invoice-doc .band{height:52px;background:var(--teal)}.invoice-doc .band.bottom{background:#23272e;height:60px}.invoice-doc .doc-body{padding:30px 40px 40px}.invoice-doc header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.invoice-doc .wordmark{font-size:34px;font-weight:800;letter-spacing:.5px;color:var(--teal);line-height:1}.invoice-doc .wordmark:first-letter{color:var(--ink)}.invoice-doc .co-title{font-size:15px;letter-spacing:1px;margin-top:8px}.invoice-doc .meta td{border:0;padding:1px 0 1px 8px;font-size:13.5px}.invoice-doc .meta .mlabel{font-weight:700;text-align:right}.invoice-doc .bill-block{margin:22px 0}.invoice-doc .bill-block h4{font-size:14.5px;letter-spacing:.5px;margin-bottom:7px}.invoice-doc .bill-block p{font-size:13.5px;margin:2px 0;max-width:380px}.invoice-doc table.teal{margin:18px 0 4px}.invoice-doc table.teal th{background:var(--teal);color:#fff;text-align:center;font-size:12.5px;letter-spacing:.4px;padding:11px 8px;border-bottom:0}.invoice-doc table.teal td{text-align:center;font-size:13.5px;padding:11px 8px;border:1px solid #eceef2}.invoice-doc .gst-summary{margin-top:14px}.invoice-doc .paid-line{font-size:13.5px;margin:8px 0;color:var(--green)}.invoice-doc .notes{font-size:13px;color:var(--muted);margin-top:14px;white-space:pre-line}.invoice-doc .gen-note{text-align:center;font-size:13px;margin-top:34px;color:var(--ink)}@media (max-width: 760px){#root{flex-direction:column}.sidebar{width:100%;padding:10px 8px;display:flex;align-items:center;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.sidebar h1{font-size:14px;padding:0 10px 0 6px;white-space:nowrap}.sidebar button{width:auto;white-space:nowrap;padding:7px 10px;font-size:13.5px}.main{padding:14px 12px}.page-head h2{font-size:18px}.cards{grid-template-columns:repeat(2,1fr)}.panel{padding:12px;overflow-x:auto}.panel>table,.panel .items-table{min-width:560px}.invoice-doc .doc-body{padding:18px 16px 26px}.invoice-doc{overflow-x:auto}}@media print{.sidebar,.no-print{display:none!important}.main{padding:0;max-width:none}body{background:#fff}.invoice-doc{border:0;border-radius:0;max-width:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
