:root{--navy:#101f1d;--orange:#e85c1f;--cream:#f6f7f4;--line:#dfe5e2;--muted:#68736f;--green:#177a52;--red:#b42318;--shadow:0 10px 30px rgba(16,31,29,.08)}*{box-sizing:border-box}html,body{margin:0;font:14px/1.5 Inter,Segoe UI,Arial,sans-serif;color:#17211e;background:#f3f5f3}a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:10}.brand{font-size:27px;font-weight:800;letter-spacing:-1px;margin:0 10px 28px}.brand span::first-letter{color:var(--orange)}.brand small{display:block;color:#ff8150;font-size:9px;letter-spacing:4px;margin-top:-5px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{padding:10px 13px;border-radius:9px;text-decoration:none;color:#cad5d1}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.userbox{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.13);display:grid}.userbox small{color:#9fb0aa}.userbox a{color:#ff9a72;margin-top:8px}.main{margin-left:238px;min-height:100vh}.main>header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.main>header h1{font-size:22px}.content{padding:28px;max-width:1500px;margin:auto}.mobile-menu{display:none}.grid{display:grid;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.metric small{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.6px}.metric strong{display:block;font-size:26px;margin-top:8px}.metric em{font-style:normal;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}.toolbar .group{display:flex;gap:8px;flex-wrap:wrap}.btn,button{appearance:none;border:0;border-radius:8px;background:var(--navy);color:#fff;padding:10px 15px;text-decoration:none;cursor:pointer;font-weight:600}.btn.orange{background:var(--orange)}.btn.light{background:#e8eeeb;color:var(--navy)}.btn.danger{background:#fee4e2;color:var(--red)}.btn.small{padding:6px 9px;font-size:12px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0ee;vertical-align:top}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#f8faf8}.table tr:last-child td{border-bottom:0}.right{text-align:right!important}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef1ef;font-size:11px;font-weight:700;text-transform:capitalize}.badge.paid,.badge.active,.badge.received{background:#dcfae6;color:#087443}.badge.partially_paid,.badge.pending{background:#fff0c2;color:#8a5b00}.badge.unpaid,.badge.overdue{background:#fee4e2;color:#b42318}.badge.draft,.badge.void{background:#ececec;color:#555}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#4d5a55;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #cfd8d4;border-radius:8px;background:#fff;font:inherit}.field textarea{min-height:90px;resize:vertical}.items-grid{display:grid;grid-template-columns:1fr 100px 130px 45px;gap:8px;margin-bottom:8px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:15px}.alert.success{background:#dcfae6;color:#087443}.alert.error{background:#fee4e2;color:#b42318}.alert.info{background:#e5f0ff;color:#175cd3}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#28423d,var(--navy) 50%)}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.login-card .brand{color:var(--navy);margin:0 0 25px}.login-card h1{font-size:22px}.login-card form{display:grid;gap:14px}.hint{color:var(--muted);font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:25px 0 12px}.empty{padding:35px;text-align:center;color:var(--muted)}.invoice-paper{width:210mm;min-height:297mm;margin:20px auto;background:#fff;padding:16mm;box-shadow:var(--shadow)}.invoice-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--orange);padding-bottom:18px}.invoice-head h1{font-size:34px;margin:0}.invoice-meta,.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px}.invoice-parties{margin:30px 0}.invoice-summary{margin-left:auto;width:360px}.invoice-footer{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.chart-bars{display:flex;align-items:end;gap:8px;height:160px;padding-top:20px}.chart-bars span{flex:1;background:var(--orange);min-height:2px;border-radius:5px 5px 0 0;position:relative}.chart-bars span small{position:absolute;bottom:-24px;width:100%;text-align:center;font-size:10px}.no-print{}@media(max-width:1050px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none}.main{margin-left:0}.mobile-menu{display:block}.main>header{padding:0 16px}.content{padding:18px}.form-grid{grid-template-columns:1fr}}@media(max-width:620px){.grid.cols-4,.grid.cols-2{grid-template-columns:1fr}.items-grid{grid-template-columns:1fr 70px 100px 38px}.invoice-paper{width:100%;min-height:0;margin:0;padding:18px}.invoice-meta,.invoice-parties,.invoice-footer{grid-template-columns:1fr}.invoice-summary{width:100%}}@media print{body{background:#fff}.no-print,.sidebar,.main>header{display:none!important}.main{margin:0}.content{padding:0}.invoice-paper{box-shadow:none;margin:0;width:100%;min-height:auto;padding:8mm}@page{size:A4;margin:0}}
+
/* Google Sheets legacy invoice layout */
.legacy-logo img{width:31mm;height:auto;display:block}
.invoice-actions{width:210mm;margin:14px auto;display:flex;align-items:center;gap:12px}.invoice-actions small{color:#68736f}.legacy-invoice{width:210mm;min-height:297mm;margin:0 auto 20px;background:#fff;padding:13mm 9mm 10mm;color:#17211e;box-shadow:var(--shadow);font:10.5pt/1.25 Arial,sans-serif}.legacy-logo{height:17mm;padding-left:4mm;display:flex;align-items:flex-start}.legacy-logo .brand{margin:0;font-size:15px;color:#101f1d}.legacy-logo .brand small{font-size:5px;letter-spacing:2.4px}.legacy-title-row{display:grid;grid-template-columns:61% 39%;align-items:stretch}.legacy-title{background:#17645e;color:#fff;font-size:27px;font-weight:800;line-height:12mm;padding:0 2mm}.legacy-meta{border-collapse:collapse;width:100%;font-size:10.5pt}.legacy-meta th{background:#f2f3f0;text-align:left;width:31%;padding:1.2mm;font-size:8.5pt}.legacy-meta td{padding:1.2mm}.legacy-parties{display:grid;grid-template-columns:1fr 39%;gap:13.5%;margin-top:5mm;min-height:29mm}.legacy-parties h3{margin:0 0 1mm;background:#ee5a20;color:#fff;padding:.7mm 1mm;font-size:10pt}.legacy-parties section>div{padding-left:1mm;line-height:1.45}.legacy-table{width:100%;border-collapse:collapse;table-layout:fixed}.legacy-table th{background:#17645e;color:#fff;text-align:left;padding:1mm;border:1px solid #d1d8d4;font-size:9pt}.legacy-table td{padding:1mm;border:1px solid #d1d8d4;vertical-align:top}.legacy-table .num{text-align:right}.legacy-items{margin-top:4mm}.legacy-items col.sl{width:7%}.legacy-items col.qty{width:8.5%}.legacy-items col.rate{width:13.5%}.legacy-items col.amount{width:17.5%}.legacy-items tbody tr{height:10.5mm}.legacy-summary-wrap{display:grid;grid-template-columns:61% 39%;margin-top:4mm;align-items:start}.summary-label{background:#f1f2ef;font-weight:700;padding:1mm}.legacy-summary{border-collapse:collapse;width:100%;font-size:9pt}.legacy-summary th,.legacy-summary td{border:1px solid #d1d8d4;padding:.8mm}.legacy-summary th{text-align:left}.legacy-summary td{text-align:right}.legacy-summary .balance th,.legacy-summary .balance td{background:#101f1d;color:#fff;font-size:10.5pt;font-weight:800}.payment-history-title{background:#17645e;color:#fff;font-weight:800;padding:1mm;margin-top:5mm}.legacy-payments th:nth-child(1){width:13%}.legacy-payments th:nth-child(2){width:27%}.legacy-payments th:nth-child(3){width:35%}.legacy-payments th:nth-child(4){width:13.5%}.legacy-payments tbody tr{height:5mm}.legacy-footer{display:grid;grid-template-columns:61% 39%;gap:0;margin-top:5mm;min-height:20mm;align-items:center}.payment-instructions{background:#f5f6f3;padding:2.5mm 1mm;font-size:8.5pt}.signature{text-align:center;font-size:8.5pt}.thank-you{background:#ee5a20;color:#fff;font-weight:800;text-align:center;padding:1mm;margin-top:2mm}
@media(max-width:850px){.invoice-actions,.legacy-invoice{width:100%}.legacy-invoice{min-height:0;padding:18px;overflow:auto}.legacy-title-row,.legacy-parties,.legacy-summary-wrap,.legacy-footer{min-width:720px}.legacy-table{min-width:720px}}
@media print{.legacy-invoice{box-shadow:none;margin:0;width:210mm;min-height:297mm;padding:11mm 8mm 8mm}.legacy-logo{height:15mm}.legacy-items tbody tr{height:9.5mm}.invoice-actions{display:none!important}}

/* Approved single-page A4 invoice geometry */
.legacy-invoice{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
.legacy-logo{height:10mm!important;padding-left:4mm!important}
.legacy-logo img{width:13mm!important;height:auto!important}
.legacy-title-row{height:9mm!important}
.legacy-title{background:#145a55!important;line-height:9mm!important;font-size:25px!important}
.legacy-meta{font-size:9pt!important}.legacy-meta th,.legacy-meta td{padding:.7mm 1mm!important}
.legacy-parties{margin-top:4mm!important;min-height:29mm!important}
.legacy-parties h3{background:#e85c1f!important}
.legacy-items{margin-top:3mm!important}.legacy-items th{background:#145a55!important}
.legacy-items tbody tr{height:9.5mm!important}
.legacy-summary-wrap{margin-top:4mm!important}.legacy-summary th,.legacy-summary td{padding:.55mm .8mm!important}
.legacy-summary .balance th,.legacy-summary .balance td{background:#101f1d!important}
.payment-history-title{background:#145a55!important;margin-top:4mm!important;padding:.7mm 1mm!important}
.legacy-payments th{background:#145a55!important}.legacy-payments tbody tr{height:4.5mm!important}
.legacy-footer{margin-top:4mm!important;min-height:17mm!important}
.payment-instructions{padding:1.5mm 1mm!important;font-size:7.7pt!important;line-height:1.25!important}
.thank-you{background:#e85c1f!important;margin-top:1.5mm!important;padding:.7mm!important}
.pwa-install{width:100%;margin-bottom:12px;background:#e85c1f;color:#fff;border:1px solid rgba(255,255,255,.18)}.pwa-install-help{display:block!important;color:#bdcbc6!important;margin:-6px 0 12px;line-height:1.35}.pwa-install[hidden],.pwa-install-help[hidden]{display:none!important}@media(display-mode:standalone){body{overscroll-behavior-y:none}.main>header{padding-top:env(safe-area-inset-top)}}
@media print{
  @page{size:A4;margin:0}
  html,body{width:210mm;height:297mm;margin:0!important;padding:0!important}
  .legacy-invoice{width:210mm!important;height:296mm!important;min-height:0!important;max-height:296mm!important;margin:0!important;padding:15mm 8.5mm 7mm!important;overflow:hidden!important;box-shadow:none!important}
}
