:root{--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:Fraunces, ui-serif, Georgia, "Times New Roman", serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", "Consolas", monospace;--t-mono:10.5px;--t-xs:12px;--t-sm:13px;--t-base:14.5px;--t-name:17px;--t-lg:22px;--t-title:40px;--ink:#17181c;--ink-soft:#3d3f47;--ink-faint:#9a9ca6;--accent:#4b5bd7;--accent-soft:#eef0fc;--hair:#e9e9ee;--paper:#fff;--bg:#f4f4f2;--panel:#fafafa;font-family:var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.history-panel{z-index:30;background:var(--panel);border-right:1px solid var(--hair);flex-direction:column;width:244px;height:100vh;padding:24px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.history-heading{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.brand-mark{background:var(--accent);color:#fff;width:34px;height:34px;font-family:var(--mono);letter-spacing:.04em;border-radius:9px;place-items:center;font-size:12px;font-weight:600;display:grid}.new-invoice-side{background:var(--ink);color:#fff;width:100%;font-size:var(--t-sm);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 12px;font-weight:600;transition:background .12s;display:flex}.new-invoice-side:hover{background:#2c2e36}.history-spacer{margin-top:22px}.history-list{flex-direction:column;gap:3px;margin:0 -6px;padding:0 6px;display:flex;overflow-y:auto}.history-list>button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;gap:5px;padding:10px 11px;transition:background .12s;display:flex}.history-list>button:hover{background:#efefec}.history-list>button.active{background:var(--paper);border-color:var(--hair);box-shadow:0 1px 2px #0000000a}.history-list button span{justify-content:space-between;align-items:baseline;gap:8px;width:100%;display:flex}.history-list strong{font-family:var(--mono);font-size:11px;font-weight:600}.history-list em{font-size:var(--t-sm);white-space:nowrap;text-overflow:ellipsis;font-style:normal;overflow:hidden}.history-list small{font-family:var(--mono);color:var(--ink-faint);white-space:nowrap;font-size:10px}.empty-history{color:var(--ink-faint);font-size:var(--t-sm);padding:0 6px;line-height:1.55}.workspace{width:calc(100% - 244px);min-width:0;margin-left:244px}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hair);background:#f4f4f2e0;align-items:center;gap:16px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.document-title{flex-direction:column;min-width:150px;display:flex}.document-title strong{font-family:var(--mono);font-size:var(--t-sm);letter-spacing:-.01em;font-weight:600}.document-title span{color:var(--accent);margin-top:3px;font-size:10.5px;font-weight:600}.toolbar{justify-content:flex-end;align-items:center;gap:7px;margin-left:auto;display:flex}.segmented{height:34px;color:var(--ink-faint);background:#ececea;border-radius:9px;align-items:center;gap:2px;padding:3px 4px 3px 9px;display:flex}.segmented button{font-family:var(--mono);cursor:pointer;color:var(--ink-faint);background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .12s,color .12s}.segmented button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #0000000d}.vat-control{height:34px;font-size:var(--t-sm);background:#ececea;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-weight:600;display:flex}.vat-control>input{accent-color:var(--accent)}.vat-control span{color:var(--ink-faint);align-items:center;display:flex}.vat-control span input{text-align:right;width:36px;font-family:var(--mono);background:0 0;border:0;border-bottom:1px solid #cfcfd6;padding:1px;font-size:12px}.secondary-button,.primary-button{height:34px;font-size:var(--t-sm);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 13px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.secondary-button{background:#ececea;border:0}.secondary-button:hover{background:#e3e3e0}.primary-button{background:var(--accent);color:#fff;border:0}.primary-button:hover{opacity:.92}.canvas-wrap{padding:34px 30px 72px;overflow-x:auto}.invoice-sheet{background:var(--paper);flex-direction:column;width:794px;min-height:1123px;margin:0 auto;padding:60px 62px 46px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #18181b0a,0 18px 50px #18181b14}.invoice-bloom{pointer-events:none;opacity:.9;background-position:100% 0;background-repeat:no-repeat;background-size:contain;width:1089px;height:817px;position:absolute;top:-314px;right:-380px}.invoice-heading{z-index:1;justify-content:space-between;align-items:flex-start;gap:36px;display:flex;position:relative}.invoice-title{font-family:var(--serif);font-size:var(--t-title);letter-spacing:-.01em;color:var(--ink);font-weight:400;line-height:1}.invoice-number-pill{font-family:var(--mono);color:var(--ink-soft);background:#fff;border:1px solid #d7d7de;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:500;display:inline-flex;box-shadow:0 0 0 4px #ffffffb3}.invoice-number-pill .invoice-number{width:62px;font:inherit;color:var(--ink);text-align:left;-moz-appearance:textfield;background:0 0;border:0;padding:0}.invoice-number-pill .invoice-number::-webkit-inner-spin-button{display:none}.header-hairline{background:var(--hair);z-index:1;height:1px;margin:22px 0 0;position:relative}.header-dates{z-index:1;gap:34px;margin-top:16px;display:flex;position:relative}.header-dates label{flex-direction:column;gap:4px;display:flex}.header-dates label>span{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.header-dates input{font-size:var(--t-sm);color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:5px;margin-left:-4px;padding:2px 4px}.header-dates input:hover{background:#fafafb;border-color:#dcdce2}.inline-field{width:100%;color:inherit;resize:none;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;margin-left:-4px;padding:2px 4px;overflow:hidden}.inline-field:hover{background:#fafafb;border-color:#dcdce2}.inline-field:focus{border-color:var(--accent);outline:2px solid var(--accent-soft);background:#fff}.companies-grid{z-index:1;grid-template-columns:1fr 1fr;gap:64px;padding:40px 0 44px;display:grid;position:relative}.company-block{min-width:0}.eyebrow{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}.company-name{font-family:var(--serif);font-size:var(--t-name);letter-spacing:-.005em;font-weight:500}.company-address{min-height:46px;font-size:var(--t-base);white-space:pre-wrap;color:var(--ink-soft);margin-top:4px;line-height:1.55}.company-meta{font-family:var(--mono);color:var(--ink-faint);grid-template-columns:52px 1fr;align-items:center;margin-top:5px;font-size:11px;display:grid}.company-meta .inline-field{font-family:var(--mono);color:var(--ink-soft);font-size:11px}.lookup{border:1px solid var(--hair);border-radius:7px;max-width:240px;height:28px;margin-top:12px;display:flex;overflow:hidden}.lookup input{min-width:0;font-family:var(--mono);background:#fbfbfc;border:0;flex:1;padding:0 9px;font-size:11px}.lookup button{border:0;border-left:1px solid var(--hair);background:var(--accent-soft);color:var(--accent);cursor:pointer;align-items:center;gap:5px;padding:0 10px;font-size:10.5px;font-weight:600;display:flex}.lookup button:disabled{cursor:wait}.lookup-message{color:var(--accent);margin:6px 0 0;font-size:10.5px}.lookup-message.error{color:#c0392b}.items-table{z-index:1;margin-top:4px;position:relative}.items-head,.item-row{grid-template-columns:minmax(0,2.4fr) .5fr .95fr .95fr 24px;align-items:center;gap:12px;display:grid}.items-head{min-height:34px;font-family:var(--mono);font-size:var(--t-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--hair);padding-bottom:10px}.items-head span:nth-child(n+2){text-align:right}.item-row{min-height:62px;font-size:var(--t-base)}.item-row .item-description{min-height:40px;color:var(--ink);line-height:1.45}.numeric{text-align:right;font-variant-numeric:tabular-nums}.money-input{justify-content:flex-end;align-items:center;gap:2px;display:flex}.money-input span{color:var(--ink-faint)}.item-row>strong{text-align:right;font-size:var(--t-base);font-variant-numeric:tabular-nums;font-weight:600}.add-line{color:var(--accent);font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:12px;padding:6px 4px;font-weight:600;display:inline-flex}.add-line:hover{text-decoration:underline}.icon-button{width:30px;height:30px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;transition:background .12s,color .12s;display:grid}.icon-button:hover{color:var(--ink);background:#efefec}.icon-button:disabled{opacity:.25;cursor:default}.payment-summary{border-top:1px solid var(--hair);z-index:1;grid-template-columns:1fr 290px;gap:48px;margin-top:40px;padding-top:32px;display:grid;position:relative}.payment-method{font-family:var(--serif);font-weight:500;font-size:var(--t-name)}.bank-line{font-family:var(--mono);color:var(--ink-faint);grid-template-columns:40px 1fr;align-items:center;margin-top:6px;font-size:11px;display:grid}.bank-line input{font-family:var(--mono);color:var(--ink-soft);font-size:11px}.totals{flex-direction:column;gap:13px;display:flex}.totals>div{color:var(--ink-faint);font-size:var(--t-base);justify-content:space-between;align-items:baseline;gap:18px;display:flex}.totals>div>span{font-size:var(--t-sm)}.totals strong{color:var(--ink-soft);font-size:var(--t-base);font-variant-numeric:tabular-nums;font-weight:600}.totals .grand-total{color:var(--ink);align-items:baseline;margin-top:2px}.totals .grand-total>span{font-size:var(--t-sm);color:var(--ink)}.totals .grand-total strong{font-family:var(--sans);font-size:var(--t-base);letter-spacing:0;color:var(--ink)}.invoice-footer{border-top:1px solid var(--hair);color:var(--ink-faint);font-size:var(--t-xs);text-align:center;z-index:1;margin-top:auto;padding-top:26px;line-height:1.6;position:relative}.invoice-footer textarea,.invoice-footer input{text-align:center;font-size:var(--t-xs);color:var(--ink-faint)}.invoice-footer p{margin:5px 0 0}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-only{display:none}@media (width<=980px){.history-panel{transition:transform .18s;transform:translate(-100%);box-shadow:10px 0 40px #0000001f}.history-panel.open{transform:translate(0)}.workspace{width:100%;margin-left:0}.mobile-only{display:grid}.scrim{z-index:25;background:#1717144d;border:0;display:block;position:fixed;inset:0}}@media (width<=740px){.topbar{gap:6px;padding:0 12px}.document-title span,.secondary-button span,.primary-button span{display:none}.document-title{flex:1;min-width:0}.toolbar{gap:5px;margin-left:0}.vat-control{padding:0 8px}.secondary-button,.primary-button{justify-content:center;width:34px;padding:0}.canvas-wrap{padding:18px 14px 50px}.invoice-sheet{transform-origin:0 0}}@media print{.history-panel,.topbar,.editor-only,.lookup,.lookup-message,.scrim{display:none!important}.workspace{width:auto;margin:0}.canvas-wrap{padding:0}.invoice-sheet{box-shadow:none;margin:0}}
