@font-face{font-family:Inter;src:url(/brand/Inter-Regular.otf)format("opentype");font-weight:400}@font-face{font-family:Inter;src:url(/brand/Inter-SemiBold.otf)format("opentype");font-weight:650}@font-face{font-family:Space Grotesk;src:url(/brand/SpaceGrotesk-Bold.otf)format("opentype");font-weight:700}@font-face{font-family:JetBrains Mono;src:url(/brand/JetBrainsMono-Regular.ttf)format("truetype");font-weight:400 800}:root{--brand:#9b0000;--ink:#0a0a0a;--ink-2:#4d4d4d;--ink-3:#777;--line:#d8d9de;--line-dark:#111;--paper:#fff;--canvas:#e4e5eb;--surface:#ffffffc2;--surface-solid:#fbfbfc;--field:#fff;--shadow:0 24px 70px #0c0e142e;--rule-gradient:linear-gradient(90deg, var(--ink) 0%, var(--ink) 70%, var(--brand) 100%);--font-display:"Space Grotesk", "Inter", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", Menlo, Consolas, monospace;color:var(--ink);background:var(--canvas);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{background:linear-gradient(90deg, #ffffff57, transparent 28%, transparent 72%, #fff3), var(--canvas);min-height:100vh}.topbar{border-bottom:1px solid #0a0a0a14;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex}.brand-lockup{align-items:center;gap:14px;min-width:0;display:flex}.brand-lockup img{object-fit:contain;width:36px;height:36px}.brand-lockup h1,.brand-lockup p,.panel-head h2,.preview-toolbar h2,.drawer-head h2,.line-head h3{margin:0}.brand-lockup h1,.panel-head h2,.preview-toolbar h2,.drawer-head h2{font-family:var(--font-display);letter-spacing:0;font-weight:700}.brand-lockup h1{font-size:18px}.brand-lockup p,.autosave,.preview-toolbar span,.drawer-copy{color:var(--ink-3);font-size:12px}.top-actions{align-items:center;gap:10px;display:flex}.ghost-button,.primary-button,.icon-text,.history-actions button,.locked-rails button{min-height:38px;color:var(--ink);background:#ffffff9e;border:1px solid #0a0a0a1f;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:650;display:inline-flex}.primary-button{background:var(--ink);color:#fff;border-color:var(--ink)}.primary-button svg{color:var(--brand)}.workspace{grid-template-columns:minmax(430px,620px) 1fr;gap:34px;min-height:calc(100vh - 76px);padding:28px;display:grid}.editor-panel{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffff9e;border-radius:20px;align-self:start;max-height:none;padding:32px;overflow:visible;box-shadow:0 18px 55px #14161d14}.panel-head,.preview-toolbar,.drawer-head,.line-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.eyebrow{color:var(--brand);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:700}.autosave,.status-box{font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:1fr 1fr}.field{gap:7px;margin-bottom:14px;display:grid;position:relative}.field span,.checkbox-row span{color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:750}input,textarea,select{background:var(--field);width:100%;color:var(--ink);border:1px solid #0a0a0a1c;border-radius:8px;outline:none;font-size:14px;line-height:1.35;transition:border-color .16s,box-shadow .16s}input,select{height:48px;padding:0 13px}textarea{resize:vertical;padding:12px 13px}input:focus,textarea:focus,select:focus{border-color:#9b000080;box-shadow:0 0 0 3px #9b00001a}.input-with-button{grid-template-columns:1fr 46px;display:grid}.input-with-button input{border-radius:8px 0 0 8px}.input-with-button button{background:#fff;border:1px solid #0a0a0a1c;border-left:0;border-radius:0 8px 8px 0}.checkbox-row{align-items:center;gap:10px;margin:3px 0 15px;display:flex}.checkbox-row input{width:18px;height:18px;accent-color:var(--brand)}.suggestions{z-index:10;background:#fff;border:1px solid #0a0a0a1f;border-radius:8px;padding:6px;position:absolute;top:calc(100% + 2px);left:0;right:0;box-shadow:0 14px 34px #0a0a0a24}.suggestions button{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:10px}.suggestions button:hover{background:#f4f4f5}.section-rule{background:#0a0a0a1a;height:1px;margin:20px 0}.line-head{align-items:center;margin-top:22px}.line-head h3{font-family:var(--font-mono);font-size:22px}.line-actions{justify-content:flex-end;align-items:end;gap:10px;display:flex}.currency-field{width:118px;margin-bottom:0}.currency-field select{height:38px}.line-items{gap:10px;margin-bottom:16px;display:grid}.line-editor{background:#ffffff8f;border:1px solid #0a0a0a14;border-radius:10px;grid-template-columns:112px minmax(132px,160px) minmax(96px,1fr) 38px;align-items:end;gap:10px;padding:10px;display:grid}.line-editor .field{margin-bottom:0}.line-editor .desc{grid-column:1/-1}.line-editor .desc textarea{resize:vertical;min-height:66px}.qty-control{grid-template-columns:1fr 38px;display:grid}.qty-control input{border-radius:8px 0 0 8px}.qty-control button{background:#fff;border:1px solid #0a0a0a1c;border-left:0;border-radius:0 8px 8px 0}.qty-add{height:48px;color:var(--ink-2);background:#ffffff94;border:1px dashed #0a0a0a38;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.line-amount{height:48px;color:var(--ink-2);font-family:var(--font-mono);white-space:nowrap;justify-content:flex-end;align-items:center;font-size:12px;font-weight:700;display:flex}.icon-only{width:38px;height:38px;color:var(--ink);background:#ffffffb8;border:1px solid #0a0a0a1f;border-radius:8px;place-items:center;display:inline-grid}.locked-rails,.status-box,.error-box{border-radius:10px;padding:13px 14px}.locked-rails{background:#9b00000b;border:1px solid #9b00002e;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;margin-top:18px;display:grid}.locked-rails p{color:var(--brand);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;grid-column:1/-1;margin:0;font-size:10px;font-weight:800}.locked-rails span{font-weight:700}.locked-rails button{background:#fff;min-height:34px}.error-box{background:#9b000014;border:1px solid #9b000047;margin-bottom:16px}.error-box p,.status-box p{margin:0}.error-box p{color:#6d0000;font-size:13px;font-weight:650}.status-box{color:var(--ink-2);background:#0a0a0a0d;margin-bottom:16px}.preview-stage{grid-template-rows:auto 1fr;align-self:start;min-width:0;display:grid}.preview-toolbar{align-items:center;margin:0 0 18px}.preview-toolbar span{font-family:var(--font-mono)}.paper-wrap{justify-items:center;min-height:0;padding:12px 0 42px;display:grid;position:relative;overflow:visible}.invoice-paper{background:var(--paper);width:min(100%,760px);min-height:980px;box-shadow:var(--shadow);color:var(--ink);padding:58px 64px}.invoice-head{background:var(--rule-gradient) bottom left / 100% 2px no-repeat;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:46px;display:flex}.invoice-brand-lockup{align-items:flex-start;gap:26px;min-width:0;display:flex}.invoice-logo{flex:none;width:74px;height:auto;display:block}.invoice-company,.invoice-number-block p,.invoice-number-block span,.invoice-label,.invoice-dates span,.payment-list dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700}.invoice-company{color:var(--ink);font-family:var(--font-display);letter-spacing:.18em;margin:11px 0 0;font-size:25px;line-height:1.18}.invoice-company span{display:block}.invoice-number-block{text-align:right;min-width:260px}.invoice-number-block p,.invoice-number-block span{color:var(--ink-3);margin:0}.invoice-number-block h2{font-family:var(--font-mono);letter-spacing:0;margin:16px 0 11px;font-size:31px;line-height:1}.invoice-party-grid{grid-template-columns:1fr 1fr;column-gap:52px;padding-top:46px;display:grid}.invoice-label,.invoice-party .invoice-label,.invoice-bank .invoice-label,.invoice-notes .invoice-label{color:var(--brand);margin:0 0 12px}.invoice-party h3{font-family:var(--font-display);margin:16px 0 8px;font-size:19px;line-height:1.08}.invoice-party p,.payment-list dd,.invoice-notes p{color:var(--ink-2);overflow-wrap:anywhere;margin:0 0 5px;font-size:12px;line-height:1.45}.invoice-right-stack{gap:42px;display:grid}.preserve-lines{white-space:pre-line}.payment-list{gap:8px;margin:0;display:grid}.payment-list div{grid-template-columns:112px 1fr;gap:20px;display:grid}.payment-list dt{color:var(--ink-3);white-space:nowrap}.payment-list dd{text-align:right;overflow-wrap:anywhere}.muted-copy{color:var(--ink-3)!important}.invoice-dates{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);column-gap:52px;margin-top:74px;padding:23px 0 25px;display:grid}.invoice-dates div{gap:5px;display:grid}.invoice-dates span{color:var(--ink-3)}.invoice-dates strong{font-family:var(--font-mono);font-size:12px}.invoice-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:52px}.invoice-table thead{position:relative}.invoice-table thead:after{content:"";background:var(--rule-gradient);height:1.5px;position:absolute;bottom:0;left:0;right:0}.invoice-table th{color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.12em;text-align:right;text-transform:uppercase;border-bottom:0;padding:0 0 15px;font-size:10px}.invoice-table th:first-child,.invoice-table td:first-child{text-align:left}.invoice-table.with-quantity th:first-child,.invoice-table.with-quantity td:first-child{width:48%}.invoice-table.flat-amount th:first-child,.invoice-table.flat-amount td:first-child{width:72%}.invoice-table td{border-bottom:1px solid var(--line);font-family:var(--font-mono);text-align:right;vertical-align:top;overflow-wrap:anywhere;padding:21px 0;font-size:13px;line-height:1.35}.invoice-footer{grid-template-columns:1fr 304px;align-items:start;column-gap:52px;margin-top:54px;display:grid}.invoice-total{background:var(--rule-gradient) top left / 100% 3px no-repeat;text-align:right;padding:25px 0 0}.invoice-total span{color:var(--brand);font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.invoice-total strong{font-family:var(--font-mono);margin-top:20px;font-size:35px;line-height:1;display:block}.hidden-render{background:#fff;width:612px;height:792px;position:fixed;top:0;left:-99999px;overflow:hidden}.print-sheet{background:#fff;width:612px;height:792px;overflow:hidden}.print-sheet .invoice-paper{width:612px;height:792px;min-height:792px;box-shadow:none;padding:43px 48px}.print-sheet .invoice-party-grid,.print-sheet .invoice-dates,.print-sheet .invoice-footer{column-gap:39px}.print-sheet .invoice-brand-lockup{gap:19px}.print-sheet .invoice-logo{width:55px}.print-sheet .invoice-company{margin-top:8px;font-size:18px}.print-sheet .invoice-head{padding-bottom:34px}.print-sheet .invoice-party-grid{padding-top:34px}.print-sheet .invoice-right-stack{gap:31px}.print-sheet .invoice-dates{margin-top:56px}.print-sheet .invoice-table{margin-top:39px}.print-sheet .invoice-footer{grid-template-columns:1fr 228px;margin-top:40px}.print-sheet .invoice-total strong{font-size:26px}.drawer-backdrop{z-index:40;background:#0a0a0a42;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#f7f7f8;width:min(560px,100%);height:100%;padding:28px;overflow:auto;box-shadow:-24px 0 80px #0a0a0a33}.drawer-head{align-items:center}.empty-state{min-height:260px;color:var(--ink-3);border:1px dashed #0a0a0a2e;border-radius:10px;align-content:center;place-items:center;gap:12px;display:grid}.history-list{gap:12px;display:grid}.history-row{background:#fff;border:1px solid #0a0a0a17;border-radius:10px;grid-template-columns:1fr auto;gap:14px;padding:16px;display:grid}.history-row h3{font-family:var(--font-mono);margin:0 0 5px}.history-row p,.history-row span{color:var(--ink-3);margin:0;font-size:12px}.history-row strong{font-family:var(--font-mono)}.history-actions{grid-column:1/-1;gap:8px;display:flex}.settings-drawer .field{margin-bottom:13px}.mobile-switch{display:none}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.workspace{grid-template-columns:minmax(390px,520px) 1fr;gap:22px;padding:20px}.editor-panel{padding:24px}.invoice-paper{transform-origin:top}.line-editor{grid-template-columns:96px 110px minmax(96px,1fr) 38px}.line-editor .desc{grid-column:1/-1}}@media (width<=860px){.topbar{align-items:flex-start;gap:12px;height:auto;min-height:74px;padding:16px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.ghost-button,.primary-button{min-height:36px;padding:0 10px;font-size:12px}.mobile-switch{grid-template-columns:1fr 1fr;gap:6px;padding:0 16px 12px;display:grid}.mobile-switch button{background:#fff9;border:1px solid #0a0a0a1f;border-radius:8px;height:40px;font-weight:750}.mobile-switch .active{background:var(--ink);color:#fff}.workspace{min-height:auto;padding:0 16px 20px;display:block}.editor-panel{max-height:none;padding:20px}.preview-stage{display:block;position:static}.mobile-hidden{display:none!important}.form-grid.two,.invoice-party-grid,.invoice-dates,.invoice-footer{grid-template-columns:1fr}.invoice-party-grid,.invoice-dates,.invoice-footer{row-gap:26px}.line-editor{grid-template-columns:1fr 1fr minmax(92px,1fr) 38px}.line-actions{justify-content:space-between;width:100%}.line-editor .desc{grid-column:1/-1}.paper-wrap{padding:0 0 30px}.invoice-paper{width:100%;min-height:auto;padding:28px}.invoice-head{gap:16px}.invoice-brand-lockup{gap:14px}.invoice-logo{width:52px}.invoice-company{letter-spacing:.12em;margin-top:6px;font-size:16px}.invoice-number-block h2{font-size:18px}.invoice-table{min-width:0}.invoice-table th,.invoice-table td{padding-top:12px;padding-bottom:12px;font-size:9px}.invoice-table.with-quantity th:first-child,.invoice-table.with-quantity td:first-child{width:44%}.invoice-table.with-quantity th:nth-child(2),.invoice-table.with-quantity td:nth-child(2){width:12%}.invoice-table.with-quantity th:nth-child(3),.invoice-table.with-quantity td:nth-child(3),.invoice-table.with-quantity th:nth-child(4),.invoice-table.with-quantity td:nth-child(4){width:22%}.invoice-table.flat-amount th:first-child,.invoice-table.flat-amount td:first-child{width:66%}.invoice-total{text-align:left}.invoice-total strong{font-size:22px}}@media (width<=540px){.topbar{display:grid}.top-actions{justify-content:stretch}.top-actions button{flex:1}.brand-lockup img{width:31px;height:31px}.brand-lockup h1{font-size:16px}.line-editor{grid-template-columns:1fr}.line-editor .qty,.line-editor .rate,.line-editor .icon-only,.line-amount{grid-column:auto}.line-amount{justify-content:flex-start}.invoice-head{display:grid}.invoice-brand-lockup{width:100%}.invoice-number-block{text-align:left}.history-row{grid-template-columns:1fr}.history-actions{display:grid}}
