html,body{margin:0;padding:0;overflow-x:hidden}:root{--blue: #0066ff;--blue-dark: #0046bd;--blue-deep: #001f70;--yellow: #ffd500;--white: #ffffff;--gray: #f5f7fb;--text: #172033;--text-light: #697386;--border: #e1e6ef}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 25px;background:var(--blue);color:var(--white);border-radius:8px;font-size:13px;font-weight:700;transition:.3s}.button-primary:hover{background:var(--blue-dark);transform:translateY(-3px)}.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border:2px solid var(--blue);border-radius:8px;background:var(--white);color:var(--blue);font-size:13px;font-weight:700;transition:.3s}.button-outline:hover{background:var(--blue);color:var(--white)}.form{width:100%;max-width:900px;margin:0 auto}.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}.form-groupp{display:flex;flex-direction:column;gap:7px;width:100%}.form-label{font-size:15px;font-weight:400;color:#2b2a2a}.form-control{width:100%;height:40px;padding:0 13px;box-sizing:border-box;border:1px solid #d8dce2;border-radius:8px;background:#fff;color:#333;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}textarea.form-control{height:auto;min-height:100px;padding:12px 13px;resize:vertical}.form-control:focus{border-color:#1769aa;box-shadow:0 0 0 3px #1769aa1a}.form-control::placeholder{color:#9aa1a8}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn{height:44px;padding:0 22px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:#e9d417;transition:background .2s ease,transform .1s ease}@media(max-width:650px){.form-row{grid-template-columns:1fr;gap:15px}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Poppins,sans-serif;background:var(--white);color:var(--text);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit}button{cursor:pointer}img{display:block;max-width:100%}.factura-cfdi{width:100%;max-width:900px;margin:20px auto;padding:28px 32px;box-sizing:border-box;background:#fff;color:#263238;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.45;border:1px solid #d9dee5}.factura-cfdi *{box-sizing:border-box}.factura-cfdi p{margin:3px 0;overflow-wrap:anywhere}.factura-cfdi strong{color:#26384b}.factura-header{display:grid;grid-template-columns:1.6fr .8fr;gap:20px;align-items:start}.emisor{display:flex;align-items:flex-start;gap:16px}.factura-logo{width:105px;max-height:90px;object-fit:contain;flex-shrink:0}.emisor-datos h1{margin:0 0 8px;color:#183451;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.emisor-datos p{font-size:10px}.factura-identificacion{text-align:right;border-left:1px solid #dce2e8;padding-left:15px}.factura-identificacion h2{margin:5px 0;font-size:23px;letter-spacing:2px;color:#183451}.factura-identificacion p{font-size:10px}.etiqueta-documento{display:inline-block;padding:4px 9px;background:#183451;color:#fff;font-weight:700;font-size:9px;letter-spacing:1px}.folio{color:#183451;font-size:17px;font-weight:700;overflow-wrap:anywhere}.linea-principal{height:3px;background:#183451;margin:20px 0}.seccion-fiscal{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:5px}.bloque-fiscal{padding:5px;border:1px solid #dce2e8;border-radius:3px;min-width:0}.bloque-fiscal h3,.titulo-seccion{margin:0 0 5px;padding-bottom:4px;color:#183451;font-size:11px;font-weight:700;border-bottom:1px solid #cbd5df;letter-spacing:.4px}.nombre-receptor{font-size:13px;font-weight:700;color:#183451;margin-bottom:4px!important}.uuid{font-size:9px;overflow-wrap:anywhere;margin-bottom:7px!important}.seccion-conceptos{margin-bottom:5px}.tabla-conceptos{width:100%;border-collapse:collapse;table-layout:fixed}.tabla-conceptos th{background:#183451;color:#fff;font-weight:700;text-align:left;padding:4px;font-size:10px;overflow-wrap:anywhere}.tabla-conceptos td{border-bottom:1px solid #dce2e8;padding:3px 2px;vertical-align:top;overflow-wrap:anywhere}.tabla-conceptos tbody tr:nth-child(2n){background:#f5f7f9}.col-cantidad{width:9%}.col-unidad{width:15%}.col-dinero{width:17%}.centrado{text-align:center}.dinero{text-align:right;font-variant-numeric:tabular-nums}.seccion-totales{display:grid;grid-template-columns:1.25fr .75fr;gap:15px;align-items:start;margin-bottom:5px}.importe-letra{padding:5px;background:#f5f7f9;border:1px solid #e0e5ea;min-width:0}.titulo-auxiliar{display:block;color:#64748b;font-weight:700;font-size:9px;letter-spacing:.7px;margin-bottom:4px}.importe-letra p{font-weight:700;color:#26384b;overflow-wrap:anywhere}.nota-cfdi{margin-top:10px;color:#64748b;font-size:9px}.resumen-totales{border:1px solid #dce2e8;min-width:0}.fila-total{display:flex;justify-content:space-between;gap:5px;padding:2px;border-bottom:1px solid #e4e8ed}.fila-total span:last-child{text-align:right;font-variant-numeric:tabular-nums}.total-final{background:#183451;color:#fff;font-size:13px;padding:5px 4px;border-bottom:0}.total-final strong{color:#fff}.seccion-certificacion{margin-top:10px}.seccion-certificacion h3,.cadena-contenedor h3{font-size:9px;color:#183451;margin:5px 0;letter-spacing:.3px}.texto-sello,.texto-cadena{border:1px solid #e0e5ea;padding:4px;font-family:Courier New,monospace;font-size:8px;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.seccion-verificacion{display:grid;grid-template-columns:145px minmax(0,1fr);gap:15px;align-items:start;margin-top:8px;padding-top:5px;border-top:1px solid #cbd5df}.qr-contenedor{text-align:center}.qr-contenedor img{width:125px;height:125px;object-fit:contain}.qr-contenedor p{color:#64748b;font-size:9px}.cadena-contenedor{min-width:0}.cadena-contenedor h3{margin-top:0}.factura-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #dce2e8;padding-top:10px;margin-top:20px;color:#64748b;font-size:9px}@page{size:letter portrait;margin:10mm}@media print{html,body{margin:0!important;padding:0!important;background:#fff!important}.factura-cfdi{width:100%;max-width:none;margin:0;padding:0;border:none;box-shadow:none;font-size:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.factura-header,.seccion-fiscal,.seccion-totales,.seccion-verificacion{break-inside:avoid;page-break-inside:avoid}.tabla-conceptos thead{display:table-header-group}.tabla-conceptos tr{break-inside:avoid;page-break-inside:avoid}.seccion-certificacion h3{break-after:avoid;page-break-after:avoid}.factura-cfdi img{max-width:100%}}
