@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{color:#1b1a20;font-synthesis:none;text-rendering:optimizelegibility;--accent:#e5392b;--ink:#1b1a20;--muted:#6b6a73;--line:#e6e3dc;--paper:#fff;background:#f4f3ef;font-family:Poppins,sans-serif}*{box-sizing:border-box}html,body,#root{touch-action:pan-x pan-y;min-width:320px;min-height:100%;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.app{min-height:100vh}button{transition:transform .16s,opacity .16s,background-color .16s,border-color .16s}button:active{transform:scale(.98)}.topbar{z-index:20;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff0;border-bottom:1px solid #e9e6df;grid-template-columns:minmax(190px,1fr) auto minmax(245px,1fr);align-items:center;gap:24px;height:72px;padding:0 24px;display:grid;position:sticky;top:0;box-shadow:0 6px 24px #1b1a2008}.brand{width:max-content;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--accent);letter-spacing:-.04em;border-radius:11px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid;box-shadow:0 7px 18px #e5392b28}.brand-name{letter-spacing:-.045em;font-size:21px;font-weight:700}.topbar nav{justify-self:center;align-items:center;gap:3px;display:flex}.topbar nav a{min-width:76px;color:var(--muted);text-align:center;background:0 0;border:0;border-radius:11px;padding:10px 13px;font-size:12px;font-weight:600;text-decoration:none;position:relative}.topbar nav a:hover{color:var(--ink);background:#f6f4f0}.topbar nav a.active{color:var(--accent);background:#fbeae7}.topbar nav a.active:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.nav-badge{color:#fff;background:var(--accent);border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;font-size:9px;display:inline-grid}.top-actions{justify-self:end;align-items:center;gap:12px;display:flex}.render-status{color:var(--muted);white-space:nowrap;font-size:11px}.render-status i{background:#0e8a6e;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.primary-button,.secondary-button{border:0;border-radius:10px;padding:11px 16px;font-weight:600}.primary-button{color:#fff;background:var(--accent)}.secondary-button{color:var(--accent);background:#fbeae7}.export-button{white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:10px 13px 10px 17px;display:inline-flex;box-shadow:0 7px 18px #e5392b24}.export-button b{width:25px;height:25px;color:var(--accent);background:#fff;border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.error-banner{z-index:50;color:#8c2118;background:#fff1ef;border:1px solid #f2b2ab;align-items:center;gap:20px;width:min(600px,100% - 32px);padding:13px 16px;display:flex;position:fixed;top:86px;left:50%;transform:translate(-50%)}.error-banner button{background:0 0;border:0;margin-left:auto;font-size:22px}.workspace{grid-template-columns:390px minmax(0,1fr);height:calc(100vh - 72px);min-height:0;display:grid;overflow:hidden}.editor-panel{overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--line);background:#fff;height:100%;min-height:0;overflow:auto}.panel-heading{border-bottom:1px solid var(--line);padding:28px 24px 22px}.panel-heading p,.page-heading p{color:var(--accent);letter-spacing:.12em;margin:0 0 5px;font-size:10px;font-weight:700}.panel-heading h2{margin:0;font-size:24px}.panel-heading span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.panel-section{border-bottom:1px solid var(--line);padding:20px 24px}.panel-section h3{margin:0 0 14px;font-size:14px}.field-stack{gap:11px;display:grid}.field{gap:5px;width:100%;display:grid}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.field input,.field select,.item-editor input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:9px 10px}.field input:focus,.field select:focus,.item-editor input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e5392b14}.address-label-row{justify-content:space-between;align-items:center;display:flex}.address-label-row label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.address-label-row small{color:var(--muted);text-transform:none;letter-spacing:0;font-size:9px;font-weight:500}.address-label-row small.verified{color:#08745e}.address-label-row small.failed{color:#a15c00}.address-control{position:relative}.address-suggestions{z-index:40;border:1px solid var(--line);background:#fff;border-radius:9px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 28px #1b1a201f}.address-suggestions button{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;gap:2px;padding:9px 11px;display:grid}.address-suggestions button+button{border-top:1px solid #f1efeb}.address-suggestions button:hover,.address-suggestions button.active{background:#fff7f5}.address-suggestions strong{font-size:12px;font-weight:600}.address-suggestions span{color:var(--muted);font-size:10px}.address-feedback{min-height:11px;color:var(--muted);text-transform:none;letter-spacing:0;font-size:9px;line-height:1.2}.field-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.field-grid.compact{margin:14px 0 0}.section-title{justify-content:space-between;align-items:center;display:flex}.section-actions{align-items:center;gap:8px;display:flex}.section-actions .text-button+.text-button{border-left:1px solid var(--line);padding-left:8px}.text-button,.text-danger{background:0 0;border:0;font-size:11px;font-weight:600}.text-button{color:var(--accent)}.text-danger{color:#b42318}.items{gap:8px;display:grid}.item-editor{grid-template-columns:minmax(0,1fr) 45px 70px 42px 28px;gap:5px;display:grid}.item-editor input{padding:8px;font-size:11px}.item-editor .icon-button{color:var(--muted);background:0 0;border:0;font-size:20px}.item-order{grid-template-columns:1fr 1fr;gap:2px;display:grid}.item-order button{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fff;border-radius:5px;padding:0;font-size:10px}.item-order button:disabled{cursor:default;opacity:.25}.action-row,.element-row{width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.action-icon{width:34px;height:34px;color:var(--accent);background:#fbeae7;border-radius:8px;place-items:center;display:grid}.action-row span span,.element-row span span{display:grid}.action-row strong,.element-row strong{font-size:13px;display:block}.action-row small,.element-row small{color:var(--muted);font-size:10px;display:block}.qr-add{gap:9px;margin-top:16px;display:grid}.code-actions{grid-template-columns:.7fr 1.2fr 1fr;gap:6px;display:grid}.code-actions button{padding-inline:5px;font-size:10px}.element-list{display:grid}.element-row{border:1px solid #0000;grid-template-columns:26px 1fr;padding:10px}.element-row.selected{background:#fff7f5;border-color:#f3c5bf}.element-row>span:first-child{color:var(--accent);font-size:20px}.empty-copy{color:var(--muted);font-size:12px;line-height:1.6}.align-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.align-grid button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;padding:8px 4px;font-size:10px}.template-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.template-grid button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:8px 1fr;gap:2px 8px;padding:10px;display:grid}.template-grid button.selected{border-color:var(--accent);background:#fff8f6}.template-grid i{grid-row:1/3;width:8px;height:100%}.template-grid strong{font-size:11px}.template-grid small{color:var(--muted);font-size:8px}.section-copy{color:var(--muted);margin:-5px 0 14px;font-size:10px;line-height:1.5}.margin-controls{gap:10px;display:grid}.margin-control{color:var(--muted);grid-template-columns:48px minmax(0,1fr) 70px;align-items:center;gap:9px;font-size:10px;font-weight:600;display:grid}.margin-control>input[type=range]{width:100%;height:18px;accent-color:var(--accent);margin:0}.margin-value{grid-template-columns:42px auto;align-items:center;gap:4px;display:grid}.margin-value input{width:42px;color:var(--ink);border:1px solid var(--line);text-align:right;background:#fff;border-radius:7px;outline:none;padding:6px 4px}.margin-value input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e5392b14}.margin-value small{color:var(--muted);font-size:9px}.margin-note{color:var(--muted);margin:12px 0 0;font-size:9px;line-height:1.45}.stage{overscroll-behavior:contain;background:#f4f2ee;min-width:0;height:100%;min-height:0;padding:0;overflow:auto}.invoice-canvas-frame{isolation:isolate;place-items:center;width:max-content;min-width:100%;min-height:100%;padding:28px;display:grid}.invoice-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#fff;border:0;outline:1px solid #d8d4cc;max-width:none;display:block;box-shadow:0 14px 34px #1b1a2018}.preview-page,.invoices-page{min-height:calc(100vh - 72px);padding:36px}.heading-actions{gap:8px;display:flex}.page-heading{justify-content:space-between;align-items:end;max-width:1180px;margin:0 auto 24px;display:flex}.page-heading h1{margin:0;font-size:28px}.pdf-preview{isolation:isolate;contain:strict;background:#fff;border:0;width:100%;height:100%;margin:0;position:relative;overflow:hidden}.pdf-preview iframe{background:#fff;border:0;width:100%;height:100%;display:block}.empty-state{border:1px solid var(--line);text-align:center;background:#fff;width:min(640px,100%);margin:80px auto;padding:50px}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--muted);font-size:13px}.invoice-list{border-top:1px solid var(--line);background:#fff;width:min(1120px,100%);margin:0 auto}.invoice-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1fr) auto 110px auto;align-items:center;gap:14px;padding:14px 16px;display:grid;position:relative}.invoice-list>div.new:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;left:4px}.invoice-open{text-align:left;background:0 0;border:0;grid-template-columns:46px 1fr;align-items:center;gap:12px;display:grid}.invoice-open span:nth-child(2){display:grid}.invoice-list small{color:var(--muted)}.doc-icon{width:42px;height:42px;color:var(--accent);background:#fbeae7;place-items:center;font-size:9px;font-weight:700;display:grid}.invoice-list select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font-size:10px}.invoice-actions{gap:4px;display:flex}.invoice-actions button{color:var(--muted);background:0 0;border:0;font-size:9px}.import-page{min-height:calc(100vh - 72px);padding:36px}.import-panel{border:1px solid var(--line);background:#fff;width:min(820px,100%);margin:0 auto}.drop-zone{background:#fff;place-content:center;justify-items:center;gap:12px;width:100%;min-height:330px;display:grid}.drop-zone-button{background:0 0;border:0;place-items:center;gap:10px;display:grid}.drop-zone-button>span{width:52px;height:52px;color:var(--accent);background:#fbeae7;border-radius:50%;place-items:center;font-size:24px;display:grid}.drop-zone small{max-width:420px;color:var(--muted)}.drop-zone>a{color:var(--accent);font-size:11px;font-weight:600}.import-summary{border-bottom:1px solid var(--line);justify-content:space-between;padding:18px;display:flex}.import-summary>div{display:grid}.import-summary small{color:var(--muted)}.candidate-list{max-height:500px;overflow:auto}.candidate{border-bottom:1px solid var(--line);grid-template-columns:22px 1fr;gap:10px;padding:14px 18px;display:grid}.candidate>span{display:grid}.candidate small{color:var(--muted)}.candidate em,.candidate i{color:#b42318;margin-top:3px;font-size:10px;font-style:normal}.candidate i{color:#a15c00}.candidate.blocked{background:#fff7f6}.import-button{width:calc(100% - 36px);margin:18px}.import-error{color:#b42318;margin:16px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b1a2070;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.contacts-dialog{background:#fff;border-radius:14px;width:min(850px,100%);max-height:90vh;overflow:auto}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 24px;display:flex}.dialog-head p{color:var(--accent);letter-spacing:.1em;margin:0;font-size:9px;font-weight:700}.dialog-head h2{margin:3px 0 0}.dialog-head button{background:0 0;border:0;font-size:26px}.contacts-layout{grid-template-columns:1fr 1fr;display:grid}.contact-list-panel,.contact-form{padding:20px}.contact-list-panel{border-right:1px solid var(--line)}.search-input{border:1px solid var(--line);border-radius:8px;width:100%;padding:10px}.contact-list>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;display:grid}.contact-list button{text-align:left;background:0 0;border:0;padding:12px 0}.contact-list button:first-child{display:grid}.contact-list small{color:var(--muted)}.contact-list .contact-edit{color:var(--accent);font-size:9px}.contact-form{gap:10px;display:grid}.contact-form h3{margin:0 0 5px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.dialog-actions .text-danger{margin-right:auto}@keyframes document-in{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1050px){.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:auto 1fr;padding:0 16px}.topbar nav{z-index:30;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;order:3;justify-self:stretch;gap:2px;width:auto;height:58px;padding:5px 8px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1b1a200a}.topbar nav a{flex:1;min-width:0;padding:9px 4px;font-size:10px}.top-actions .render-status{display:none}.workspace{grid-template-columns:340px 1fr;height:calc(100vh - 130px);padding-bottom:0}}@media (width<=760px){.topbar{gap:10px;height:62px}.brand{gap:8px}.brand-mark{border-radius:10px;width:34px;height:34px;font-size:12px}.brand-name{font-size:18px}.top-actions .primary-button{padding:8px 9px 8px 13px;font-size:10px}.export-button{gap:7px}.export-button b{width:23px;height:23px}.workspace{flex-direction:column;height:auto;min-height:calc(100vh - 62px);display:flex;overflow:visible}.editor-panel{border-right:0;width:100%;height:auto;max-height:none;overflow:visible}.stage{height:72vh;overflow:auto}.invoice-canvas-frame{min-height:100%;padding:16px}.preview-page,.invoices-page,.import-page{padding:22px 12px 80px}.page-heading{align-items:flex-start;gap:16px}.page-heading h1{font-size:22px}.pdf-preview{height:72vh}.invoice-list>div{grid-template-columns:1fr auto}.invoice-list select,.invoice-actions{grid-column:1/-1}.contacts-layout{grid-template-columns:1fr}.contact-list-panel{border-right:0;border-bottom:1px solid var(--line)}}
