:root{color-scheme:light}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#222;background:#f3f3f3;margin:0;padding:24px;font-size:14px;line-height:1.5}.invoice{max-width:800px;margin:0 auto;background:#fff;padding:48px 56px;box-shadow:0 4px 20px #00000014}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:2px solid #e5e5e5;padding-bottom:24px;margin-bottom:32px}.logo{max-height:80px;max-width:240px;display:block;margin-bottom:12px}.meta{text-align:right}.meta h1{margin:0;font-size:28px;letter-spacing:1px;color:#000}.meta .number{font-size:18px;color:#555;margin-top:4px}.status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;background:#eee;color:#444;margin-top:8px}.parties{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}.party h3{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#888}.party .name{font-weight:700;font-size:15px;margin-bottom:4px}.party .lines{color:#555;font-size:13px}table.items{width:100%;border-collapse:collapse;margin-bottom:24px}table.items th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#888;padding:8px 10px;border-bottom:2px solid #e5e5e5}table.items td{padding:10px;border-bottom:1px solid #f0f0f0}table.items td.num,table.items th.num{text-align:right}.totals{width:320px;margin-left:auto;margin-bottom:32px}.totals table{width:100%;border-collapse:collapse}.totals th{text-align:left;padding:8px 10px;font-weight:500;color:#555}.totals td.num{text-align:right;padding:8px 10px;font-variant-numeric:tabular-nums}.bank .pay{border-collapse:collapse;margin-top:6px}.bank .pay th{text-align:left;font-weight:400;color:#666;padding:2px 14px 2px 0;white-space:nowrap;vertical-align:top}.bank .pay td{padding:2px 0;font-variant-numeric:tabular-nums;font-weight:600}.bank .pay-notes{margin-top:6px}.totals .balance th,.totals .balance td{font-weight:700;border-top:1px solid #ddd}.totals .settled th,.totals .settled td{color:#197a3d}.totals .grand th,.totals .grand td{font-size:17px;font-weight:700;color:#000;border-top:2px solid #222;padding-top:12px}.footer{margin-top:32px;padding-top:16px;border-top:1px solid #e5e5e5;font-size:12px;color:#888}.notes,.bank{margin-top:24px;padding:12px 16px;background:#fafafa;border-radius:4px;font-size:13px}.muted{color:#999;font-style:italic;text-align:center}.actions{max-width:800px;margin:0 auto 16px;display:flex;justify-content:flex-end;gap:8px}.actions button{background:#222;color:#fff;border:0;padding:8px 16px;font-size:13px;border-radius:4px;cursor:pointer}@media print{body{background:#fff;padding:0}.invoice{box-shadow:none;padding:24px}.actions{display:none}}
