*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#e9edf3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(16,185,129,.35);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{height:100vh;overflow:hidden}.app-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 18px;background:#fff;border-bottom:1px solid #dbe1e9;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand img{width:48px;height:28px;-o-object-fit:contain;object-fit:contain;-o-object-position:left;object-position:left;filter:drop-shadow(0 0 5px rgba(72,245,156,.22))}.brand>div{display:grid}.brand strong{font-size:14px}.save-state{font-size:11px;color:#657184;padding-left:12px;position:relative}.save-state:before{content:"";width:7px;height:7px;border-radius:50%;position:absolute;left:0;top:4px;background:#f59e0b}.save-state.saved:before{background:#10b981}.app-toolbar nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.app-toolbar button,.dialog-actions>button{border:1px solid #d7dee8;background:#fff;color:#334155;min-height:38px;border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650}.app-toolbar button svg{width:15px;height:15px}.app-toolbar .print-button,.primary-button{background:#0d9e69;border-color:#0d9e69;color:#fff}.workspace{height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(390px,43%) 1fr}.editor-panel{overflow-y:auto;background:#f8fafc;border-right:1px solid #dbe1e9;padding:18px}.preview-panel{overflow:auto;background:#dfe4eb;padding:28px}.preview-stage{min-width:320px;display:flex;justify-content:center;align-items:flex-start}.invoice-editor{display:grid;gap:12px;max-width:760px;margin:0 auto}.editor-section{background:#fff;border:1px solid #dde3eb;border-radius:11px;overflow:hidden}.editor-section summary{min-height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:750;color:#273449;cursor:pointer;list-style:none}.editor-section summary::-webkit-details-marker{display:none}.editor-section[open] summary svg{transform:rotate(180deg)}.section-body{padding:2px 15px 16px;border-top:1px solid #edf0f4;display:grid;gap:13px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px;min-width:0}.field>span:first-child,.group-label{color:#4a5870;font-size:12px;font-weight:700}.field input,.field textarea,.field select,.inline-row input{width:100%;border:1px solid #cfd7e3;background:#fff;color:#172033;border-radius:7px;padding:9px 10px;min-height:39px}.field textarea{resize:vertical;line-height:1.45}[aria-invalid=true]{border-color:#dc2626!important;background:#fff8f8!important}.field-error{color:#b91c1c;font-size:11px;font-weight:600}.address-editor{display:grid;gap:7px}.inline-row{display:flex;gap:6px}.icon-button{border:1px solid #d6dde7;background:#fff;color:#58667b;border-radius:7px;width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.icon-button.danger,.danger-text{color:#c24141}.text-button,.upload-button{color:#087a55;border:0;padding:4px 0;background:none;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;justify-self:start;cursor:pointer}.primary-button{border:0;border-radius:8px;min-height:40px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.service-edit-list{display:grid;gap:10px}.service-edit-card{margin:0;border:1px solid #dbe2ea;background:#f8fafc;border-radius:9px;padding:12px;display:grid;gap:11px;position:relative}.service-edit-card legend{font-size:12px;color:#657184;font-weight:800;padding:0 5px}.service-controls{display:flex;align-items:center;gap:5px;position:absolute;right:10px;top:-20px;background:#f8fafc;padding-left:6px}.service-controls>svg{color:#8a95a5}.segmented{display:flex;gap:6px;padding-top:11px}.segmented label{border:1px solid #d3dae5;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;display:flex;gap:6px;align-items:center}.input-suffix{position:relative}.input-suffix input{padding-right:32px}.input-suffix span{position:absolute;right:11px;top:9px;color:#667085}.drafts-section{max-width:760px;margin:18px auto 40px}.drafts-title{display:flex;align-items:center;justify-content:space-between}.drafts-title h2{font-size:14px}.draft-list{display:grid;gap:7px}.draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:5px;background:#fff;border:1px solid #dde3eb;border-radius:9px;padding:7px}.draft-row.active{border-color:#12a974;box-shadow:inset 3px 0 #12a974}.draft-main{border:0;background:none;text-align:left;display:grid;gap:2px;min-width:0}.draft-main strong,.draft-main span,.draft-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-main strong{font-size:12px}.draft-main span,.draft-main small,.empty-state{font-size:11px;color:#6b778b}.mobile-tabs{display:none}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:#172033;color:#fff;padding:10px 15px;border-radius:8px;box-shadow:0 10px 30px #0003;z-index:20;font-size:13px}.dialog-backdrop{position:fixed;inset:0;background:#0f172a99;display:grid;place-items:center;z-index:30;padding:20px}.dialog{width:min(440px,100%);background:#fff;border-radius:13px;padding:22px;box-shadow:0 24px 80px #0004}.dialog h2{margin:0 0 8px}.dialog p,.dialog li{color:#536176;font-size:14px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:1150px){.app-toolbar{align-items:flex-start}.brand{padding-top:5px}.workspace{grid-template-columns:minmax(360px,46%) 1fr}.app-toolbar nav button{font-size:0;width:38px;justify-content:center}.app-toolbar nav .print-button{width:auto;font-size:12px}}@media(max-width:760px){.app-shell{overflow:auto;height:auto;min-height:100vh}.app-toolbar{position:sticky;top:0;min-height:auto;padding:9px 12px}.brand img{width:36px}.brand>div strong{font-size:12px}.app-toolbar nav button:not(.print-button){display:none}.workspace{height:auto;display:block}.mobile-tabs{display:grid;position:sticky;top:58px;z-index:4;grid-template-columns:1fr 1fr;background:#fff;padding:7px 12px;border-bottom:1px solid #dde3eb}.mobile-tabs button{border:0;background:#eef2f6;min-height:39px;font-weight:700;color:#647084}.mobile-tabs button[aria-selected=true]{background:#102438;color:#fff}.editor-panel,.preview-panel{display:none;border:0;overflow:visible;padding:12px}.editor-panel.mobile-active,.preview-panel.mobile-active{display:block}.preview-panel{padding:14px 8px;overflow-x:auto}.preview-stage{transform-origin:top left;width:210mm;transform:scale(.45);margin-bottom:-160mm}.field-grid{grid-template-columns:1fr}}.invoice-page{--paper: #161c2a;--card: #090f11;--green: #49f49b;--muted: #a5adb2;--rule: #24363a;width:210mm;min-height:297mm;flex:0 0 auto;padding:14mm 12.7mm 7.5mm;background:var(--paper);color:#f5f7f8;font-family:Arial,Helvetica,sans-serif;box-shadow:0 18px 55px #141e2d47;display:flex;flex-direction:column}.invoice-page h1,.invoice-page h2,.invoice-page h3,.invoice-page p,.invoice-page dl,.invoice-page dd{margin:0}.invoice-header{height:39mm;display:flex;align-items:flex-start;justify-content:space-between;position:relative}.invoice-logo{width:150mm;height:48mm;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;display:block;transform:translateY(-8mm) scaleX(1.08);transform-origin:left center;filter:drop-shadow(0 0 6px rgba(73,244,155,.16))}.invoice-meta{display:grid;justify-items:end;gap:4.4mm;padding-top:1.8mm;position:absolute;right:0;top:0}.invoice-meta h1{font-size:10.7mm;line-height:.9;letter-spacing:-.35mm;font-weight:800}.invoice-meta strong{color:var(--green);font-size:3.45mm;line-height:1}.invoice-meta time{color:var(--muted);font-size:3.25mm;line-height:1}.accent-rule{height:11.5mm;display:flex;align-items:center;position:relative}.accent-rule:before{content:"";width:43mm;height:.72mm;background:var(--green)}.accent-rule:after{content:"";flex:1;height:.35mm;background:var(--rule)}.accent-rule i{width:2mm;height:1mm;background:var(--paper);position:absolute;left:42.6mm}.party-grid{display:grid;grid-template-columns:1fr 1fr;gap:4mm}.invoice-card{background:var(--card);border:.3mm solid #1d3638;border-radius:5mm}.invoice-card h2{color:var(--green);font-size:2.85mm;line-height:1;font-weight:800}.party-card{height:50.5mm;padding:6mm 5.6mm 4.8mm;display:flex;flex-direction:column}.party-card h3{font-size:4.25mm;line-height:1.2;margin-top:4.2mm;font-weight:750}.party-lines{margin-top:2.6mm!important;color:var(--muted);font-size:3.12mm;line-height:1.48}.party-lines>span{display:block}.party-lines .contact-line{margin-bottom:2.8mm}.website{color:#9bfbc7;font-size:2.95mm;margin-top:auto}.services-card{margin-top:6.3mm;min-height:51mm;overflow:hidden}.service-heading{height:12mm;padding:0 5.6mm;border-bottom:.3mm solid #152326;display:grid;grid-template-columns:minmax(0,1fr) 28mm;align-items:center;gap:5mm}.service-heading h2:last-child{text-align:right}.service-list{padding:0 5.6mm}.service-row{display:grid;grid-template-columns:minmax(0,1fr) 28mm;gap:5mm;padding:5.5mm 0 5.8mm;-moz-column-break-inside:avoid;break-inside:avoid}.service-row+.service-row{border-top:.3mm solid #203035}.service-row h3{font-size:3.85mm;line-height:1.25;font-weight:750}.service-row p{color:var(--muted);font-size:3.05mm;line-height:1.48;margin-top:3.2mm;overflow-wrap:anywhere}.service-row>strong{text-align:right;font-size:4mm;line-height:1.25;white-space:nowrap}.summary-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:4mm;margin-top:6.8mm;-moz-column-break-inside:avoid;break-inside:avoid}.payment-card,.bank-card{min-height:58.8mm;padding:7mm 5.5mm 3.7mm}.payment-card dl{margin-top:5mm}.payment-card dl>div{display:flex;justify-content:space-between;align-items:center;min-height:9.3mm;border-bottom:.3mm solid #28373a;color:var(--muted);font-size:3.15mm}.payment-card dl>div:last-child{border-bottom:0}.payment-card dd{color:#f4f6f7;font-weight:750;font-size:3.5mm;white-space:nowrap}.amount-due{height:10.3mm;margin:1.4mm -1.5mm 0;padding:0 4.6mm;border:.35mm solid #147444;border-radius:4mm;background:#093820;display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:2.85mm}.amount-due strong{color:#fff;font-size:4.7mm;white-space:nowrap}.bank-card{padding-left:5.5mm}.bank-card dl{margin-top:7.2mm}.bank-card dt{color:#7c898e;font-size:2.5mm;font-weight:800;line-height:1;margin-top:3mm}.bank-card dt:first-child{margin-top:0}.bank-card dd{font-size:3.12mm;line-height:1.35;margin-top:.7mm;overflow-wrap:anywhere}.bank-card dt:nth-of-type(3)+dd{font-weight:700}.invoice-footer{min-height:5.8mm;margin-top:auto;border-top:.3mm solid #273338;display:flex;align-items:center;justify-content:space-between;gap:8mm;color:#78838f;font-size:2.55mm}.invoice-footer strong{font-size:2.6mm;letter-spacing:.1mm}.invoice-footer span{text-align:right}@media screen and (min-width:761px){.preview-stage{--available: calc(57vw - 56px) }.invoice-page{transform-origin:top center}}@media screen and (min-width:761px)and (max-width:1400px){.invoice-page{transform:scale(.72);margin-bottom:-83mm}}@media screen and (min-width:1401px)and (max-width:1700px){.invoice-page{transform:scale(.84);margin-bottom:-47mm}}@page{size:A4 portrait;margin:0}@media print{html,body,#root,.app-shell,.workspace,.preview-panel,.preview-stage{margin:0!important;padding:0!important;width:210mm!important;min-width:210mm!important;height:auto!important;min-height:297mm!important;overflow:visible!important;background:transparent!important}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.editor-panel{display:none!important}.workspace,.preview-panel{display:block!important}.invoice-page{width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:none!important;transform:none!important}.invoice-card,.service-row,.summary-grid{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.invoice-footer{-moz-column-break-inside:avoid;break-inside:avoid}}
