.servicios-main { max-width: 980px; }
.servicios-hero { padding: 2.5rem; margin-bottom: 2rem; color: #fff; background: linear-gradient(135deg, #111827, #1e3a8a); border-radius: 14px; }
.servicios-etiqueta { display: inline-block; margin-bottom: .75rem; color: #fde68a; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.servicios-hero h2 { max-width: 700px; margin-bottom: .75rem; font-size: clamp(1.8rem, 5vw, 3rem); line-height: 1.1; }
.servicios-hero p { max-width: 720px; color: #dbeafe; }
.servicios-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.servicio-card { display: flex; min-height: 230px; flex-direction: column; padding: 1.5rem; background: #fff; border: 1px solid var(--borde); border-radius: 10px; box-shadow: 0 8px 24px rgba(15, 23, 42, .05); }
.servicio-card h3 { margin: .65rem 0; font-size: 1.35rem; }
.servicio-card p { color: var(--texto-mutado); }
.denuncia-publicada { min-height: 0; margin-top: 1rem; }
.denuncia-publicada small { color: var(--texto-mutado); }
.feed-denuncias-main { max-width: 1040px; }
.filtros-feed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feed-denuncias { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.feed-denuncias .denuncia-publicada { margin-top: 0; }
.feed-vacio { grid-column: 1 / -1; }
.servicio-accion { display: inline-flex; width: fit-content; margin-top: auto; padding: .65rem 1rem; color: #fff; background: #1d4ed8; border-radius: 6px; font-weight: 700; text-decoration: none; }
.servicio-accion:hover { background: #1e3a8a; }
.servicio-badge { width: fit-content; padding: .25rem .55rem; color: #166534; background: #dcfce7; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.servicio-badge--proceso { color: #92400e; background: #fef3c7; }
.servicio-panel { padding: 1.75rem; background: #fff; border: 1px solid var(--borde); border-radius: 10px; }
.servicio-panel h2, .servicio-panel h3 { margin-bottom: .75rem; }
.consulta-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1rem; }
.consulta-grid--reportes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.campo-consulta { display: flex; flex-direction: column; gap: .4rem; }
.campo-consulta--ancho { margin-top: 1rem; }
.campo-consulta label { font-weight: 700; }
.campo-consulta input, .campo-consulta select, .campo-consulta textarea { min-height: 46px; padding: .7rem; border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; }
.campo-consulta input:focus, .campo-consulta select:focus, .campo-consulta textarea:focus { outline: 3px solid #bfdbfe; border-color: #2563eb; }
.ayuda-campo { margin-top: .5rem; color: var(--texto-mutado); font-size: .85rem; }
.turnstile-box { min-height: 66px; margin-top: 1rem; }
.btn-consultar { width: 100%; margin-top: 1.25rem; color: #fff; background: #1d4ed8; border: 0; }
.btn-consultar:hover { background: #1e3a8a; }
.btn-consultar:disabled { cursor: wait; opacity: .7; }
.resultado-consulta { display: none; margin-top: 1.25rem; padding: 1.25rem; border-left: 5px solid #2563eb; background: #eff6ff; border-radius: 6px; }
.resultado-consulta.is-visible { display: block; }
.resultado-consulta[data-state="danger"] { border-color: #dc2626; background: #fef2f2; }
.resultado-consulta[data-state="safe"] { border-color: #16a34a; background: #f0fdf4; }
.resultado-consulta[data-state="error"] { border-color: #d97706; background: #fffbeb; }
.nota-oficial { margin-top: 1rem; padding: 1rem; color: #334155; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; font-size: .9rem; }
.nota-oficial a { color: #1d4ed8; font-weight: 700; }
.estado-api { margin-top: 2rem; color: var(--texto-mutado); font-size: .85rem; }
.reportes-lista { margin-top: 1.5rem; }
.reportes-lista > section + section { margin-top: 1.5rem; }
.reporte-card { margin-top: .75rem; padding: 1rem; border: 1px solid #dbeafe; border-radius: 8px; background: #f8fafc; }
.reporte-card h4 { margin: .6rem 0; }
.servicio-badge--comunidad { color: #1e3a8a; background: #dbeafe; }
.admin-reporte { margin-top: 1rem; }
.admin-reporte textarea { width: 100%; padding: .7rem; border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; }
.acciones-admin { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.acciones-admin button { padding: .55rem .8rem; border: 1px solid #94a3b8; border-radius: 6px; background: #fff; cursor: pointer; }
.denuncias-main { max-width: 820px; }
.cabecera-subtitulo { color: #475569; }
.denuncia-form { display: grid; gap: 1rem; }
.denuncia-form .consulta-grid { margin-top: .25rem; }
.nota-privacidad { padding: 1rem; color: #334155; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 8px; }
.confirmacion-privacidad { display: flex; align-items: flex-start; gap: .65rem; font-weight: 600; }
.confirmacion-privacidad input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; }
.evidencia-campo input[type="file"] { min-height: auto; background: #fff; }
.filtros-admin { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: end; }
.servicio-badge--denuncia { color: #6b21a8; background: #f3e8ff; }
[hidden] { display: none !important; }
.estado-admin-badge { margin-left: .5rem; color: #334155; background: #e2e8f0; }
.evidencia-descarga { display: inline-flex; margin-top: .5rem; color: #1d4ed8; font-weight: 700; }
.alertas-main { max-width: 820px; }
.control-modulo { display: grid; grid-template-columns: 1fr minmax(110px, 180px) auto; gap: 1rem; align-items: center; }
.control-modulo select, .control-modulo button { min-height: 42px; padding: .55rem .75rem; border: 1px solid #94a3b8; border-radius: 6px; background: #fff; font: inherit; }
.control-modulo button { cursor: pointer; font-weight: 700; }
.documento-legal { max-width: 840px; }
.documento-legal h3 { margin-top: 1.5rem; }
.documento-legal li + li { margin-top: .4rem; }
.metricas-operacion { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.metricas-operacion div { display: flex; flex-direction: column; padding: .9rem; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 8px; }
.metricas-operacion strong { font-size: 1.5rem; }
.metricas-operacion span { color: #475569; font-size: .82rem; }
.consultas-hero { margin-top: 1rem; }
.consulta-grid--ubicacion { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; }
.btn-consultar--en-grid { width: auto; min-height: 46px; margin-top: 0; }
.nota-privacidad--consultas { margin-top: 1.25rem; }
.nota-privacidad--consultas p { margin: .4rem 0 0; }
.resultado-directorio { scroll-margin-top: 1rem; margin-top: 2rem; }
.resultado-directorio > h2 { margin-bottom: 1rem; }
.consultas-oficiales-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.consulta-oficial-card { min-height: 220px; padding: 1.25rem; background: #fff; border: 1px solid var(--borde); border-radius: 10px; box-shadow: 0 8px 24px rgba(15, 23, 42, .05); }
.consulta-oficial-card h3 { margin: .7rem 0; }
.consulta-oficial-card--pendiente { background: #fffbeb; border-color: #fde68a; }
.proveedor-oficial + .proveedor-oficial { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #e2e8f0; }
.proveedor-oficial h4 { margin: .75rem 0 .35rem; }
.proveedor-oficial p { margin-bottom: 1rem; color: var(--texto-mutado); }
.acciones-consultas { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.servicio-accion--secundaria { color: #1d4ed8; background: #eff6ff; border: 1px solid #bfdbfe; }
.servicio-accion--secundaria:hover { background: #dbeafe; }
.campos-publicacion-denuncia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; padding: 1rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; }
.campos-publicacion-denuncia label { display: flex; flex-direction: column; gap: .35rem; font-weight: 700; }
.campos-publicacion-denuncia input { min-height: 44px; padding: .65rem; border: 1px solid #94a3b8; border-radius: 6px; font: inherit; }.campos-publicacion-denuncia small { grid-column: 1 / -1; color: #475569; }
.acciones-denuncia-publica { display: flex; flex-wrap: wrap; gap: .7rem; align-items: flex-start; margin-top: 1rem; }
.acciones-denuncia-publica .servicio-accion { margin-top: 0; }
.denuncia-implicado-feed, .denuncia-implicado { padding: .7rem .8rem; color: #172554 !important; background: #eff6ff; border-left: 4px solid #2563eb; border-radius: 4px; }
.compartir-denuncia { position: relative; display: grid; gap: .4rem; }
.boton-compartir-denuncia { min-height: 42px; padding: .65rem 1rem; color: #1d4ed8; background: #fff; border: 1px solid #2563eb; border-radius: 6px; font: inherit; font-weight: 800; cursor: pointer; }
.menu-compartir-denuncia { position: absolute; z-index: 2; top: calc(100% + .35rem); right: 0; display: grid; min-width: 180px; padding: .45rem; background: #fff; border: 1px solid #cbd5e1; border-radius: 8px; box-shadow: 0 12px 28px rgba(15,23,42,.16); }
.menu-compartir-denuncia[hidden] { display: none; }.menu-compartir-denuncia a, .menu-compartir-denuncia button { padding: .6rem; color: #1e3a8a; background: transparent; border: 0; border-radius: 5px; font: inherit; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }.menu-compartir-denuncia a:hover, .menu-compartir-denuncia button:hover { background: #eff6ff; }
.estado-compartir { min-height: 1.1rem; color: #475569; font-size: .8rem; }
.denuncia-detalle-main { max-width: 820px; }.volver-feed { display: inline-flex; margin-bottom: 1rem; color: #1d4ed8; font-weight: 700; text-decoration: none; }
.denuncia-detalle h2 { margin: .9rem 0; font-size: clamp(1.65rem, 5vw, 2.5rem); line-height: 1.15; }.denuncia-descripcion-completa { margin: 1.25rem 0; font-size: 1.05rem; line-height: 1.7; white-space: pre-line; }.nota-denuncia-publica { margin-top: 1rem; }
@media (max-width: 720px) { .servicios-grid, .consulta-grid, .filtros-admin, .filtros-feed, .feed-denuncias, .control-modulo, .metricas-operacion, .consultas-oficiales-grid { grid-template-columns: 1fr; } .servicios-hero { padding: 1.5rem; } .btn-consultar--en-grid { width: 100%; } }
@media (max-width: 720px) { .campos-publicacion-denuncia { grid-template-columns: 1fr; }.campos-publicacion-denuncia small { grid-column: auto; }.menu-compartir-denuncia { right: auto; left: 0; } }
