:root{--bg: #f4f5f7;--card: #ffffff;--border: #e3e5ea;--text: #1f2430;--muted: #6b7280;--accent: #2563eb;--accent-dark: #1d4ed8;--radius: 10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}.toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:8px;cursor:pointer;border:1px solid transparent;background:none;color:var(--text);display:inline-flex;align-items:center;gap:6px}.btn:disabled{opacity:.6;cursor:wait}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-outline{border-color:var(--border);background:#fff}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{color:var(--muted)}.btn-ghost:hover{color:#dc2626}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px 8px;font-size:11px}.file-btn{cursor:pointer}.text-danger:hover{color:#dc2626!important}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.card-header-row h2{margin:0}.card-actions{display:flex;align-items:center;gap:6px}.layout{display:grid;grid-template-columns:minmax(340px,440px) 1fr;gap:24px;padding:24px;align-items:start}@media(max-width:1023px){.layout{grid-template-columns:1fr;padding:16px}}.panel{display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.card h2{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500}label.check{flex-direction:row;align-items:center;gap:8px}input,select,textarea{font:inherit;font-size:14px;color:var(--text);padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:#fff;width:100%}input[type=checkbox]{width:auto}input[type=range]{padding:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-color:var(--accent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.muted{color:var(--muted)}.logo-row{display:flex;gap:12px;align-items:center}.logo-box{width:84px;height:84px;flex-shrink:0;border:1px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:var(--muted);overflow:hidden;background:#fafafa}.logo-box img{max-width:100%;max-height:100%;object-fit:contain}.logo-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.logo-actions small{width:100%}.items-head,.item-row{display:grid;grid-template-columns:1fr 64px 110px 32px;gap:6px;align-items:center}.items-head{font-size:12px;color:var(--muted);font-weight:600}#items{display:flex;flex-direction:column;gap:6px}.btn-icon{border:none;background:none;cursor:pointer;color:var(--muted);font-size:14px;height:32px;border-radius:6px}.btn-icon:hover:not(:disabled){color:#dc2626;background:#fef2f2}.btn-icon:disabled{opacity:.3;cursor:default}#btn-add-item{align-self:flex-start}.preview-wrap{position:sticky;top:80px;display:flex;justify-content:center;padding:16px;overflow:hidden}@media(max-width:1023px){.preview-wrap{position:static}}#preview-scaler{transform-origin:top center}.a4-page{width:210mm;min-height:296mm;padding:16mm 15mm;position:relative;background:#fff;color:#1f2430;box-shadow:0 4px 24px #00000014;font-size:10pt;line-height:1.45;overflow:hidden;display:flex;flex-direction:column}body.exporting .a4-page{box-shadow:none}.watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}.watermark img{width:60%;max-height:60%;object-fit:contain;opacity:var(--wm-opacity, .08);filter:grayscale(100%)}.invoice-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column}.ph{color:#b6bac3}.inv-header{display:flex;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:2px solid #1f2430}.inv-company{display:flex;gap:12px;align-items:flex-start}.inv-logo{max-width:32mm;max-height:22mm;object-fit:contain}.inv-company-name{font-size:14pt;font-weight:700}.inv-muted{color:#6b7280}.inv-title{text-align:right}.inv-title h1{margin:0;font-size:26pt;letter-spacing:.08em;color:var(--accent)}.inv-number{font-weight:600}.inv-status{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;font-size:8.5pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid currentColor}.inv-status.is-paid{color:#15803d}.inv-status.is-unpaid{color:#dc2626}.inv-meta{display:flex;justify-content:space-between;gap:24px;margin:18px 0}.inv-label{font-size:8pt;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;font-weight:700;margin-bottom:2px}.inv-strong{font-weight:700;font-size:11pt}.inv-dates td{padding:2px 0 2px 16px}.inv-dates td:first-child{color:#6b7280}.inv-dates td:last-child{text-align:right;font-weight:600}table{border-collapse:collapse}.inv-items{width:100%}.inv-items th{background:#f3f4f6;text-align:left;font-size:8.5pt;text-transform:uppercase;letter-spacing:.05em;color:#4b5563;padding:8px}.inv-items td{padding:8px;border-bottom:1px solid #eceef1;vertical-align:top}.inv-items tr{page-break-inside:avoid;break-inside:avoid}.c-no{width:28px;color:#6b7280}.c-num{text-align:right!important;white-space:nowrap}.inv-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:16px;page-break-inside:avoid;break-inside:avoid}.inv-notes{flex:1}.inv-totals{min-width:75mm}.inv-totals td{padding:5px 0}.inv-totals td:last-child{text-align:right;padding-left:16px;white-space:nowrap}.inv-totals .grand td{border-top:2px solid #1f2430;font-weight:700;font-size:12pt;padding-top:8px}.inv-bottom-group{margin-top:auto;padding-top:24px;page-break-inside:avoid;break-inside:avoid}.inv-footer{margin-top:16px;text-align:center;color:#9ca3af;font-size:9pt}.sub-head{font-weight:600;font-size:14px}.pay-fields{display:flex;flex-direction:column;gap:10px;transition:opacity .15s}.pay-fields.is-disabled{opacity:.45;pointer-events:none}.divider{border:none;border-top:1px solid var(--border);margin:6px 0;width:100%}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;word-break:break-all}.form-warn{font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:6px 8px}label[hidden]{display:none}.inv-payment{page-break-inside:avoid;break-inside:avoid}.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;align-items:stretch}.pay-grid.single{grid-template-columns:1fr}.pay-box{border:1px solid #e5e7eb;border-radius:6px;padding:10px 12px;background:transparent;min-width:0;page-break-inside:avoid;break-inside:avoid;display:flex;flex-direction:column;gap:6px}.pay-title{font-weight:700}.pay-field-label{font-size:7.5pt;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.pay-field-value{font-size:9.5pt}.pay-strong{font-weight:600}.pay-account{font-size:11pt;letter-spacing:.03em}.pay-crypto-body{display:flex;gap:10px;align-items:flex-start}.pay-crypto-info{display:flex;flex-direction:column;gap:6px;min-width:0}.pay-qr-wrap{text-align:center;flex-shrink:0}.pay-qr{width:26mm;height:26mm;display:block;image-rendering:pixelated}.pay-qr-ph{background:repeating-linear-gradient(45deg,#f3f4f6 0,#f3f4f6 6px,#e5e7eb 6px,#e5e7eb 12px)}.pay-qr-caption{font-size:7pt;color:#6b7280;margin-top:2px}.pay-crypto .mono{font-size:8pt}.pay-warn{font-size:7.5pt;line-height:1.35;color:#b45309;background:transparent;border-left:3px solid #f59e0b;padding:2px 0 2px 6px}@media print{@page{size:A4;margin:0}html,body{background:#fff}.toolbar,#invoice-form{display:none!important}.layout,.preview-wrap{display:block;padding:0;margin:0;position:static}#preview-scaler{transform:none!important;height:auto!important}.a4-page{box-shadow:none;overflow:visible}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
