:root{--ink:#1a2533;--muted:#66707d;--line:#e4e8ee;--accent:#17456e;--accent-soft:#eef3f8;--bg:#e9ebee;--card:#fff;--field-border:#d7dce2}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:14px}#app{flex-direction:column;height:100vh;display:flex}.appbar{border-bottom:1px solid var(--line);background:#fff;flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{flex:none;width:30px;height:30px}.brand-name{letter-spacing:.01em;font-size:15.5px;font-weight:650}.brand-badge{color:var(--muted);border:1px solid var(--line);background:#f2f4f7;border-radius:999px;padding:3px 9px;font-size:11px}.appbar-actions{gap:8px;display:flex}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:550}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:#123a5d}.btn.ghost{border-color:var(--field-border);color:var(--ink);background:#fff}.btn.ghost:hover{background:#f6f8fa}.btn.small{background:var(--accent-soft);color:var(--accent);border-color:#d8e4ef;padding:6px 10px;font-size:12px}.btn.small:hover{background:#e2ebf4}.btn.add{width:100%;color:var(--accent);background:0 0;border:1.5px dashed #c3ccd6;margin-top:8px;padding:8px;font-size:12.5px;font-weight:550}.btn.add:hover{border-color:var(--accent);background:var(--accent-soft)}.main{flex:1;min-height:0;display:flex}.pane-form{border-right:1px solid var(--line);background:#f7f8fa;flex:none;width:470px;padding:16px 16px 40px;overflow-y:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:14px 16px 16px;box-shadow:0 1px 2px #1018280a}.card h3{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 12px;font-size:11px;font-weight:650}.card-foot{align-items:center;gap:10px;margin-top:12px;display:flex}.field{margin-bottom:10px}.field label{color:var(--muted);margin-bottom:4px;font-size:11.5px;font-weight:550;display:block}.field input,.item-row input,.item-row select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--field-border);background:#fff;border-radius:6px;outline:none;padding:7px 9px;font-size:13.5px}.field input:focus,.item-row input:focus,.item-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #17456e1f}.row-2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.items-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);grid-template-columns:1fr 52px 72px 62px 22px;gap:6px;padding:0 1px 5px;font-size:10.5px;font-weight:600;display:grid}.item-row{grid-template-columns:1fr 52px 72px 62px 22px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.item-row .in-desc,.item-row .in-qty,.item-row .in-price{font-size:12.5px}.item-row select{padding:6px 4px;font-size:12px}.item-row .in-del{color:#9aa3ad;cursor:pointer;background:0 0;border:none;border-radius:6px;width:22px;height:22px;font-size:15px;line-height:1}.item-row .in-del:hover{color:#c0392b;background:#fdecec}.pane-preview{flex-direction:column;flex:1;min-width:0;display:flex}.pv-bar{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;flex:none;justify-content:space-between;align-items:center;padding:9px 24px;font-size:11.5px;font-weight:600;display:flex}.pv-right{align-items:center;gap:8px;display:flex}.pv-meta{text-transform:none;letter-spacing:0;font-weight:500}.pv-gross{color:var(--accent);background:var(--accent-soft);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;border:1px solid #d8e4ef;border-radius:999px;padding:2px 10px;font-weight:700}.pv-sep{color:#c3ccd6}.pv-zoom{align-items:center;gap:4px;display:inline-flex}.zoom-btn{border:1px solid var(--field-border);width:20px;height:20px;color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;padding:0;font-size:13px;line-height:1}.zoom-btn:hover{color:var(--accent);border-color:var(--accent)}#zoom-label{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:11px}.btn-ico{vertical-align:-2px;width:15px;height:15px;margin-right:6px;display:inline-block}.btn{align-items:center;display:inline-flex}.pv-scroll{flex:1;justify-content:center;align-items:flex-start;padding:8px 24px 24px;display:flex;overflow:auto}.sheet-frame{flex:none}.sheet{transform-origin:0 0;width:794px;height:1123px;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;padding:4em 4.62em 2.77em;font-size:13px;line-height:1.5;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 24px #10182824}.sheet:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, #2a6da3 100%);height:6px;position:absolute;top:0;left:0;right:0}.mut{color:var(--muted)}.inv-head{justify-content:space-between;align-items:flex-start;display:flex}.co{align-items:flex-start;gap:1.08em;display:flex}.co-mark{flex:none;width:3.54em;height:3.54em;margin-top:.15em}.co-name{letter-spacing:.005em;margin-bottom:.38em;font-size:1.346em;font-weight:700}.co-addr{color:var(--muted);font-size:.885em;line-height:1.5}.inv-meta{text-align:right}.inv-title{letter-spacing:.32em;color:var(--ink);margin-bottom:.92em;margin-right:-.32em;font-size:2.077em;font-weight:300}.inv-meta-rows{text-align:left;display:inline-block}.inv-meta-rows div{justify-content:space-between;gap:2em;padding:.19em 0;font-size:.923em;display:flex}.inv-meta-rows span{color:var(--muted)}.inv-meta-rows b{font-weight:600}.inv-meta-rows .due b{color:var(--accent)}.inv-rule{background:var(--accent);height:2px;margin:1.846em 0 1.69em}.inv-cols{justify-content:space-between;gap:3.08em;margin-bottom:2em;display:flex}.inv-block{max-width:55%}.inv-block.right{text-align:right;max-width:40%}.inv-block h4{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 .46em;font-size:.808em;font-weight:700}.inv-block .who{font-size:1em;line-height:1.55}.inv-block .who.plain{font-weight:550}.inv-table{border-collapse:collapse;width:100%}.inv-table thead th{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:left;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:.69em .77em;font-size:.808em;font-weight:700}.inv-table thead th:nth-child(n+2){text-align:right}.inv-table tbody tr{break-inside:avoid;page-break-inside:avoid}.inv-table tbody td{vertical-align:top;border-bottom:1px solid #eef1f5;padding:.69em .77em;font-size:.962em}.inv-table td.d{padding-right:1.38em}.inv-table td.n,.inv-table th.n{text-align:right;font-variant-numeric:tabular-nums}.inv-totals{break-inside:avoid;page-break-inside:avoid;justify-content:flex-end;margin-top:1.08em;display:flex}.tot-rows{width:25.4em}.trow{font-variant-numeric:tabular-nums;justify-content:space-between;padding:.31em 0;font-size:.962em;display:flex}.trow span:first-child{color:var(--muted)}.trow.net{border-top:1px solid var(--line);margin-top:.54em;padding-top:.62em;font-weight:600}.trow.net span:first-child{color:var(--ink)}.trow.gross{border-top:2px solid var(--ink);margin-top:.69em;padding:.77em 0 .15em;font-size:1.19em;font-weight:700}.trow.gross span:first-child{color:var(--ink)}.trow.gross span:last-child{color:var(--accent)}.inv-pay{border-top:1px solid var(--line);gap:3.08em;margin-top:2.31em;padding-top:1.23em;display:flex}.pay-col{flex:1}.pay-col h4{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 .38em;font-size:.808em;font-weight:700}.pay-col p{color:#3c4654;margin:0;font-size:.885em;line-height:1.6}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.846em}.inv-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:auto;padding-top:1.08em;font-size:.808em;display:flex}.inv-thanks{text-align:center;color:var(--muted);padding-top:.77em;font-size:.846em;font-style:italic}.toast{color:#fff;opacity:0;pointer-events:none;z-index:50;background:#1f2937;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:550;transition:opacity .25s,transform .25s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,16px)}.toast.show{opacity:1;transform:translate(-50%)}@page{size:A4;margin:0}@media print{html,body{background:#fff;width:auto;height:auto;margin:0;padding:0}#app{height:auto;display:block}.appbar,.pane-form,.pv-bar,.toast{display:none!important}.main,.pane-preview{display:block}.pv-scroll{padding:0;display:block;overflow:visible}.sheet-frame{width:auto!important;height:auto!important}.sheet{box-shadow:none;margin:0;transform:none!important}}
