:root{--ink:#17202a;--muted:#6b7280;--line:#d8dde3;--paper:#fff;--canvas:#f3f5f7;--red:#9f1d20;--orange:#e69924;--green:#237a4b;--blue:#245e91}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0}.app-header{height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand,.invoice-brand{font-size:27px;letter-spacing:-1.5px;text-decoration:none;color:#7d8084}.brand strong,.invoice-brand strong{color:#8f1e23;font-weight:500}.header-title{font-weight:700}.back-link{color:var(--blue);text-decoration:none}.page-shell{max-width:1180px;margin:0 auto;padding:48px 24px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--red);margin:0 0 7px}.page-heading h1{font-size:38px;margin:0}.subtle{color:var(--muted);margin:6px 0 0}.filters{display:flex;align-items:end;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px 12px 0 0}.filters label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#4b5563}.search-field{flex:1}.filters input,.filters select{height:42px;border:1px solid #bfc6ce;border-radius:7px;background:#fff;padding:0 12px;font:inherit;font-size:15px;color:var(--ink)}button,.button-link{height:42px;border:0;border-radius:7px;padding:0 18px;background:var(--red);color:#fff;font:inherit;font-weight:700;display:inline-flex;align-items:center;text-decoration:none;cursor:pointer}.button-link{background:#e8ebee;color:#374151}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{padding:13px 16px;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8f9fa;border-bottom:1px solid var(--line)}.invoice-table td{padding:15px 16px;border-bottom:1px solid #eaedf0}.invoice-table tbody tr:hover{background:#fbf8f4}.numeric{text-align:right!important;font-variant-numeric:tabular-nums}.invoice-link{font-weight:800;color:var(--blue);text-decoration:none}.cell-note{font-size:12px;color:var(--muted);margin-top:3px}.amount-due{color:var(--red);font-weight:700}.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8edf2;color:#4b5563;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-paid{background:#dff3e7;color:#19613a}.status-void{background:#e8e8e8;color:#555}.status-issued,.status-partially_paid,.status-past_due{background:#f9e3df;color:#8a2422}.pagination{display:flex;justify-content:center;gap:24px;align-items:center;margin-top:22px;color:var(--muted)}.pagination a{color:var(--blue);text-decoration:none;font-weight:700}.empty-state{text-align:center!important;color:var(--muted);padding:40px!important}.alert{background:#fff1f0;border:1px solid #e4aaa4;padding:18px;border-radius:8px;color:#7e2720}.invoice-shell{max-width:960px;margin:0 auto;padding:30px 20px 70px}.invoice-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.invoice-actions a{color:var(--blue);text-decoration:none;font-weight:700}.invoice-paper{background:var(--paper);padding:52px 54px;box-shadow:0 8px 30px rgba(30,42,56,.12)}.invoice-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}.invoice-brand{font-size:38px}.invoice-number{text-align:right;color:#4b5563}.invoice-number>span,.invoice-number>strong{font-size:19px;color:#b10c10;margin-left:28px}.invoice-number>strong{font-weight:500}.invoice-number>div{margin-top:15px}.invoice-number small{font-size:12px;margin-right:10px}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:590px;margin:0 0 28px}.address-card,.comments{min-height:92px;background:linear-gradient(#d4d4d4,#e4e4e4);border-radius:9px;padding:24px 10px 10px;position:relative;white-space:normal}.address-card h2,.comments h2{position:absolute;top:4px;left:10px;margin:0;text-transform:uppercase;font-size:12px;font-weight:500;color:#777}.address-card div{font-size:13px;line-height:1.15}.line-items{width:100%;border-collapse:collapse;font-family:Arial,sans-serif;font-size:13px}.line-items th,.line-items td{border:1px solid #999;padding:4px 7px;text-align:left;vertical-align:top}.line-items thead th{text-transform:uppercase;color:#777;background:#e5e5e5;font-weight:500}.line-items th:last-child,.line-items td:last-child{width:110px;text-align:right}.line-items tbody tr{height:28px}.line-items tfoot th{border:0;text-align:right;text-transform:uppercase;color:#777;font-weight:500}.line-items tfoot td{font-weight:700}.invoice-bottom{display:grid;grid-template-columns:1fr 170px;gap:30px;margin-top:24px}.comments{min-height:94px}.comments div{font-size:13px}.balance-card{align-self:start}.balance-card>div{display:flex;justify-content:space-between;background:#ddd;padding:7px 10px}.balance-card>div:first-child{border-radius:9px 9px 0 0}.balance-card>div:nth-child(2){border-radius:0 0 9px 9px;background:#e6e6e6}.balance-card span{text-transform:uppercase;color:#777}.balance-card .status{margin-top:10px}.payment-history{margin-top:35px;border-top:1px solid var(--line);padding-top:16px}.payment-history h2{font-size:15px}.payment-history div{display:flex;justify-content:space-between;padding:6px 0;color:var(--muted)}@media(max-width:700px){.filters{align-items:stretch;flex-direction:column}.filters label,.filters button,.button-link{width:100%}.invoice-table th:nth-child(4),.invoice-table td:nth-child(4),.invoice-table th:nth-child(5),.invoice-table td:nth-child(5){display:none}.invoice-paper{padding:28px 20px}.invoice-top{gap:20px}.invoice-brand{font-size:28px}.invoice-number>span,.invoice-number>strong{display:block;margin:0}.address-grid,.invoice-bottom{grid-template-columns:1fr}.address-grid{max-width:none}}@media print{html,body{background:#fff}.no-print,.app-header{display:none!important}.invoice-shell{max-width:none;padding:0}.invoice-paper{box-shadow:none;padding:0}.invoice-page{font-size:11pt}@page{margin:.45in}}
