:root{--ink:#1c2534;--ink-2:#3d4756;--muted:#5b6470;--navy:#14305a;--navy-2:#1d4380;--gold:#c9a227;--line:#d8dee7;--bg:#e7ebf1;--card:#fff;--focus:#2e6bd6}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}#app{height:100vh;display:flex;overflow:hidden}.form-panel{border-right:1px solid var(--line);background:#f7f9fc;width:400px;min-width:400px;height:100vh;padding:16px 16px 32px;overflow-y:auto}.brand-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.brand-mark{background:var(--navy);color:#fff;letter-spacing:.5px;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.brand-text{flex:1;min-width:0}.brand-name{font-size:15px;font-weight:700}.brand-sub{color:var(--muted);font-size:11.5px}.cards{flex-direction:column;gap:12px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px 14px}.card h2{text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin:0 0 10px;font-size:11px;font-weight:700}.grid2{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.span2{grid-column:span 2}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field label{color:var(--ink-2);font-size:11px;font-weight:600}input,textarea,select{font:inherit;color:var(--ink);background:#fff;border:1px solid #c3ccd8;border-radius:6px;width:100%;padding:6px 8px}input:focus,textarea:focus,select:focus{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}textarea{resize:vertical}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:600}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-2)}.btn-ghost{color:var(--navy);background:#fff;border-color:#b9c4d4}.btn-ghost:hover{background:#eef3fa}.tpl-actions{gap:8px;margin-top:10px;display:flex}#save-tpl,#load-tpl{flex:1;margin-top:0}#add-line{width:100%;margin-top:8px}.tpl-msg{color:#1d7a3d;margin-left:8px;font-size:12px;font-weight:600}.item-row{border-top:1px dashed var(--line);padding:9px 0 3px}.item-row:first-child{border-top:0;padding-top:0}.ir-row2{grid-template-columns:72px minmax(0,1fr) 76px 28px;align-items:end;gap:6px;margin-top:6px;display:grid}.line-amt{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px}.btn-del{color:#8a2f2f;cursor:pointer;background:#fff;border:1px solid #c3ccd8;border-radius:6px;width:26px;height:30px;font-size:15px;line-height:1}.btn-del:hover{background:#fbeeee}.summary-card{position:sticky;bottom:0;box-shadow:0 -4px 14px #14305a14}.sum-row{color:var(--ink-2);justify-content:space-between;padding:3px 0;font-size:13.5px;display:flex}.sum-row b{font-variant-numeric:tabular-nums}.sum-rate{color:var(--muted);padding:1px 0 1px 10px;font-size:11.5px}.sum-rate b{font-weight:600}.sum-gross{border-top:1px solid var(--line);color:var(--ink);margin-top:4px;padding-top:7px;font-size:15px}.sum-gross b{color:var(--navy)}.preview{flex:1;justify-content:center;align-items:flex-start;padding:28px 32px 48px;display:flex;overflow:auto}.sheet-wrap{flex:none}.sheet-caption{color:var(--muted);text-align:center;letter-spacing:.04em;margin-bottom:8px;font-size:11px}.sheet{border-top:6px solid var(--navy);background:#fff;border-radius:2px;width:794px;min-height:1123px;box-shadow:0 2px 6px #10203824,0 14px 40px #1020381f}.sheet-inner{flex-direction:column;min-height:1123px;padding:46px 52px 40px;display:flex}.lh{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.lh-brand{align-items:center;gap:14px;display:flex}.logo{background:var(--navy);color:#fff;letter-spacing:1px;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:700;display:flex}.lh-name{color:var(--ink);font-size:19px;font-weight:700}.lh-tag{color:var(--muted);margin-top:1px;font-size:12px}.lh-doc{text-align:right}.lh-title{color:var(--navy);letter-spacing:.04em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:700}.meta-rows{margin-top:8px;font-size:12px}.meta-rows>div{justify-content:flex-end;gap:10px;padding:1.5px 0;display:flex}.meta-rows span{color:var(--muted);text-align:right;min-width:74px}.meta-rows b{font-variant-numeric:tabular-nums;text-align:right;min-width:96px}.rule{background:var(--line);height:1px;margin:16px 0 20px}.parties{justify-content:space-between;gap:24px;margin-bottom:24px;display:flex}.addr-window{border:1px solid var(--line);border-left:3px solid var(--gold);background:#f8fafc;border-radius:4px;width:330px;padding:12px 16px 14px}.sender-box{width:260px;padding:12px 0 0}.aw-label{letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:5px;font-size:10px;font-weight:700}.aw-name{color:var(--ink);font-size:14px;font-weight:700}.aw-addr{color:var(--ink-2);margin-top:3px;font-size:12.5px}.lines{border-collapse:collapse;width:100%;font-size:13px}.lines th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--navy);border-bottom:2px solid var(--navy);padding:6px 8px 7px 2px;font-size:10.5px}.lines td{border-bottom:1px solid var(--line);vertical-align:top;padding:8.5px 8px 8.5px 2px}.lines tbody tr:nth-child(2n) td{background:#f7f9fc}.c-num{width:26px;color:var(--muted)}.c-qty{text-align:right;width:70px}.c-price{text-align:right;width:96px}.c-vat{text-align:right;width:54px}.c-amt{text-align:right;font-variant-numeric:tabular-nums;width:104px;font-weight:600}th.c-qty,th.c-price,th.c-vat,th.c-amt{text-align:right}td.c-qty,td.c-price,td.c-vat{font-variant-numeric:tabular-nums}.dim{color:var(--muted)}.bottom{justify-content:space-between;align-items:flex-start;gap:28px;margin-top:26px;display:flex}.pay-info{border:1px solid var(--line);background:#f7f9fc;border-radius:6px;max-width:330px;padding:10px 14px 12px;font-size:12px}.pi-title{letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:6px;font-size:10px;font-weight:700}.pi-line{gap:10px;padding:2px 0;display:flex}.pi-line span{color:var(--muted);min-width:66px}.pi-line b{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.totals{width:300px;font-size:12.5px}.tot-row{color:var(--ink-2);justify-content:space-between;gap:12px;padding:4px 0;display:flex}.tot-row b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.tot-disc span,.tot-disc b{color:#8a2f2f}.tot-gross{background:var(--navy);color:#fff;border-radius:4px;margin-top:8px;padding:9px 12px;font-size:14px;font-weight:700}.tot-gross span{color:#fff}.tot-gross b{color:#fff;font-size:16px}.foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;margin-top:auto;padding-top:22px;font-size:10.5px;display:flex}.foot-thanks{color:var(--navy);font-size:11.5px;font-weight:700}@media print{@page{size:A4;margin:0}html,body{background:#fff}#app{height:auto;display:block;overflow:visible}.form-panel{display:none!important}.sheet-caption{display:none}.preview{padding:0;display:block;overflow:visible}.sheet{width:794px;min-height:0;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:0;zoom:1!important}.sheet-inner{min-height:0;padding:42px 48px 34px}.lines tr,.bottom,.lh,.parties{page-break-inside:avoid;break-inside:avoid}.lines tbody tr:nth-child(2n) td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f7f9fc}}
