/* R463: mantener los controles por debajo de la franja translúcida de iOS.
   Safari instalado puede devolver un inset de cero: reservar al menos 44px.
   Solo cambia el espacio de la cabecera; el cuerpo conserva su propio scroll. */@supports (-webkit-touch-callout: none){@media screen{:root{--topres-system-top:max(44px, env(safe-area-inset-top, 0px))}html body #rcSubcontratasModal .sub-dialog > header,html body #rcMaterialesModal .mat-head,html body.con-vista-exclusiva #capaVistaExclusiva .barra-vista-exclusiva{padding-top:calc(var(--topres-system-top) + 14px) !important;box-sizing:border-box !important;flex-shrink:0 !important;height:auto !important;max-height:none !important;background:#153858 !important;opacity:1 !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}html body:not(.con-vista-exclusiva):not(.vista-factura-activa) > header{padding-top:calc(var(--topres-system-top) + 7px) !important;height:calc(var(--topres-system-top) + 52px) !important;min-height:calc(var(--topres-system-top) + 52px) !important;box-sizing:border-box !important;background:#153858 !important}html body:not(.con-vista-exclusiva):not(.vista-factura-activa) #barraBloqueoPresupuesto.barra-fija-real{top:calc(var(--topres-system-top) + 55px) !important}html body #rcSubcontratasModal .sub-dialog > header small{color:#d5e4f0 !important}}}
/* Proveedores R464: mismo azul y superficies claras que Topres. */html body #panelProveedores{color:#244458;background:#f4f7fa}html body #panelProveedores .proveedores-hero{padding:24px;border-radius:16px;background:#153858;color:white}html body #panelProveedores .proveedores-hero h2,html body #panelProveedores .proveedores-hero p{color:white!important}html body #panelProveedores .prov-obra-activa-resumen{background:white;border:1px solid #dae5ed;border-radius:16px;box-shadow:none}html body #panelProveedores .prov-obra-activa-head{background:#153858;color:white;border-radius:14px 14px 0 0;padding:20px}html body #panelProveedores .prov-obra-activa-head :is(h3,p,.proveedores-kicker){color:white!important}html body #panelProveedores .prov-obra-activa-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}html body #panelProveedores .prov-obra-activa-kpis .poa-kpi{border:1px solid #dce6ed;background:#f8fafc;border-radius:12px;box-shadow:none;padding:18px}html body #panelProveedores .prov-obra-activa-kpis .poa-kpi strong{color:#153858;font-size:26px}html body #panelProveedores .prov-obra-activa-kpis .poa-verde strong{color:#197365}html body #panelProveedores .prov-obra-activa-kpis .poa-naranja strong{color:#9b7026}html body #panelProveedores .prov-obra-activa-kpis .poa-morado{display:none}html body #panelProveedores .prov-obra-activa-kpis .poa-verde:has(#provObraProveedores){display:none}html body #panelProveedores .proveedores-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}html body #panelProveedores .prov-kpi{background:white;border:1px solid #dce6ed;border-top:3px solid #153858;box-shadow:none;border-radius:12px}html body #panelProveedores .prov-obra-ultima{display:flex;align-items:center;gap:18px;padding:18px;background:white;border:1px solid #dce6ed;border-radius:12px;margin-top:10px}html body #panelProveedores .prov-obra-ultima>div:first-child{flex:1;min-width:0}html body .prov-amounts{display:grid;gap:7px;min-width:170px;font-size:13px}html body .prov-amounts span{display:flex;justify-content:space-between;gap:16px;white-space:nowrap}html body .prov-amounts .paid{color:#197365}html body .prov-amounts .pending{color:#9b7026}html body #panelProveedores .prov-item{border-radius:12px;border:1px solid #dce6ed;box-shadow:none;padding:16px}html body #panelProveedores .prov-item.seleccionado{background:#e9f1f9;border-color:#7c9ebb}html body :is(#rcR269ProveedorDialog,#rcR269ProveedorCuerpo) .prov-tabla{font-size:14px}html body :is(#rcR269ProveedorDialog,#rcR269ProveedorCuerpo) .prov-tabla th{background:#153858;color:white!important;padding:15px}html body .prov-type{display:block;margin-top:7px;color:#607c90;font-size:12px}html body .prov-row-actions{min-width:180px}html body .prov-row-actions button{display:block;width:100%;margin:5px 0!important}html body .prov-estado-compra.parcial{background:#fff3d9;color:#916315}html body .prov-estado-compra.vencida{background:#fff0ef;color:#b54339}html body #provPagoResumen{background:#edf5fa;padding:14px;border-radius:10px;color:#153858;font-weight:700;margin:0}html body #provCompraPagado{border-color:#77a69c}html body #provCompraForm small{display:block;font-size:12px;line-height:1.5;color:#60768a;font-weight:400;margin-top:5px}html body :is(#rcR269ProveedorDialog,#rcR269ProveedorOverlay) #rcR269ProveedorHead{background:#153858!important;color:white!important}@media(max-width:760px){html body #panelProveedores .prov-obra-activa-kpis{grid-template-columns:1fr}html body #panelProveedores .proveedores-kpis{grid-template-columns:1fr 1fr}html body #panelProveedores .prov-obra-ultima{flex-direction:column;align-items:stretch}html body .prov-amounts{min-width:0}html body .prov-tabla :is(thead){display:none}html body .prov-tabla,html body .prov-tabla tbody,html body .prov-tabla tr,html body .prov-tabla td{display:block;width:100%;box-sizing:border-box}html body .prov-tabla tr{background:white;border:1px solid #dce6ed;border-radius:12px;margin:12px 0;padding:12px}html body .prov-tabla td{padding:8px!important;border:0!important;overflow-wrap:anywhere}html body .prov-tabla td[data-label]::before{content:attr(data-label);display:block;color:#647f91;font-size:11px;margin-bottom:4px}html body .prov-row-actions{min-width:0}}html body #panelProveedores .proveedores-hero{background:#153858!important;color:white!important;box-shadow:none!important}html body #panelProveedores .proveedores-hero .proveedores-kicker{color:#d5e4f0!important}html body #panelProveedores .prov-item.seleccionado{background:#e9f1f9!important;border-color:#7c9ebb!important;box-shadow:inset 4px 0 #153858!important}html body .prov-obra-fijada{padding:12px;border-radius:10px;background:#edf5fa;color:#153858;font-weight:600;font-size:13px;line-height:1.5}/* R467: selector legible también dentro del formulario trasladado al overlay. */html body #provObrasRapidas:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr) !important;gap:12px!important;margin:16px 0!important;padding:2px!important}html body #provObrasRapidas[hidden]{display:none!important}html body #provObrasRapidas button.prov-obra-opcion{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;padding:16px 18px!important;text-align:left!important;background:#fff!important;color:#19364b!important;border:1px solid #bfd0dd!important;border-left:5px solid #53768e!important;border-radius:12px!important;box-shadow:0 2px 5px #1538580a!important;line-height:1.45!important;white-space:normal!important}html body #provObrasRapidas .prov-obra-titulo{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important}html body #provObrasRapidas .prov-obra-titulo strong{font-size:18px!important;color:#153858!important;font-weight:800!important}html body #provObrasRapidas .prov-obra-cliente{display:block!important;font-size:16px!important;font-weight:700!important;color:#19364b!important;overflow-wrap:anywhere!important}html body #provObrasRapidas .prov-obra-detalle{display:block!important;font-size:14px!important;font-weight:500!important;color:#465e70!important;overflow-wrap:anywhere!important}html body #provObrasRapidas .prov-obra-fecha{display:block!important;font-size:13px!important;color:#465e70!important;font-weight:500!important}html body #provObrasRapidas .prov-obra-marca{font-size:12px!important;font-weight:700!important;color:#176b68!important;background:#e4f2ee!important;border-radius:7px!important;padding:4px 8px!important;flex-shrink:0!important}html body #provObrasRapidas button.prov-obra-opcion.seleccionada{background:#eef8f4!important;border:2px solid #176b68!important;border-left:5px solid #176b68!important}html body #provObrasRapidas button.prov-obra-opcion:focus-visible{outline:3px solid #c68d26!important;outline-offset:3px!important}html body .prov-obra-selector-actions{display:flex!important;gap:10px!important;margin-top:12px!important;flex-wrap:wrap!important}html body .prov-obra-selector-actions button{flex:1 1 160px!important;margin:0!important}@media(max-width:600px){html body #provObrasRapidas button.prov-obra-opcion{padding:14px!important}html body #provObrasRapidas .prov-obra-titulo{flex-wrap:wrap!important}}html body #provCompraObra:disabled{opacity:1!important;background:#edf5fa!important;color:#153858!important;cursor:default}
/* R535: el final de las hojas queda dentro del área visible.
   Sin controladores de scroll ni cambios de posición durante los gestos. */@media screen{html body.con-vista-exclusiva #capaVistaExclusiva#capaVistaExclusiva#capaVistaExclusiva#capaVistaExclusiva{height:min(var(--rc-r259-height,100dvh),var(--rc-vv-height,100dvh),100dvh) !important;min-height:0!important;max-height:min(var(--rc-vv-height,100dvh),100dvh) !important;box-sizing:border-box!important}html body.con-vista-exclusiva #contenidoVistaExclusiva#contenidoVistaExclusiva#contenidoVistaExclusiva{min-height:0!important;overflow-y:auto!important;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)) !important;scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)) !important}html body :is(#modalFactura#modalFactura,
#overlayMedicionesRapidas#overlayMedicionesRapidas,
#modalCertNueva#modalCertNueva,
#modalCertPartidas#modalCertPartidas,
#rc126ModalContenidoBackdrop#rc126ModalContenidoBackdrop,
#expHojaOverlay#expHojaOverlay,
#rcCloudModal#rcCloudModal,
#modalMovimientoCuenta#modalMovimientoCuenta,
#rcR269ProveedorOverlay#rcR269ProveedorOverlay,
#rcCambioModal#rcCambioModal,
#rcMaterialesModal#rcMaterialesModal,
#rcSubcontratasModal#rcSubcontratasModal,
#topresMargenDetalle#topresMargenDetalle,
#topresMargenResumen#topresMargenResumen,
#rcPresupuestosFiltrosOverlay#rcPresupuestosFiltrosOverlay,
#rcFacturasFiltrosOverlay#rcFacturasFiltrosOverlay,.cliente-modal-contenido.cliente-modal-contenido,.rc-copy-overlay.rc-copy-overlay,.historial-versiones-overlay.historial-versiones-overlay){height:min(var(--rc-vv-height,100dvh),100dvh) !important;min-height:0!important;max-height:min(var(--rc-vv-height,100dvh),100dvh) !important;box-sizing:border-box!important}html body :is(#modalFactura#modalFactura,
#overlayMedicionesRapidas#overlayMedicionesRapidas,
#modalCertNueva#modalCertNueva,
#modalCertPartidas#modalCertPartidas,
#rc126ModalContenidoBackdrop#rc126ModalContenidoBackdrop,
#expHojaOverlay#expHojaOverlay,
#rcCloudModal#rcCloudModal,
#modalMovimientoCuenta#modalMovimientoCuenta,
#rcR269ProveedorOverlay#rcR269ProveedorOverlay,
#rcCambioModal#rcCambioModal,
#rcMaterialesModal#rcMaterialesModal,
#rcSubcontratasModal#rcSubcontratasModal,
#topresMargenDetalle#topresMargenDetalle,
#topresMargenResumen#topresMargenResumen,
#rcPresupuestosFiltrosOverlay#rcPresupuestosFiltrosOverlay,
#rcFacturasFiltrosOverlay#rcFacturasFiltrosOverlay) :is(.mediciones-flotante-dialog,.cert-modal-dialog,.cuenta-modal-dialog,#rcR269ProveedorDialog,#rcCloudPanel,#rc126ModalContenidoDialog,.rc-cambio-modal-dialog,.mat-dialog,.sub-dialog,.rc-presupuestos-dialog,.rc-facturas-dialog){min-height:0!important;max-height:100%!important;box-sizing:border-box!important}html body :is(#rc126ModalContenidoCuerpo,.mediciones-flotante-cuerpo,.cert-modal-body,.cuenta-modal-cuerpo,#rcR269ProveedorCuerpo,#rcCloudBody,.rc-cambio-modal-cuerpo,.mat-body,#rcPresupuestosFiltrosCuerpo,#rcFacturasFiltrosCuerpo,#rcSubcontratasModal main){min-height:0!important;overflow-y:auto!important;padding-bottom:calc(48px + env(safe-area-inset-bottom,0px)) !important;scroll-padding-bottom:calc(48px + env(safe-area-inset-bottom,0px)) !important}}@media screen and (max-width:700px){/* Estas hojas empiezan debajo de la cabecera: restar también su margen superior. */html body :is(#rc126ModalContenidoBackdrop#rc126ModalContenidoBackdrop,
 #overlayMedicionesRapidas#overlayMedicionesRapidas,#modalFactura#modalFactura,
 #expHojaOverlay#expHojaOverlay,#rcPresupuestosFiltrosOverlay#rcPresupuestosFiltrosOverlay,
 #rcFacturasFiltrosOverlay#rcFacturasFiltrosOverlay,
 .historial-versiones-overlay.historial-versiones-overlay,.rc-copy-overlay.rc-copy-overlay){height:max(1px,calc(min(var(--rc-vv-height,100dvh),100dvh) - max(0px,calc(var(--rc-r175-top,74px) - var(--rc-vv-top,0px))))) !important;max-height:max(1px,calc(min(var(--rc-vv-height,100dvh),100dvh) - max(0px,calc(var(--rc-r175-top,74px) - var(--rc-vv-top,0px))))) !important}}