:root{--bg:oklch(98.5% .004 85);--bg-elev:oklch(100% 0 0);--paper:oklch(99.5% .006 85);--ink:oklch(22% .01 260);--ink-2:oklch(42% .01 260);--ink-3:oklch(62% .01 260);--line:oklch(92% .006 260);--line-2:oklch(88% .008 260);--accent:oklch(55% .12 250);--accent-soft:oklch(95% .04 250);--success:oklch(62% .08 150);--danger:oklch(58% .15 25);--radius:10px;--radius-sm:6px;--shadow-sm:0 1px 0 #14161e0a, 0 1px 2px #14161e0d;--shadow-md:0 2px 4px #14161e0a, 0 8px 24px #14161e0f;--shadow-paper:0 1px 0 #14161e0a, 0 30px 60px -20px #14161e2e, 0 10px 20px -10px #14161e14;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;padding:0;font-size:14px;line-height:1.5}.app{grid-template-columns:minmax(480px,1fr) minmax(0,1fr);max-width:1600px;min-height:100vh;margin:0 auto;display:grid}.editor{border-right:1px solid var(--line);max-height:100vh;padding:28px 36px 120px;overflow-y:auto}.preview-pane{background:linear-gradient(oklch(97% .006 260) 0%,oklch(94% .008 260) 100%);flex-direction:column;gap:16px;min-width:0;height:100vh;padding:28px;display:flex;position:sticky;top:0;overflow:auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.topbar--actions-only{justify-content:flex-end;margin-bottom:18px}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--ink);width:28px;height:28px;color:var(--bg);font-family:var(--font-serif);letter-spacing:.5px;border-radius:7px;place-items:center;font-size:18px;font-weight:500;display:grid}.brand-text{letter-spacing:-.01em;font-size:13px;font-weight:500}.brand-sub{color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase;font-size:11px}.topbar-actions{align-items:center;gap:8px;display:flex}.editor-head{margin-bottom:24px}.editor-kicker{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;margin-bottom:8px;font-size:11px}.editor-title{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 6px;font-size:34px;font-weight:400;line-height:1.05}.editor-sub{color:var(--ink-2);max-width:52ch;margin:0}.muted{color:var(--ink-3)}.row-between{justify-content:space-between;align-items:center;display:flex}.stack-2{flex-direction:column;gap:2px;display:flex}.stack-4{flex-direction:column;gap:4px;display:flex}.hstack-8{align-items:center;gap:8px;display:flex}.hstack-12{align-items:center;gap:12px;display:flex}.spacer{flex:1}@media (width<=1024px){.app{grid-template-columns:1fr}.preview-pane{height:auto;min-height:100vh;position:static}.editor{border-right:0;max-height:none}}@media (width<=720px){.editor{padding:20px 16px 72px}.topbar{flex-direction:column;align-items:flex-start;gap:16px}.editor-title{font-size:30px}.preview-pane{min-height:auto;padding:18px 16px}}.section{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:12px;position:relative;overflow:visible}.section:focus-within{z-index:20}.section-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--bg-elev), oklch(99% .004 85));border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.section-head-left{align-items:center;gap:10px;display:flex}.section-num{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--line-2);background:var(--bg);border-radius:5px;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.section-title{letter-spacing:-.005em;margin:0;font-size:13px;font-weight:600}.section-meta{color:var(--ink-3);font-size:11px;font-family:var(--font-mono)}.section-body{border-radius:0 0 var(--radius) var(--radius);background:var(--bg-elev);padding:16px}.divider{background:var(--line);height:1px;margin:8px -16px}.field-grid{grid-template-columns:repeat(12,1fr);gap:7px 10px;display:grid}.field{flex-direction:column;grid-column:span 12;gap:3px;min-width:0;display:flex}.field--action{justify-content:end}.field--action .btn{width:100%;padding-inline:8px}.field.col-9{grid-column:span 9}.field.col-8{grid-column:span 8}.field.col-7{grid-column:span 7}.field.col-6{grid-column:span 6}.field.col-5{grid-column:span 5}.field.col-4{grid-column:span 4}.field.col-3{grid-column:span 3}.field.col-2{grid-column:span 2}@media (width<=720px){.field.col-9,.field.col-8,.field.col-7,.field.col-6,.field.col-5,.field.col-4,.field.col-3,.field.col-2{grid-column:span 12}}.field-label{color:var(--ink-2);letter-spacing:.01em;justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.field-hint{font-family:var(--font-mono);color:var(--ink-3);font-size:10px;font-weight:400}.app .input,.app .select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg-elev);width:100%;min-width:0;height:32px;color:var(--ink);font-family:var(--font-sans);appearance:none;margin:0;padding:0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}.app .input.mono,.app .select.mono{font-family:var(--font-mono);font-size:12px}.app .input:hover,.app .select:hover{border-color:oklch(78% .01 260)}.app .input:focus,.app .select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-elev);outline:none}.app .input::placeholder{color:oklch(72% .01 260)}.app .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' stroke='%23666' fill='none' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}.seg{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg);align-items:center;height:36px;padding:2px;display:inline-flex}.seg button{font-family:var(--font-sans);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;height:30px;padding:0 10px;font-size:12px;font-weight:500;transition:background .12s,color .12s}.seg button:hover:not(.on){color:var(--ink)}.seg button.on{background:var(--ink);color:var(--bg)}.app .btn{border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--bg-elev);height:34px;color:var(--ink);font-family:var(--font-sans);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.app .btn:hover{background:oklch(98% .004 85);border-color:oklch(78% .01 260)}.app .btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.app .btn.ghost:hover{color:var(--ink);background:oklch(95% .005 260)}.app .btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.app .btn.primary:hover{background:oklch(32% .01 260)}.app .btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.app .btn.accent:hover{background:oklch(50% .12 250)}.app .btn.danger-ghost{color:var(--danger)}.app .btn.danger-ghost:hover{background:oklch(97% .02 25);border-color:oklch(85% .04 25)}.app .btn.sm{height:28px;padding:0 10px;font-size:11px}.app .btn .chev{opacity:.5}.address-wrap{z-index:30;position:relative}.address-fallback{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg-elev);color:oklch(52% .01 260);white-space:nowrap;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;font-size:13px;display:flex;overflow:hidden}.address-fallback-icon{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:9px}.address-wrap gmp-place-autocomplete{background:var(--bg-elev)!important;border:1px solid var(--line-2)!important;border-radius:var(--radius-sm)!important;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light only!important;--gmp-mat-background:var(--bg-elev)!important;--gmp-mat-color:var(--ink)!important;width:100%!important;height:32px!important;padding-left:20px!important;display:block!important}.address-wrap gmp-place-autocomplete:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important;outline:none!important}.address-wrap gmp-place-autocomplete::part(input),.address-wrap gmp-place-autocomplete::part(text-input){font-family:var(--font-sans)!important;color:var(--ink)!important;height:30px!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0 10px!important;font-size:13px!important;line-height:30px!important}.items-table{border-collapse:separate;border-spacing:0;width:100%}.items-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:0 10px 10px 0;font-size:10px;font-weight:500}.items-table th.num{text-align:right}.items-table td{vertical-align:middle;padding:6px 10px 6px 0}.items-row{position:relative}.items-row .grip{color:var(--ink-3);cursor:grab;opacity:0;transition:opacity .15s}.items-row:hover .grip{opacity:1}.items-row .row-remove{opacity:0;transition:opacity .15s}.items-row:hover .row-remove,.items-row:focus-within .row-remove{opacity:1}.items-row .line-total{font-family:var(--font-mono);text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}.items-footer{border-top:1px dashed var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:10px;padding-top:14px;display:flex}.totals{min-width:240px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.totals-row{color:var(--ink-2);justify-content:space-between;padding:4px 0;display:flex}.totals-row.grand{border-top:1px solid var(--line-2);color:var(--ink);margin-top:6px;padding-top:10px;font-size:14px;font-weight:600}.preview-bar{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.preview-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:10px}.preview-zoom{background:var(--bg-elev);border:1px solid var(--line-2);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.preview-zoom button{color:var(--ink-2);cursor:pointer;font-size:11px;font-family:var(--font-mono);background:0 0;border:0;border-radius:3px;padding:3px 8px}.preview-zoom button.on{background:var(--ink);color:var(--bg)}.paper-wrap{flex:1;justify-content:safe center;align-items:flex-start;min-width:0;padding:8px 0 40px;display:flex;overflow:auto}@media (width<=720px){.section-head{align-items:flex-start;gap:12px}.section-meta{text-align:right}.items-table{min-width:620px}.field.field--compact.col-2,.field.field--compact.col-3,.field.field--compact.col-4,.field.field--compact.col-5,.field.field--compact.col-6,.field.field--compact.col-7,.field.field--compact.col-8,.field.field--compact.col-9{grid-column:span 6}.field.field--action{grid-column:span 12;align-items:flex-start;margin-top:-2px}.field.field--action .btn{width:auto}.preview-bar{flex-direction:column;align-items:flex-start;gap:12px}.preview-zoom{max-width:100%;overflow-x:auto}.paper-wrap{justify-content:flex-start}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.paper{color:#2b2e38;transform-origin:top;background:#fefdf9;border-radius:2px;width:595px;min-height:842px;padding:56px 56px 48px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;line-height:1.5;box-shadow:0 1px #14161e0a,0 30px 60px -20px #14161e2e,0 10px 20px -10px #14161e14}.inv-top{grid-template-columns:1fr auto;gap:24px;margin-bottom:36px;display:grid}.inv-brand-name{letter-spacing:-.01em;color:#2b2e38;margin:0 0 10px;font-family:Instrument Serif,Times New Roman,serif;font-size:28px;font-weight:400;line-height:1}.inv-brand-meta{color:#606570;font-size:10.5px;line-height:1.55}.inv-brand-meta .mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.inv-badge{text-align:right;justify-self:end}.inv-badge-kicker{letter-spacing:.14em;color:#6b7080;text-transform:uppercase;margin-bottom:4px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:9px}.inv-badge-num{letter-spacing:-.01em;color:#2b2e38;font-family:Instrument Serif,Times New Roman,serif;font-size:22px}.inv-meta-grid{color:#4a4e58;grid-template-columns:auto auto;justify-content:end;gap:4px 16px;margin-top:10px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:10px;display:grid}.inv-meta-grid .lbl{color:#7a7f8a;text-align:right}.inv-parties{border-top:1px solid #dddde3;border-bottom:1px solid #dddde3;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;padding:16px 0;display:grid}.inv-party-label{letter-spacing:.14em;text-transform:uppercase;color:#6b7080;margin-bottom:6px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:9px}.inv-party-name{color:#2b2e38;margin-bottom:4px;font-size:12px;font-weight:600}.inv-party-detail{color:#5b5f6a;font-size:10.5px;line-height:1.55}.inv-party-detail .mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.inv-table{border-collapse:collapse;width:100%;font-size:10.5px}.inv-table thead th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:#6b7080;border-bottom:1px solid #d4d4dc;padding:0 6px 10px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:9px;font-weight:500}.inv-table thead th:first-child{padding-left:0}.inv-table thead th:last-child{padding-right:0}.inv-table thead th.num{text-align:right}.inv-table tbody td{vertical-align:top;color:#2b2e38;border-bottom:1px solid #e9eaee;padding:10px 6px}.inv-table tbody td:first-child{padding-left:0}.inv-table tbody td:last-child{padding-right:0}.inv-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.inv-table .gst-tag{color:#555964;background:#ebecef;border-radius:3px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:9px;display:inline-block}.inv-table .empty{color:#8b8f99;padding:20px 0}.inv-table .placeholder{color:#a5a9b2}.inv-totals{justify-content:flex-end;margin-top:16px;display:flex}.inv-totals-table{border-collapse:collapse;width:240px;font-size:11px}.inv-totals-table td{color:#4a4e58;padding:4px 0}.inv-totals-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.inv-totals-table tr.grand td{color:#2b2e38;border-top:1px solid #a7abb5;padding-top:12px;font-size:13px;font-weight:600}.inv-totals-table tr.grand td.num{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.inv-footer{color:#606570;border-top:1px solid #dddde3;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;padding-top:18px;font-size:10px;line-height:1.55;display:grid}.inv-footer .bank-label{letter-spacing:.14em;text-transform:uppercase;color:#6b7080;margin-bottom:6px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:9px}.inv-footer .bank-row{color:#2b2e38;grid-template-columns:auto 1fr;gap:4px 10px;margin-top:6px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:10px;display:grid}.inv-footer .bank-missing{color:#8b8f99;margin-top:4px}.inv-footer .notes{text-align:right}@media print{@page{size:A4;margin:0}html,body{margin:0;padding:0;background:#fff!important}.app{max-width:none!important;margin:0!important;display:block!important}.editor,.preview-bar,.view-preview-fab{display:none!important}.preview-pane{background:#fff!important;height:auto!important;padding:0!important;position:static!important;overflow:visible!important}.paper-wrap{padding:0!important}.paper-wrap>*{transform:none!important}.paper{box-shadow:none!important;width:210mm!important;min-height:297mm!important;margin:0 auto!important;padding:14mm 14mm 10mm!important}}
