:root{--primary:#2563eb;--primary-hover:#1d4ed8;--bg-body:#f8fafc;--bg-card:#ffffff;--text-main:#1e293b;--text-muted:#64748b;--border-color:#e2e8f0;--input-bg:#ffffff;--input-border:#e2e8f0;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1);--radius:8px;--item-row-bg:#f8fafc}[data-theme=dark]{--bg-body:#0f172a;--bg-card:#1e293b;--text-main:#f1f5f9;--text-muted:#94a3b8;--border-color:#334155;--input-bg:#0f172a;--input-border:#334155;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.3);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.3);--item-row-bg:#0f172a}*{box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-body);margin:0;padding:0;color:var(--text-main);line-height:1.5;transition:background-color .3s,color .3s}.header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:0 40px;height:70px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);transition:background .3s,border-color .3s}.header-actions{display:flex;align-items:center;gap:15px}.logo-app{font-size:20px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px;letter-spacing:-.5px}.btn-theme-toggle{background:0 0;border:1px solid var(--border-color);color:var(--text-main);width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.btn-theme-toggle:hover{background-color:var(--item-row-bg)}.btn-theme-toggle svg{width:20px;height:20px}.main-container{display:flex;gap:40px;padding:40px;max-width:1600px;margin:0 auto;align-items:flex-start}.editor-panel{flex:1;min-width:420px;background:var(--bg-card);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:background .3s,border-color .3s}.editor-section-title{margin-top:30px;margin-bottom:15px;font-size:.85em;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;border-bottom:1px solid var(--border-color);padding-bottom:8px}.editor-section-title:first-child{margin-top:0}.form-group{margin-bottom:20px}label{display:block;margin-bottom:6px;font-size:.85rem;color:var(--text-main);font-weight:500}input[type=date],input[type=number],input[type=text],select,textarea{width:100%;padding:10px 12px;font-size:.95rem;color:var(--text-main);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;transition:all .2s ease-in-out;font-family:inherit}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,99,235,.2)}textarea{resize:vertical;min-height:80px}input[type=color]{border:none;width:40px;height:40px;cursor:pointer;padding:0;background:0 0;border-radius:50%}.btn-remove-logo{background-color:#fee2e2;color:#ef4444;border:1px solid #fecaca;border-radius:6px;font-weight:600;cursor:pointer;padding:8px 12px;transition:.2s;display:flex;align-items:center;justify-content:center}.btn-remove-logo:hover{background-color:#fecaca}[data-theme=dark] .btn-remove-logo{background-color:#450a0a;border-color:#7f1d1d}[data-theme=dark] .btn-remove-logo:hover{background-color:#7f1d1d}.file-upload-wrapper{display:flex;gap:10px;align-items:center}.checkbox-wrapper{display:flex;align-items:center;gap:12px;margin-top:15px;padding:12px;background-color:var(--item-row-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:.2s}.checkbox-wrapper:hover{border-color:var(--text-muted)}.checkbox-wrapper input{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.checkbox-wrapper span{color:var(--text-main);font-weight:500;font-size:.9rem}.vat-exemption-box{background-color:rgba(37,99,235,.1);border-left:4px solid var(--primary);padding:15px;border-radius:4px;margin-bottom:20px}.item-row{display:grid;grid-template-columns:3fr .8fr .8fr 1.2fr 1fr auto;gap:10px;margin-bottom:12px;align-items:start;padding:10px;background:var(--item-row-bg);border-radius:6px;border:1px solid transparent}.item-row:hover{border-color:var(--border-color)}button{cursor:pointer;padding:10px 18px;border:none;border-radius:6px;font-weight:600;font-size:.95rem;transition:.2s;font-family:inherit}.btn-primary{background-color:var(--primary);color:#fff;width:100%;padding:14px;margin-top:25px;box-shadow:0 4px 6px -1px rgba(0,0,0,.15)}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-add{background-color:transparent;color:var(--text-main);border:1px dashed var(--border-color);width:100%;margin-top:10px}.btn-add:hover{border-color:var(--primary);color:var(--primary)}.btn-remove{background-color:transparent;color:#ef4444;padding:8px;font-size:1.1em;opacity:.7}.btn-remove:hover{opacity:1;background:rgba(239,68,68,.1);border-radius:4px}.btn-clear{background-color:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-color);font-size:.85rem}.btn-clear:hover{border-color:#ef4444;color:#ef4444}.preview-panel{flex:1.4;display:flex;justify-content:center}#invoice-preview{background:#fff;width:210mm;min-height:297mm;padding:15mm 20mm;box-sizing:border-box;box-shadow:0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);font-size:13px;display:flex;flex-direction:column;color:#000}.inv-header{display:flex;justify-content:space-between;margin-bottom:40px;border-bottom:2px solid var(--primary);padding-bottom:20px;align-items:flex-start}.inv-title{font-size:32px;color:var(--primary);text-transform:uppercase;line-height:1;font-weight:700;letter-spacing:-1px}.user-logo-img{max-height:70px;max-width:200px;margin-bottom:15px}.inv-meta{text-align:right;font-size:13px;line-height:1.6;color:#000}.inv-meta strong{font-weight:600;color:#444;margin-right:5px}.inv-meta .highlight{color:var(--primary);font-weight:700}.inv-parties{display:flex;justify-content:space-between;margin-bottom:50px;gap:40px}.party-box{flex:1}.party-box h4{margin:0 0 8px 0;color:#94a3b8;text-transform:uppercase;font-size:10px;letter-spacing:1px;font-weight:600}.party-box div{font-size:14px;line-height:1.5;color:#000}.inv-table{width:100%;border-collapse:collapse;margin-bottom:30px}.inv-table th{background-color:#f1f5f9;padding:12px 10px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;color:#475569;border-bottom:2px solid #e2e8f0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;vertical-align:top;font-size:13px;color:#000}.text-right{text-align:right}.text-center{text-align:center}.summary-section{display:flex;justify-content:space-between;margin-top:auto;padding-top:30px;border-top:1px solid #e2e8f0;page-break-inside:avoid}.payment-info{width:45%;font-size:12px;color:#333}.payment-info div{margin-bottom:6px}.payment-label{font-weight:600;color:#64748b;margin-right:5px}.totals-box{width:45%;display:flex;flex-direction:column;align-items:flex-end}.vat-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:20px;color:#444}.vat-table th{border-bottom:1px solid #cbd5e1;padding:4px;text-align:right;font-weight:600;background:#fff}.vat-table td{padding:4px;text-align:right}.vat-table td:first-child,.vat-table th:first-child{text-align:left}.total-row{display:flex;justify-content:flex-end;gap:20px;margin-bottom:8px;width:100%;font-size:14px;color:#000}.big-total{font-size:1.8em;color:var(--primary);font-weight:700;margin-top:15px;padding-top:15px;border-top:2px solid #e2e8f0;width:100%;text-align:right;letter-spacing:-.5px}.footer-legal{margin-top:30px;padding-top:15px;font-size:10px;color:#94a3b8;border-top:1px solid #f1f5f9;text-align:center}@media print{@page{size:A4;margin:0}body{background-color:#fff;color:#000}.editor-panel,.header{display:none!important}.main-container{display:block;padding:0;margin:0;width:100%;max-width:none}.preview-panel{display:block;width:100%;padding:0}#invoice-preview{width:100%;min-height:100vh;box-shadow:none;padding:15mm 20mm;margin:0}.inv-table th{background-color:#f1f5f9!important;-webkit-print-color-adjust:exact}.vat-exemption-box,button{display:none}}@media screen and (max-width:1100px){.main-container{flex-direction:column;padding:20px}.editor-panel{min-width:100%;width:100%}.preview-panel{width:100%;margin-top:30px}#invoice-preview{width:100%;height:auto;padding:20px}.summary-section{flex-direction:column;gap:30px}.payment-info,.totals-box{width:100%}}