:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1a1c22;--mute:#6b7280;--mute-2:#9aa1ac;--line:#e2e4e8;--line-strong:#c7cbd3;--accent:#1554d9;--accent-ink:#fff;--accent-soft:#e8eefc;--bad:#c0342a;--bad-soft:#fbeae8;--good:#167a45;--good-soft:#e7f5ec;--bg:#fafafb;--surface:#fff;--surface-2:#f2f3f5;--focus-ring:#1554d9;--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:26px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e7e9ee;--mute:#9aa3b0;--mute-2:#6f7683;--line:#2d3038;--line-strong:#3c4048;--accent:#6d94ff;--accent-ink:#0b1020;--accent-soft:#172038;--bad:#ff8a80;--bad-soft:#3a1f1d;--good:#6fd39a;--good-soft:#163127;--bg:#14161b;--surface:#1b1e24;--surface-2:#22252c;--focus-ring:#6d94ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-size:var(--text-base);margin:0}input,select,button,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app{max-width:880px;padding:var(--space-6) var(--space-5) 140px;margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.app-header h1{font-size:var(--text-xl);margin:0}.app-tagline{font-size:var(--text-sm);color:var(--mute);margin:2px 0 0}.app-header-controls{gap:var(--space-4);flex-wrap:wrap;display:flex}.app-header-controls label{font-size:var(--text-xs);color:var(--mute);flex-direction:column;gap:2px;display:flex}.empty-state{align-items:center;gap:var(--space-4);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);display:flex}.empty-state p{font-size:var(--text-base);margin:0}.empty-state strong{font-size:var(--text-lg);margin-bottom:2px;display:block}.validation-summary{font-size:var(--text-sm);margin:0 0 var(--space-4);font-weight:600}.validation-ok{color:var(--good)}.validation-bad{color:var(--bad)}.validation-bad p{margin:0 0 6px}.validation-issue-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.validation-issue{text-align:left;width:100%;font:inherit;font-weight:400;font-size:var(--text-sm);color:var(--bad);cursor:pointer;background:0 0;border:none;padding:3px 0;display:block}.validation-issue:hover,.validation-issue:focus-visible{text-decoration:underline}.workspace{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;display:grid}@media (width<=768px){.workspace{grid-template-columns:1fr}}.mobile-view-toggle{display:none}@media (width<=768px){.mobile-view-toggle{margin-bottom:var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.mobile-view-toggle button{border-radius:var(--radius-sm);color:var(--mute);font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;flex:1;padding:8px}.mobile-view-toggle button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001a}.workspace.mobile-view-form .preview-panel,.workspace.mobile-view-preview .editor{display:none}}.editor{gap:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);flex-direction:column;min-width:0;display:flex}.editor-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.editor-parties{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}fieldset.party{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);flex-direction:column;min-width:0;display:flex}fieldset.party legend{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--mute);padding:0 4px;font-weight:600}.field{font-size:var(--text-base);flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{font-size:var(--text-xs);color:var(--mute)}.field input{padding:8px var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%}.field select{width:100%}.field input:focus-visible{border-color:var(--focus-ring)}.field-invalid input,.field-invalid select{border-color:var(--bad)}.field-incomplete input,.field-incomplete select{border-color:var(--mute-2);border-style:dashed}.field-incomplete .field-errors,.field-incomplete .field-hint{color:var(--mute)}.field-errors{font-size:var(--text-xs);color:var(--bad);flex-direction:column;gap:2px;margin:2px 0 0;padding:0;list-style:none;display:flex}.field-error-rule{color:var(--mute);white-space:nowrap;font-size:10.5px;font-weight:600}.field-hint{font-size:var(--text-xs);color:var(--bad);margin:2px 0 0}select{appearance:none;padding:8px var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--ink);font:inherit;background-image:linear-gradient(45deg, transparent 50%, var(--mute) 50%), linear-gradient(135deg, var(--mute) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px!important}select:focus-visible{border-color:var(--focus-ring)}.file-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker-button{width:fit-content;padding:8px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;font-weight:600;display:inline-flex}.file-picker-button:hover{border-color:var(--line-strong)}.file-picker-button:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.file-picker-name{font-size:var(--text-sm);color:var(--mute)}@media (prefers-color-scheme:dark){input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85)}}.locale-date{width:100%;display:block;position:relative}.field input.locale-date-native-hidden{color:#0000}.locale-date-overlay{pointer-events:none;color:var(--ink);font-size:inherit;white-space:nowrap;align-items:center;padding:0 30px 0 8px;display:flex;position:absolute;inset:0;overflow:hidden}.locale-date-placeholder{color:var(--mute)}.profile-picker{gap:var(--space-2);flex-wrap:wrap;margin-bottom:4px;display:flex}.profile-picker select{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;font-size:var(--text-sm);background:var(--surface);flex:140px;padding:6px 7px}.profile-picker button{white-space:nowrap;font-size:var(--text-sm);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);flex:none;padding:6px 9px}.profile-picker .profile-delete{color:var(--bad);border-color:var(--bad)}.billing-panel{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.billing-panel legend{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--mute);padding:0 4px;font-weight:600}.billing-toggle{align-items:center;gap:var(--space-2);font-size:var(--text-base);display:flex}.billing-percent{gap:var(--space-2);padding:var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;display:flex}.billing-percent .field input{max-width:160px}.billing-shortcuts{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.billing-shortcuts button{font-size:var(--text-sm);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:6px 10px}.billing-shortcuts button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.billing-custom-percent{font-size:var(--text-sm);color:var(--mute);align-items:center;gap:4px;display:flex}.billing-custom-percent input{border:1px solid var(--line);border-radius:var(--radius-sm);width:52px;padding:5px 6px}.billing-computed{font-size:var(--text-base);margin:0;font-weight:600}.billing-remaining{font-size:var(--text-sm);color:var(--mute);margin:0}.number-settings-toggle{color:var(--mute);background:0 0;border:none;align-self:flex-start;margin-top:2px;padding:0;font-size:10.5px;text-decoration:underline}.number-settings{font-size:var(--text-xs);background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-2);flex-direction:column;gap:6px;margin-top:4px;display:flex}.number-webhook-url{border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-xs);padding:6px 7px}.notes-textarea{padding:8px var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;resize:vertical}.invoice-dropzone{font-size:var(--text-base);padding:var(--space-4);margin-bottom:var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.invoice-dropzone-active{border-color:var(--accent);background:var(--accent-soft)}.invoice-dropzone-hint{font-size:var(--text-xs);color:var(--mute);margin:2px 0 0}.invoice-dropzone-error{color:var(--bad)}.invoice-dropzone-success{color:var(--good)}.logo-upload{font-size:var(--text-base);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);max-width:120px;max-height:60px;padding:4px}.editor-lines h3{font-size:var(--text-base);margin:0 0 var(--space-2)}.line-row{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1fr 64px 90px 170px 70px 28px;align-items:start;display:grid}@media (width<=640px){.line-row{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"name name name""qty price cat""rate rate remove"}.line-row .line-name{grid-area:name}.line-row .line-qty{grid-area:qty}.line-row .line-price{grid-area:price}.line-row select{grid-area:cat}.line-row .line-rate{grid-area:rate}.line-row .line-remove{grid-area:remove;justify-self:end}}.line-row input,.line-row select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%;padding:6px 7px}.line-remove{color:var(--mute);font-size:var(--text-lg);background:0 0;border:none;line-height:1}.app-footer{background:var(--surface);border-top:1px solid var(--line);padding:var(--space-3) var(--space-5);z-index:10;justify-content:flex-end;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.protect-prompt{align-items:center;gap:var(--space-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.protect-prompt input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:180px;color:var(--ink);flex:1;padding:8px}.app-footer-actions{gap:var(--space-2);display:flex}button.primary{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-md);border:none;padding:10px 18px;font-weight:600}button.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 18px}.unlock-screen{text-align:center;max-width:420px;padding:0 var(--space-5);margin:15vh auto}.unlock-screen input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);margin:12px 0;padding:10px}.unlock-error{color:var(--bad);font-size:var(--text-base)}.discard{color:var(--mute);margin-top:var(--space-4);background:0 0;border:none;text-decoration:underline}.preview-panel{top:var(--space-6);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);max-height:calc(100vh - var(--space-8));flex-direction:column;display:flex;position:sticky;overflow:auto}@media (width<=768px){.preview-panel{max-height:75vh;position:static}}.preview-panel canvas{aspect-ratio:595.28/841.89;border-radius:var(--radius-sm);background:#fff;width:100%;display:block;box-shadow:0 2px 10px #0000001f}.preview-status{font-size:var(--text-xs);color:var(--mute);margin:0}
