:root{--ink: #12202b;--mist: #e7ebe4;--paper: #fafbf8;--teal: #0e6e62;--teal-lt: #63b3a5;--gold: #e4a130;--muted: #55697a;--line: rgba(18, 32, 43, .14);--line-dk: rgba(231, 235, 228, .16);--bad: #9a1c14;--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--pad: clamp(20px, 5vw, 64px);--max: 1160px;--rule: #dddddd;--fill: lightgray;--page-zoom: 1}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--mist);color:var(--ink);font-family:var(--body);font-size:clamp(16px,1.05vw,17.5px);line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}a{color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.micro{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase}.masthead{background:var(--ink);color:var(--mist);border-bottom:1px solid var(--line-dk)}.masthead-in{display:flex;align-items:center;gap:.6rem 1.75rem;flex-wrap:wrap;min-height:70px;padding-block:.85rem}.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}.brand svg{display:block;width:26px;height:16px;color:var(--gold);flex:none}.masthead-in nav{display:flex;gap:clamp(16px,2.2vw,30px);flex-wrap:wrap}.masthead-in nav a{color:#e7ebe4b8;font-size:.85rem;font-weight:500;letter-spacing:.01em;text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.masthead-in nav a:hover{color:var(--gold)}.masthead-in nav a[aria-current=page]{color:var(--gold);border-color:var(--gold)}.masthead-note{margin-left:auto;color:#e7ebe473;font-size:.66rem;letter-spacing:.16em}.summary{background:var(--ink);color:var(--mist);border-bottom:3px solid var(--gold)}.summary-in{display:flex;flex-direction:column;line-height:normal;align-items:center;gap:.5rem;text-align:center;width:100%;padding:clamp(1.5rem,4vw,2.8rem) 0 clamp(1.25rem,3vw,2.1rem)}.summary-label{color:var(--gold);font-size:.685rem;letter-spacing:.22em}.figure{font-family:var(--display);font-weight:700;font-variation-settings:"wdth" 92;font-variant-numeric:tabular-nums;font-size:clamp(2.7rem,11vw,5rem);letter-spacing:-.045em;line-height:1.02;color:var(--teal-lt)}.summary-hint{color:#e7ebe473;font-size:.66rem;letter-spacing:.16em}.toolbar{position:sticky;top:0;z-index:5;background:#e7ebe4f0;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.toolbar-in{display:flex;align-items:center;gap:.6rem 1.5rem;flex-wrap:wrap;padding-block:.85rem}.toolbar-label{color:var(--muted);font-size:.66rem;letter-spacing:.16em}.toolbar-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-left:auto}.button{appearance:none;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:var(--ink);cursor:pointer;font-family:var(--body);font-weight:600;font-size:.9rem;letter-spacing:-.005em;min-height:42px;padding:0 1.2rem;transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px -12px #e4a130a6}.button.ghost{background:transparent;color:var(--ink);border-color:var(--line);font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}.button.ghost:hover:not(:disabled){border-color:var(--ink);box-shadow:none}.button.ghost[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--mist)}.button:disabled{cursor:wait;opacity:.55}.status{font-size:.85rem;font-weight:600;color:var(--bad)}.preview{display:block;padding-block:clamp(1.5rem,3vw,2.75rem);padding-inline:clamp(.5rem,2vw,1.5rem);overflow-x:auto}.page{background:#fff;box-shadow:0 24px 60px -34px #12202bbf;width:210mm;padding:10mm;margin-inline:auto;box-sizing:border-box;color:#000;zoom:var(--page-zoom);font-size:16px;line-height:1.6;letter-spacing:0}.invoice-total-group,.invoice-footer{break-inside:avoid;page-break-inside:avoid}.invoice-footer{display:table-footer-group}table{width:100%;border-collapse:collapse}.t td,.t th{border:1px solid var(--rule);font-weight:400;font-size:12.8px;line-height:1.45;letter-spacing:0}.t-left{text-align:left}.t-center{text-align:center}.t-right{text-align:right}.nowrap{white-space:nowrap}.cell-fill{background-color:var(--fill)}.description-column{width:100%}.description-cell{white-space:pre-wrap}.t .strong{font-weight:700}.borderless td,.borderless th{border:none}.borderless td[data-pdf-field]{border:1px solid var(--rule)}.t .invoice-title{font-size:34px;font-weight:400;border:none;padding-top:4mm}.t .banking-cell{border:none;font-weight:600;white-space:nowrap}.t .footer-cell{border:none;font-size:12.8px;font-weight:400;color:#0009;white-space:nowrap}.t .footer-cell-first{border-top:1px solid var(--fill);padding-top:20px}.invoice-company td{line-height:1.45;letter-spacing:0}[data-edit]{border-radius:2px;transition:background .14s ease}[data-edit]:hover{background:#e4a13033}[data-edit]:focus{background:#fdf6e8;outline:2px solid var(--gold);outline-offset:1px}[data-edit]:empty:before{content:attr(data-placeholder);color:#9aa3ab}.brand-mark{display:inline-flex;align-items:center;justify-content:center;min-height:46px}.wordmark{display:inline-block;font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.035em;text-transform:uppercase;padding:0 .15em}.logo-picker-button{align-items:center;appearance:none;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-flex;justify-content:center;padding:0}.logo-picker-button:focus-visible{border-color:var(--gold)}.logo-picker-button img{display:block;height:auto;max-width:100%}.logo-file-input{display:none}.quantity-cell{padding:4px!important}.quantity-cell-content{align-items:center;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) 20px}.quantity-value{display:block;min-width:0;text-align:right;white-space:nowrap}.delete-item-button{align-items:center;appearance:none;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.delete-item-button:hover,.delete-item-button:focus-visible{background:#f7dede;border-color:#e2b8b8;color:var(--bad)}.add-item-cell{padding:4px!important;text-align:center}.add-item-cell-button{align-items:center;appearance:none;background:var(--paper);border:1px solid rgba(18,32,43,.28);border-radius:4px;color:var(--ink);cursor:pointer;display:inline-flex;font:inherit;font-size:16px;font-weight:600;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.add-item-cell-button:hover,.add-item-cell-button:focus-visible{background:var(--gold);border-color:var(--ink)}.ad{border:1px dashed var(--line);background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;text-align:center;padding:1.4rem 1.1rem;min-height:100px;color:var(--muted)}.ad .micro{font-size:.62rem}.ad-note{margin:0;max-width:30ch;font-size:.8rem;line-height:1.6;color:var(--muted)}.foot{background:var(--ink);color:#e7ebe49e;margin-top:clamp(2.5rem,5vw,4.5rem);padding-block:clamp(2.75rem,5vw,4.25rem) 2rem;font-size:.9rem}.foot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem clamp(1.75rem,4vw,3rem);align-items:start}.foot-grid h4{font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;color:var(--mist);margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:1px solid var(--line-dk)}.foot-grid p{margin:0;font-size:.9rem;line-height:1.62}.foot-grid b{color:var(--gold);font-weight:600}.foot-note{margin:clamp(2rem,4vw,3rem) 0 0;padding:1.1rem 1.3rem;border:1px dashed var(--line-dk);font-size:.85rem;color:#e7ebe48c;max-width:78ch}.foot-note a{color:var(--gold)}.foot-rule{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid var(--line-dk);display:flex;justify-content:space-between;gap:.6rem 2rem;flex-wrap:wrap;color:#e7ebe46b}.foot-rule .micro{font-size:.66rem;letter-spacing:.11em}@media screen{body[data-view=edit] .preview{overflow-x:visible}body[data-view=edit] .page{width:100%;max-width:46rem;padding:clamp(1rem,4vw,1.75rem);zoom:1}body[data-view=edit] .t,body[data-view=edit] .t thead,body[data-view=edit] .t tbody,body[data-view=edit] .t tfoot,body[data-view=edit] .t tr{display:block}body[data-view=edit] .t td,body[data-view=edit] .t th{display:block;border:none;padding:.45rem 0;font-size:1rem;text-align:left;background:none}body[data-view=edit] .t tr.column-headings{display:none}body[data-view=edit] .t [data-label]{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.35rem .75rem;align-items:baseline;border-bottom:1px dashed rgba(18,32,43,.28)}body[data-view=edit] .t [data-label]:before{content:attr(data-label);font-family:var(--mono);font-size:.63rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}body[data-view=edit] .nowrap{white-space:normal}body[data-view=edit] .invoice-company td,body[data-view=edit] .invoice-footer .footer-cell{text-align:center;padding:.25rem 0}body[data-view=edit] .invoice-brand th{text-align:center}body[data-view=edit] .t .invoice-title{text-align:center;font-size:clamp(1.9rem,8vw,2.5rem);font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.04;padding:.75rem 0 .5rem}body[data-view=edit] .invoice-meta,body[data-view=edit] .invoice-lines{margin-top:1rem}body[data-view=edit] #invoice-date{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(18,32,43,.28);padding-bottom:.6rem}body[data-view=edit] .invoice-line-items tr{border:1px solid rgba(18,32,43,.18);padding:.35rem .85rem .5rem;margin-bottom:.85rem}body[data-view=edit] .invoice-line-items tr td:last-child[data-label]{border-bottom:none}body[data-view=edit] .t .quantity-cell{padding:.45rem 0!important}body[data-view=edit] .quantity-cell-content{grid-template-columns:minmax(0,1fr) 28px}body[data-view=edit] .quantity-value{text-align:left}body[data-view=edit] .delete-item-button{height:28px;width:28px;font-size:15px;border-color:#12202b47}body[data-view=edit] .t tr.total-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.3rem 0}body[data-view=edit] .t td.spacer,body[data-view=edit] .t td.add-item-cell{display:none}body[data-view=edit] .t .total-label{font-family:var(--mono);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}body[data-view=edit] .t tr.total-row td[data-pdf-field]{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:1.05rem;letter-spacing:-.03em;border:none;text-align:right}body[data-view=edit] .t tr.total-row:nth-of-type(3){border-top:1px solid var(--ink);margin-top:.35rem;padding-top:.6rem}body[data-view=edit] .t tr.total-row:nth-of-type(3) td[data-pdf-field]{color:var(--teal);font-size:1.3rem}body[data-view=edit] .t .banking-cell{white-space:normal;padding:.2rem 0}body[data-view=edit] .t .invoice-total-group tr:nth-of-type(4){margin-top:1.25rem;padding-top:.75rem;border-top:1px dashed rgba(18,32,43,.28)}body[data-view=edit] .t tr.footer-spacer{display:none}body[data-view=edit] .t .invoice-footer .footer-cell{font-size:.8rem;white-space:normal}body[data-view=edit] .t .footer-cell-first{margin-top:1.5rem;padding-top:1rem}@media(hover:hover){body[data-view=page] .delete-item-button{opacity:0}body[data-view=page] .invoice-line-items tr:hover .delete-item-button,body[data-view=page] .delete-item-button:focus-visible{opacity:1}}}@media(max-width:900px){.foot-grid{grid-template-columns:1fr}.masthead-note,.toolbar-label{display:none}.toolbar-in{gap:.5rem}.toolbar-actions{margin-left:0;width:100%}.button{min-height:46px;flex:1 1 auto;justify-content:center}body[data-view=edit] [data-edit]{font-size:max(1rem,16px)}}@media(max-width:720px){.masthead-in{gap:.5rem 1.1rem}.masthead-in nav{gap:1.1rem}.masthead-in nav a{font-size:.8rem}}@media(max-width:420px){body[data-view=edit] .t [data-label]{grid-template-columns:minmax(0,1fr)}}@media(hover:none){.button:hover:not(:disabled){transform:none;box-shadow:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@page{size:A4 portrait;margin:0;padding:0}@media print{html,body{margin:0;padding:0;background:#fff}.masthead,.summary,.toolbar,.ad,.foot,.delete-item-button,.add-item-cell-button{display:none!important}.preview{padding:0;height:auto;overflow:visible}.quantity-cell-content{display:block}.page{width:210mm;min-height:297mm;margin:0;box-shadow:none;zoom:1}table{width:100%}th,td{overflow-wrap:break-word;word-wrap:break-word}.keep-together,.keep-together tr{break-inside:avoid;page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
