:root{--brand-green: #263f38;--brand-green-dark: #1b302a;--brand-soft: #f3f6f4;--brand-muted: #8fa198;--text: #202523;--text-muted: #5f6965;--border: #dce2df;--border-dark: #bcc7c2;--page-bg: #ffffff;--app-bg: #edf0ee;--radius: 6px;--page-width: 8.5in;--page-height: 11in;--font: Inter, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}body{margin:0;padding:32px;background:var(--app-bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.5}.dashboard-shell{width:min(100%,1040px);margin:24px auto 64px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.dashboard-header>.primary-button{flex:none}.dashboard-header h1,.not-found h1{margin:4px 0;color:var(--brand-green);font-size:30px;letter-spacing:-.025em}.dashboard-header p:last-child,.not-found p{margin:0;color:var(--text-muted)}.dashboard-card{overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0000000f}.invoice-search{display:grid;gap:7px;padding:20px;border-bottom:1px solid var(--border)}.invoice-search span{color:var(--brand-green);font-size:12px;font-weight:700}.invoice-search input{width:min(100%,430px);padding:10px 12px;color:var(--text);background:#fff;border:1px solid var(--border-dark);border-radius:6px;outline:none;font:inherit}.invoice-search input:focus{border-color:var(--brand-muted);box-shadow:0 0 0 3px #8fa1982e}.invoice-list-wrap{overflow-x:auto}.invoice-list{width:100%;min-width:720px;border-collapse:collapse;font-variant-numeric:tabular-nums}.invoice-list th,.invoice-list td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left}.invoice-list th{color:var(--text-muted);background:var(--brand-soft);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.table-sort{display:flex;align-items:center;gap:6px;width:100%;padding:0;color:inherit;background:transparent;border:0;cursor:pointer;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit}.table-sort:hover,.table-sort:focus-visible{color:var(--brand-green)}.table-sort span[aria-hidden]{min-width:1em;font-size:13px}.invoice-list .numeric .table-sort{justify-content:flex-end}.invoice-list tbody tr:last-child td{border-bottom:0}.invoice-list tbody tr:hover{background:#f8faf9}.invoice-list .numeric{text-align:right;white-space:nowrap}.invoice-link{color:var(--brand-green);font-weight:700;text-underline-offset:3px}.status-badge{display:inline-block;padding:3px 8px;color:#506159;background:#e9eeeb;border-radius:999px;font-size:10px;font-weight:700}.status-badge.is-committed{color:#fff;background:var(--brand-green)}.empty-state{margin:0;padding:32px 20px;color:var(--text-muted);text-align:center}.invoice-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 18px;border-top:1px solid var(--border)}.invoice-pagination[hidden]{display:none}.invoice-pagination span{min-width:100px;color:var(--text-muted);text-align:center}.invoice-detail-shell{width:min(100%,var(--page-width));margin:0 auto}.invoice-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.invoice-actions>div,.editor-heading-actions{display:flex;align-items:center;gap:8px}.primary-button,.commit-button,.delete-button{display:inline-block;padding:8px 12px;color:#fff;background:var(--brand-green);border:1px solid var(--brand-green);border-radius:5px;cursor:pointer;font:inherit;font-size:11px;font-weight:700;line-height:1.4;text-decoration:none}.commit-button{background:var(--brand-green-dark)}.delete-button{color:#7c2929;background:#fff5f5;border-color:#d8aaaa}.primary-button:hover,.commit-button:not(:disabled):hover{background:#35554c}.delete-button:not(:disabled):hover{background:#f8e3e3}.delete-button:disabled{cursor:not-allowed;opacity:.48}.primary-button.is-disabled,.commit-button:disabled{cursor:not-allowed;opacity:.48}.commit-notice{margin:0 0 14px;padding:10px 12px;color:#44534c;background:#e5ebe8;border:1px solid var(--border-dark);border-radius:6px;font-size:12px}.not-found{width:min(100%,560px);margin:12vh auto;padding:36px;background:#fff;border:1px solid var(--border);border-radius:10px;text-align:center}.not-found .primary-button{margin-top:22px}.invoice-builder{display:grid;grid-template-columns:430px minmax(0,var(--page-width));align-items:start;justify-content:center;gap:28px}.editor-panel{position:sticky;top:24px;max-height:calc(100vh - 48px);padding:22px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #00000014;scrollbar-color:var(--brand-muted) transparent;scrollbar-width:thin}.editor-panel::-webkit-scrollbar{width:7px}.editor-panel::-webkit-scrollbar-track{margin:8px 0;background:transparent}.editor-panel::-webkit-scrollbar-thumb{background:var(--brand-muted);border:2px solid white;border-radius:999px}.editor-panel::-webkit-scrollbar-thumb:hover{background:var(--brand-green)}.editor-heading,.fieldset-heading,.line-item-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.editor-heading{margin-bottom:22px}.editor-heading h1{margin:2px 0 0;color:var(--brand-green);font-size:20px;line-height:1.2}.editor-eyebrow{margin:0;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.editor-panel form{display:grid;gap:18px}.editor-panel fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:0 0 18px;border:0;border-bottom:1px solid var(--border)}.editor-panel fieldset:last-child{padding-bottom:0;border-bottom:0}.editor-panel legend{margin:0 0 10px;padding:0;color:var(--brand-green);font-size:12px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.fieldset-heading legend{margin:0}.editor-panel label{display:grid;gap:5px;min-width:0}.editor-panel label>span{color:var(--text-muted);font-size:11px;font-weight:600}.editor-panel input,.editor-panel select,.editor-panel textarea{width:100%;min-width:0;padding:8px 10px;color:var(--text);background:#fff;border:1px solid var(--border-dark);border-radius:5px;outline:none;font:inherit}.editor-panel textarea{resize:vertical}.editor-panel input:disabled{color:var(--text-muted);background:#eef1ef;cursor:not-allowed}.field-help{margin:-4px 0 10px;color:var(--text-muted);font-size:10.5px}.editor-panel input:focus,.editor-panel select:focus,.editor-panel textarea:focus{border-color:var(--brand-muted);box-shadow:0 0 0 3px #8fa1982e}.editor-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary-button,.add-button,.remove-button{display:inline-block;padding:7px 10px;color:var(--brand-green);background:var(--brand-soft);border:1px solid var(--border-dark);border-radius:5px;cursor:pointer;font:inherit;font-size:11px;font-weight:650;line-height:1.4;text-decoration:none}.secondary-button:hover,.add-button:hover{background:#e7ece9}.line-item-editors{display:grid;gap:10px}.line-item-editor{display:grid;gap:9px;padding:12px;background:var(--brand-soft);border:1px solid var(--border);border-radius:var(--radius)}.line-item-editor-heading strong{color:var(--brand-green);font-size:11px}.remove-button{padding:3px 6px;color:#6d3b3b;background:transparent;border-color:transparent}.remove-button:hover{background:#f1e8e8}.invoice-preview{min-width:0}.page{width:min(100%,var(--page-width));min-height:var(--page-height);margin:0 auto;padding:.58in .62in;background:var(--page-bg);box-shadow:0 2px 5px #0000000f,0 12px 35px #00000014}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:24px;border-bottom:2px solid var(--border-dark)}.header-left,.header-right{display:grid;grid-template-rows:70px auto;gap:13px}.header-left{flex:1}.logo{display:block;width:190px;max-height:70px;object-fit:contain;object-position:left center}.company-info{color:var(--text-muted);font-size:12px}.company-info p{margin:1px 0}.company-info p:first-child{color:var(--text);font-weight:650}.muted{color:var(--text-muted)}.header-right{min-width:215px;text-align:right}.header-right h1{margin:-5px 0 0;color:var(--brand-green);font-size:30px;font-weight:700;letter-spacing:-.03em;text-transform:uppercase}.invoice-meta{display:grid;grid-template-columns:max-content max-content;justify-content:end;column-gap:8px;margin:0}.invoice-meta>div{display:contents}.invoice-meta dt{padding:3px 0;color:var(--text-muted);font-size:12px;font-weight:500;text-align:right}.invoice-meta dd{margin:0;padding:3px 0;font-weight:650}.details{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;margin:24px 0 28px}.details>div{min-height:112px;padding:16px 18px;background:var(--brand-soft);border:1px solid var(--border);border-left:4px solid var(--brand-muted);border-radius:var(--radius)}.details h2,.invoice-footer h2{margin:0 0 10px;color:var(--brand-green);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.details p{margin:2px 0}.payer-name{font-weight:650}.payer-name a[href]{color:var(--brand-green);text-decoration:underline;text-underline-offset:3px}.fiscal-info dl{margin:0}.fiscal-info dl>div{display:grid;grid-template-columns:42px 1fr;margin:3px 0}.fiscal-info dt{color:var(--text-muted)}.fiscal-info dd{margin:0;font-weight:550}.invoice-details{margin-top:12px}.invoice-details table{width:100%;border-collapse:collapse;border:1px solid var(--border);font-variant-numeric:tabular-nums}.invoice-details th,.invoice-details td{padding:11px 13px}.invoice-details thead{color:#fff;background:var(--brand-green)}.invoice-details thead th{padding-top:12px;padding-bottom:12px;font-size:10.5px;font-weight:650;letter-spacing:.055em;text-align:left;text-transform:uppercase}.invoice-details .numeric{text-align:right}.invoice-details .qty{width:60px}.invoice-details .unit-price{width:115px}.invoice-details .amount{width:120px}.invoice-details tbody tr{border-bottom:1px solid var(--border)}.invoice-details tbody tr:nth-child(2n){background:#f7f9f8}.invoice-details tbody td{height:42px;vertical-align:top}.invoice-details tbody td:first-child{color:var(--text);font-weight:520}.invoice-details tbody .numeric{white-space:nowrap}.invoice-details tfoot{border-top:2px solid var(--border-dark)}.invoice-details tfoot th,.invoice-details tfoot td{padding:7px 13px}.invoice-details tfoot th{color:var(--text-muted);font-size:12px;font-weight:500;text-align:right}.invoice-details tfoot td{width:120px;font-weight:600;text-align:right}.subtotal-row th,.subtotal-row td{padding-top:13px!important}.tax-row th,.tax-row td{color:var(--text-muted)}.rate{margin-left:4px;font-size:10.5px;font-weight:400}.total-row th,.total-row td{padding-top:12px!important;padding-bottom:12px!important;color:#fff!important;background:var(--brand-green);font-size:15px!important;font-weight:700!important}.total-row th{text-transform:uppercase}.invoice-footer{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:36px;padding-top:20px;border-top:2px solid var(--border)}.payment-info{margin:0}.payment-info>div{display:grid;grid-template-columns:80px 1fr;margin:3px 0}.payment-info dt{color:var(--text-muted)}.payment-info dd{margin:0}.payment-instructions{max-width:34em;margin:10px 0 0;color:var(--text-muted);font-size:12px}.invoice-footer p{margin-top:0}.page>footer{margin-top:45px;padding-top:12px;color:var(--text-muted);border-top:1px solid var(--border);font-size:10px;letter-spacing:.03em;text-align:center}@media(max-width:1340px){.invoice-builder{grid-template-columns:minmax(0,var(--page-width))}.editor-panel{position:static;width:100%;max-height:none;margin:0 auto}}@media(max-width:720px){body{padding:0}.dashboard-shell{margin:0 auto;padding:24px 16px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:16px}.invoice-actions{align-items:flex-start;padding:16px}.invoice-actions>div{flex-wrap:wrap;justify-content:flex-end}.commit-notice{margin:0 16px 14px}.page{min-height:100vh;padding:32px 24px;box-shadow:none}.invoice-header{flex-direction:column;gap:24px}.details,.invoice-footer{grid-template-columns:1fr}.header-right{width:100%;min-width:0;text-align:left}.invoice-meta{justify-content:start}.details{gap:12px}.invoice-details{overflow-x:auto}.invoice-details table{min-width:620px}}@media print{@page{size:letter;margin:.5in}body{padding:0;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.invoice-builder{display:block}.editor-panel,.invoice-actions,.commit-notice{display:none}.invoice-detail-shell,.invoice-preview{width:100%}.page{width:100%;min-height:0;padding:0;box-shadow:none}.invoice-header,.details,.details>div,.invoice-footer,.page>footer{break-inside:avoid;page-break-inside:avoid}.invoice-details{overflow:visible}.invoice-details table{min-width:0}.invoice-details thead{display:table-header-group}.invoice-details tfoot{display:table-row-group;break-inside:avoid;page-break-inside:avoid}.invoice-details tr{break-inside:avoid;page-break-inside:avoid}}.dashboard-actions{display:flex;align-items:center;gap:10px}.login-shell,.loading-state{width:min(100%,440px);margin:10vh auto}.login-card{display:grid;gap:18px;padding:32px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0000000f}.login-card h1{margin:0;color:var(--brand-green);font-size:30px}.login-card>p{margin:0}.login-card label{display:grid;gap:7px;color:var(--brand-green);font-weight:700}.login-card input{width:100%;padding:10px 12px;border:1px solid var(--border-dark);border-radius:var(--radius);font:inherit}.login-card .login-error{padding:10px;color:#8b1d1d;background:#fff0f0;border-radius:var(--radius)}.loading-state{padding:32px;color:var(--text-muted);text-align:center}.client-detail-shell{width:min(100%,1040px);margin:24px auto 64px}.client-card{margin-bottom:24px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0000000a}.client-card h1{margin:4px 0 20px;color:var(--brand-green);font-size:28px}.client-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}.client-coordinates dt{margin-bottom:4px;color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.client-coordinates dd{margin:0}.client-invoices>header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--border)}.client-invoices h2{margin:0;color:var(--brand-green)}.client-invoices>header span{color:var(--text-muted)}@media(max-width:700px){.client-coordinates{grid-template-columns:1fr}}.client-link{color:var(--brand-green);font-weight:600;text-decoration:underline;text-underline-offset:3px}.client-link:not([href]){color:inherit;text-decoration:none}.inline-client-value{max-width:100%;padding:2px 4px;color:inherit;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;font:inherit;text-align:left}.inline-client-value:hover,.inline-client-value:focus-visible{background:var(--brand-soft);border-color:var(--border-dark)}.inline-client-name{padding:2px 4px;color:var(--brand-green);font-size:inherit;font-weight:inherit}.inline-edit-hint{margin:18px 0 0;color:var(--text-muted);font-size:11px}.client-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-edit-form[hidden]{display:none}.client-edit-form label{display:grid;gap:5px}.client-edit-form label span{color:var(--text-muted);font-size:11px;font-weight:700}.client-edit-form input{width:100%;padding:9px 10px;border:1px solid var(--border-dark);border-radius:var(--radius);font:inherit}.client-edit-form input:focus{border-color:var(--brand-muted);box-shadow:0 0 0 3px #8fa1982e;outline:none}.client-edit-actions,.client-edit-form .login-error{grid-column:1 / -1}.client-edit-actions{display:flex;justify-content:flex-end;gap:8px}.client-edit-form .login-error{margin:0;padding:10px;color:#8b1d1d;background:#fff0f0;border-radius:var(--radius)}@media(max-width:700px){.client-edit-form{grid-template-columns:1fr}}.settings-dialog{width:min(calc(100% - 32px),620px);max-height:calc(100vh - 32px);padding:0;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 60px #00000038}.settings-dialog::backdrop{background:#141e1a7a}.settings-dialog form{max-height:calc(100vh - 34px);padding:24px;overflow-y:auto}.settings-dialog header,.settings-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-dialog h2{margin:3px 0 0;color:var(--brand-green);font-size:24px}.dialog-close{padding:2px 8px;color:var(--text-muted);background:transparent;border:0;cursor:pointer;font-size:25px}.settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 16px}.settings-fields h3,.settings-wide{grid-column:1 / -1}.settings-fields h3{margin:8px 0 0;color:var(--brand-green);font-size:13px}.settings-fields label{display:grid;gap:5px}.settings-fields label span{color:var(--text-muted);font-size:11px;font-weight:700}.settings-fields input,.settings-fields textarea{width:100%;padding:9px 10px;border:1px solid var(--border-dark);border-radius:var(--radius);font:inherit}.settings-fields textarea{resize:vertical}.settings-help{margin:0 0 20px;color:var(--text-muted);font-size:11px}.settings-dialog footer{justify-content:flex-end;margin-top:20px}.settings-dialog .login-error{margin:12px 0;padding:10px;color:#8b1d1d;background:#fff0f0;border-radius:var(--radius)}@media(max-width:560px){.settings-fields{grid-template-columns:1fr}}
