/* Recibo de alquiler / factura sencilla (modelo del cliente), sin logotipo */
.rb{font-family:Arial,Helvetica,sans-serif;color:#111;font-size:9.5pt;line-height:1.3;display:flex;flex-direction:column;gap:4mm}
.rb + .rb{break-before:page;page-break-before:always}
.rb-caja{border:1.4px solid #6b7280;border-radius:4mm;padding:3.5mm 5mm}
.rb-top{display:grid;grid-template-columns:1fr 1fr;gap:6mm;align-items:start}
.rb-izq{display:flex;flex-direction:column;gap:4mm}
.rb-dcha{margin-top:12mm}
.rb b.n{font-size:10.5pt;display:block;margin-bottom:1.5mm}
.rb-datos{display:grid;grid-template-columns:30mm 1fr;row-gap:2.5mm;align-items:baseline}
.rb-datos span:nth-child(odd){font-size:10.5pt}
.rb-lineas{min-height:118mm}
.rb table{width:100%;border-collapse:collapse}
.rb th{font-size:10.5pt;font-weight:700;text-align:left;padding:1mm 2mm 3mm;border:0;background:none!important}
.rb td{padding:1mm 2mm;border:0;font-size:9.5pt}
.rb .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rb .c{text-align:center}
.rb-pie{display:grid;grid-template-columns:1fr 1fr;gap:6mm;min-height:22mm}
.rb-tot{display:grid;grid-template-columns:1fr auto auto;column-gap:6mm;row-gap:0.6mm;font-size:9pt;align-content:start}
.rb-tot .t{font-weight:700;margin-top:2mm}
.rb-obs{display:grid;grid-template-columns:34mm 1fr;row-gap:2mm;min-height:18mm}
.rb-obs span:nth-child(odd){font-size:10.5pt}

/* Factura (estilo del modelo de Odoo de MAE Group) */
.fx{font-family:"Lato","Segoe UI",Arial,Helvetica,sans-serif;color:#222;font-size:9.5pt;line-height:1.35;position:relative;min-height:262mm;display:flex;flex-direction:column}
.fx + .fx{break-before:page;page-break-before:always}
.fx::before{content:"";position:absolute;left:-12mm;top:-12mm;width:70mm;height:28mm;background:linear-gradient(160deg,#e5e7eb 0 45%,transparent 45%);z-index:-1}
.fx::after{content:"";position:absolute;right:-12mm;bottom:-14mm;width:60mm;height:26mm;background:linear-gradient(-20deg,#e5e7eb 0 45%,transparent 45%);z-index:-1}
.fx-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10mm;margin-bottom:16mm}
.fx-cab img{height:20mm;width:auto}
.fx-emisor{text-align:right;font-size:9.5pt}
.fx-emisor b{font-size:10pt}
.fx-cliente{font-size:9.5pt;margin-bottom:6mm;text-transform:none}
.fx h1{font-family:inherit;font-weight:400;font-size:18pt;margin:0 0 4mm;color:#111}
.fx-fechas{display:grid;grid-template-columns:1fr 1fr;margin-bottom:7mm}
.fx-fechas div{padding-left:2mm}
.fx-fechas div + div{border-left:1px solid #555}
.fx-fechas span{display:block;color:#9ca3af;font-weight:700;font-size:8.5pt}
.fx table{width:100%;border-collapse:collapse;font-size:9pt}
.fx th{font-weight:400;text-align:left;padding:2mm 2mm;border-bottom:1px solid #444;background:none!important;font-size:9pt;letter-spacing:0;text-transform:none;color:#222}
.fx td{padding:2.2mm 2mm;border:0;border-bottom:1px solid #d1d5db;vertical-align:top}
.fx .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.fx tr.sec td{background:#e5e7eb!important;font-weight:700}
.fx tr.lin td:first-child{padding-left:6mm}
.fx-tot{display:grid;grid-template-columns:1fr 62mm;gap:8mm;margin-top:3mm;align-items:start}
.fx-tot table td{border-bottom:0;padding:1.4mm 2mm}
.fx-tot tr.t td{font-weight:700;border-top:1px solid #444;border-bottom:1px solid #444}
.fx-pago{margin-top:9mm;font-size:9pt}
.fx-pie{margin-top:auto;padding-top:6mm;display:flex;justify-content:space-between;gap:6mm;font-size:7.5pt;color:#555}
