@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);:root{--primary:#1e3a8a;--secondary:#64748b;--success:#059669;--warning:#d97706;--danger:#dc2626;--bg-app:#f1f5f9;--border-color:#000}*{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{margin:0;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--bg-app);color:#1e293b}.app{max-width:1200px;margin:0 auto;padding:18px}.toolbar{display:flex;justify-content:space-between;background:#fff;padding:14px 18px;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);margin-bottom:18px;position:sticky;top:10px;z-index:100}.btn-group{display:flex;gap:8px;flex-wrap:wrap}button{padding:10px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:13px;display:flex;align-items:center;gap:6px;font-family:Inter,sans-serif}button:active{transform:scale(.95)}button:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--secondary);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warning{background:var(--warning);color:#fff}.system-alert{margin-bottom:12px;padding:12px 14px;border-radius:10px;font-size:13px;font-weight:700;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.system-alert.expired{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.config-panel{border-left:5px solid var(--primary)}.config-panel,.saved-invoices-panel{background:#fff;padding:20px;border-radius:12px;margin-bottom:18px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.saved-invoices-panel{border-left:5px solid var(--success)}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.panel-heading h3{margin:0 0 4px}.panel-heading p{margin:0;color:#475569;font-size:13px}.api-message{margin-bottom:12px;padding:10px 12px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#1e3a8a;font-size:13px;font-weight:600}.saved-invoices-table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.saved-invoices-table td,.saved-invoices-table th{border:1px solid #e2e8f0;padding:8px;text-align:left;vertical-align:middle}.saved-invoices-table th{background:#f8fafc;color:#334155;text-transform:uppercase;font-size:11px}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:20px}.product-manager{background:#f8fafc;padding:15px;border-radius:8px;border:1px solid #e2e8f0;overflow-x:auto}.product-form{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:11px;font-weight:800;color:#475569;text-transform:uppercase}.field input,.field select,.field textarea{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;font-family:Inter,sans-serif;min-width:0}.logo-config{max-width:420px;margin-bottom:20px}.logo-preview-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.logo-preview-box{width:180px;height:90px;border:1px dashed #94a3b8;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px}.logo-preview-box img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.table-responsive{width:100%;overflow-x:auto}.prod-list-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;min-width:620px}.prod-list-table td,.prod-list-table th{border:1px solid #e2e8f0;padding:8px;text-align:left;vertical-align:middle}.invoice-container{background:#fff;padding:24px;border-radius:4px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);width:210mm;min-height:297mm;margin:0 auto;overflow:hidden}.invoice-border{border:1.5px solid var(--border-color);padding:8mm;height:100%;overflow:hidden}.header-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;margin-bottom:12px;align-items:stretch}.company-header{display:flex;gap:12px;align-items:stretch;min-width:0}.company-logo-box{width:112px;min-width:112px;height:92px;border:1px solid #cbd5e1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.company-logo-box img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.company-logo-placeholder{font-size:10px;color:#64748b;text-align:center;padding:6px}.company-details{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:2px 0}.company-details h1{margin:0 0 4px 0;font-size:16px;color:#000;text-transform:uppercase;line-height:1.2;word-break:break-word}.company-details p{margin:2px 0;font-size:10px;line-height:1.25;word-break:break-word}.right-header{gap:4px;width:100%}.auth-box,.right-header{display:flex;flex-direction:column}.auth-box{border:1.5px solid #000;padding:7px 8px;font-size:10px;line-height:1.25;min-height:92px;justify-content:center}.auth-box p{margin:1px 0;word-break:break-word}.factura-titulo{background:#000;color:#fff;text-align:center;padding:5px;font-weight:700;font-size:18px;margin-top:0}.factura-numero{border:1.5px solid #000;text-align:center;padding:8px;font-size:14px;font-weight:900;margin-top:0;word-break:break-word}.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.client-name,.payment-due{grid-column:span 2}.info-cell{border:1px solid #000;padding:5px;font-size:11px;display:flex;align-items:center;gap:8px;min-width:0}.info-cell label{font-size:10px;font-weight:700;white-space:nowrap}.info-cell input,.info-cell select{border:none;width:100%;font-size:11px;outline:none;font-family:Inter,sans-serif;background:transparent;min-width:0}.text-center{text-align:center!important}.text-right{text-align:right!important}.invoice-table-wrap{width:100%;overflow-x:hidden}.items-table{width:100%;max-width:100%;border-collapse:collapse;margin-top:15px;table-layout:fixed}.items-table th{background:#eef2ff;border:1px solid #000;padding:6px 4px;font-size:10px;font-weight:700;text-transform:uppercase;text-align:center;overflow-wrap:break-word}.items-table td{border:1px solid #000;padding:3px 4px;overflow:hidden}.items-table input,.items-table select{width:100%;max-width:100%;border:none;outline:none;font-size:11px;font-family:Inter,sans-serif;background:transparent;min-width:0}.items-table td:first-child,.items-table th:first-child{width:34%}.items-table td:nth-child(2),.items-table th:nth-child(2){width:9%}.items-table td:nth-child(3),.items-table th:nth-child(3){width:13%}.items-table td:nth-child(4),.items-table th:nth-child(4){width:16%}.items-table td:nth-child(5),.items-table td:nth-child(6),.items-table th:nth-child(5),.items-table th:nth-child(6){width:14%}.row-total{text-align:right;font-weight:700}.manual-row{margin:10px 0}.totals-section{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;margin-top:14px;align-items:start}.letters-box{border:1px solid #000;padding:10px;font-size:10px}.letters-value{margin-top:5px;font-weight:700;min-height:32px}.extra-info{border-top:none}.small-ref-row .info-cell{padding:4px 6px;font-size:9px}.small-ref-row .info-cell label{min-width:170px;color:#111827;font-size:9px;font-weight:600;white-space:nowrap}.small-ref-row .info-cell input{font-size:9px;text-align:right}.small-ref-row .info-cell input::-moz-placeholder{color:#94a3b8;text-align:left}.small-ref-row .info-cell input::placeholder{color:#94a3b8;text-align:left}.extra-info label{min-width:285px;font-size:9px;white-space:normal}.totals-table{width:100%;border-collapse:collapse;table-layout:fixed}.totals-table td{border:1px solid #000;padding:5px 8px;font-size:10px;font-family:Inter,sans-serif;overflow-wrap:break-word}.totals-table td:first-child{font-weight:700;text-align:right}.totals-table td:last-child{text-align:right;font-weight:600;width:118px}.total-label,.total-value{font-size:12px!important}.signature-box{margin-top:14px;display:flex;flex-direction:column;align-items:center}.signature-area{width:82%;height:100px;background:transparent;border:none;margin-bottom:8px}.signature-label{width:72%;border-top:1px solid #000;text-align:center;padding-top:4px;font-size:11px;font-weight:700;color:#000}.product-add-button{align-self:flex-end}.table-button{padding:4px 8px}.config-actions{margin-top:20px}.footer-doc-info{margin-top:18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;font-size:10px;font-weight:600;color:#000}.footer-doc-info div:first-child{text-align:left}.footer-doc-info div:nth-child(2){text-align:center}.footer-doc-info div:nth-child(3){text-align:right}@media print{.config-panel,.hide-print-tax,.no-print,.saved-invoices-panel,.system-alert,.toolbar{display:none!important}body{background:#fff}.app{padding:0}.invoice-container{box-shadow:none;padding:0;width:100%}.invoice-border{padding:7mm}.empty-row{display:none!important}.items-table td:first-child,.items-table th:first-child{width:40%!important}.items-table td:nth-child(2),.items-table th:nth-child(2){width:10%!important}.items-table td:nth-child(3),.items-table td:nth-child(4),.items-table th:nth-child(3),.items-table th:nth-child(4){width:16%!important}.items-table td:nth-child(6),.items-table th:nth-child(6){width:18%!important}@page{size:portrait;margin:9mm}}