:root {
    --building-color: #FF9800;
    --house-color: #0288D1;
    --shop-color: #7B1FA2;
    --warehouse-color: #558B2F;
}

#mapaActividades{
    /*position: relative;
    overflow: hidden;*/
    height: 800px;
}

.visor-mapa-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin: 0 auto;
    max-width: 1600px;
    position: relative;
    width: 100%;
}

.mapa-contenedor { position: relative; }

.control-capas {
    left: 14px;
    position: absolute;
    top: 14px;
    z-index: 2;
}

.control-capas summary {
    background: linear-gradient(135deg, rgba(255, 255, 255, .74), rgba(219, 239, 250, .52));
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 10px;
    box-shadow: 0 7px 20px rgba(18, 52, 82, .2), inset 0 1px 0 rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
    color: #17324d;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
    padding: 10px 12px;
}

.control-capas summary::-webkit-details-marker { display: none; }
.control-capas summary::before { content: "▱"; margin-right: 7px; }

.lista-capas {
    background: linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(219, 239, 250, .6));
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(18, 52, 82, .22), inset 0 1px 0 rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: blur(22px) saturate(150%);
    backdrop-filter: blur(22px) saturate(150%);
    max-height: 280px;
    overflow: auto;
    padding: 8px 12px;
    text-align: left;
    width: 245px;
}

.lista-capas p { color: #52606d; font-size: 12px; margin: 4px 0; }
.lista-capas label { align-items: center; display: flex; font-size: 13px; gap: 8px; margin: 8px 0; min-height: 22px; }
.lista-capas input[type="checkbox"] { appearance: none; background: #4b5563; border: 0; border-radius: 999px; cursor: pointer; flex: 0 0 auto; height: 20px; margin: 0; position: relative; transition: background .18s ease, opacity .18s ease; width: 36px; }
.lista-capas input[type="checkbox"]::before { background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,.26); content: ""; height: 16px; left: 2px; position: absolute; top: 2px; transition: transform .18s ease; width: 16px; }
.lista-capas input[type="checkbox"]:checked { background: #168047; }
.lista-capas input[type="checkbox"]:checked::before { transform: translateX(16px); }
.lista-capas input[type="checkbox"]:focus-visible { box-shadow: 0 0 0 3px rgba(22,128,71,.22); outline: 0; }
.lista-capas input[type="checkbox"]:disabled { cursor: wait; opacity: .55; }
.lista-capas .capa-pendiente, .lista-capas .capa-estado { color: #6b7280; font-size: 11px; margin-left: auto; text-align: right; }
.lista-capas .capa-estado.error { color: #b42318; }
.selector-tipo-mapa { border-bottom:1px solid rgba(44,84,113,.18); margin:0 0 8px; padding:0 0 9px; }
.selector-tipo-mapa > small { color:#42627d; display:block; font-size:11px; font-weight:800; letter-spacing:.03em; margin:0 0 6px; text-transform:uppercase; }
.acciones-tipo-mapa { display:grid; gap:6px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.acciones-tipo-mapa button { background:rgba(255,255,255,.42); border:1px solid rgba(110,151,178,.45); border-radius:7px; color:#1d4564; cursor:pointer; font:inherit; font-size:12px; font-weight:750; min-height:32px; padding:6px 8px; }
.acciones-tipo-mapa button[aria-pressed="true"] { background:linear-gradient(135deg,rgba(13,103,159,.9),rgba(9,124,69,.84)); border-color:rgba(255,255,255,.72); box-shadow:0 4px 10px rgba(13,72,111,.22), inset 0 1px 0 rgba(255,255,255,.28); color:#fff; }
.acciones-tipo-mapa button:hover { background:rgba(255,255,255,.72); }
.acciones-tipo-mapa button[aria-pressed="true"]:hover { background:linear-gradient(135deg,rgba(11,91,142,.96),rgba(7,108,59,.9)); }

.etiqueta-capa-apoyo {
    background: rgba(15, 23, 42, .94);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 5px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .35);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    max-width: 210px;
    overflow: hidden;
    padding: 5px 8px;
    pointer-events: none;
    position: absolute;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 4;
}
.etiqueta-capa-apoyo.etiqueta-ddv-kmz { max-height:min(52vh,420px); max-width:min(420px,calc(100vw - 32px)); overflow:auto; text-overflow:clip; white-space:normal; }
.etiqueta-capa-apoyo.etiqueta-ddv-kmz strong { display:block; font-size:12px; line-height:1.3; }
.etiqueta-capa-apoyo.etiqueta-ddv-kmz span { color:rgba(255,255,255,.82); display:block; font-size:11px; font-weight:500; line-height:1.35; margin-top:3px; }
.etiqueta-capa-apoyo.etiqueta-ddv-kmz .etiqueta-kmz-descripcion table { border-collapse:collapse; margin-top:6px; width:100%; }
.etiqueta-capa-apoyo.etiqueta-ddv-kmz .etiqueta-kmz-descripcion th,
.etiqueta-capa-apoyo.etiqueta-ddv-kmz .etiqueta-kmz-descripcion td { border-bottom:1px solid rgba(255,255,255,.18); padding:3px 5px; text-align:left; vertical-align:top; }
.etiqueta-capa-apoyo.etiqueta-ddv-kmz .etiqueta-kmz-descripcion tr:last-child td { border-bottom:0; }


.expediente-punto {
    background: #fff;
    border: 1px solid #dce3eb;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(25, 45, 72, .22);
    max-height: calc(100% - 24px);
    overflow: auto;
    position: absolute;
    right: 12px;
    top: 12px;
    width: min(470px, calc(100% - 24px));
    z-index: 3;
}

.expediente-punto header,
.visor-documento header,
.encabezado-resumen {
    align-items: flex-start;
    border-bottom: 1px solid #e6ebf0;
    display: flex;
    justify-content: space-between;
    padding: 16px 18px;
}

.expediente-punto h2 { color: #102a43; font-size: 19px; margin: 3px 0 0; }
.acciones-resumen-lineas { align-items: center; display: flex; gap: 9px; }
.buscador-resumen-lineas input { border: 1px solid #c7d5e2; border-radius: 7px; color: #17324d; font-size: 13px; height: 34px; padding: 7px 10px; width: 235px; }
.buscador-resumen-lineas input:focus { border-color: #2b6cb0; box-shadow: 0 0 0 3px rgba(43, 108, 176, .16); outline: 0; }
@media (max-width: 600px) {
    .encabezado-resumen { flex-wrap: wrap; gap: 4px 10px; }
    .acciones-resumen-lineas { justify-content: space-between; width: 100%; }
    .buscador-resumen-lineas { flex: 1; }
    .buscador-resumen-lineas input { width: 100%; }
}
.eyebrow { color: #52708f; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cerrar-expediente, .visor-documento header button { background: transparent; border: 0; color: #52606d; cursor: pointer; font-size: 28px; line-height: 1; }
.acciones-expediente-movil { align-items:center; display:flex; gap:6px; }
.alternar-expediente { display:none; }
.contenido-expediente { padding: 16px 18px 20px; text-align: left; }
.datos-punto { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.dato-punto { color: #52606d; font-size: 12px; }
.dato-punto-descripcion { grid-column: 1 / -1; }
.dato-punto strong { color: #102a43; display: block; font-size: 14px; margin-top: 2px; }
.badges-punto { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.badge-punto { border: 1px solid #d7e0e9; border-radius: 999px; color: #284760; font-size: 12px; padding: 5px 9px; }
.badge-punto.acta { background: #ecfdf3; border-color: #9cd7ad; color: #176638; cursor: pointer; }
.badge-punto.alerta-dato { background: #fff2f2; border-color: #e5a1a1; color: #8b1e1e; }
.ficha-tecnica-punto { border: 1px solid #b7d2e0; border-radius: 7px; margin: 12px 0; overflow: hidden; padding: 0; }.ficha-tecnica-punto summary { background: #dceff7; color: #173f59; cursor: pointer; font-size: 12px; font-weight: 800; padding: 10px; }.ficha-tecnica-punto[open] summary { border-bottom: 1px solid #c7dfe9; }.datos-tecnicos { display: grid; gap: 9px; grid-template-columns: 1fr 1fr; padding: 11px 10px; }.datos-tecnicos div { color: #65798d; font-size: 11px; }.datos-tecnicos strong { color: #233e59; display:block; font-size: 12px; margin-top: 2px; }.origen-ficha { color: #53718a; font-size: 10px; font-weight: 800; margin-left: 5px; white-space: nowrap; }.leyenda-origen-ficha { border-top: 1px solid #d5e5ed; color: #587187; font-size: 10px; margin: 0; padding: 7px 10px 9px; }.leyenda-origen-ficha b { color: #294965; }
.ficha-tecnica-punto summary::after, .grupo-expediente summary::after { color:#08783f; content:"⌄"; float:right; font-size:16px; }.ficha-tecnica-punto[open] summary::after, .grupo-expediente[open] summary::after { content:"⌃"; }
.perfil-tecnico-punto { border:1px solid #b7d2e0; border-radius:7px; margin:12px 0; overflow:hidden; }.perfil-tecnico-punto summary { background:#eaf2f6; color:#173f59; cursor:pointer; font-size:12px; font-weight:800; padding:10px; }.perfil-tecnico-punto summary::after { color:#08783f; content:"⌄"; float:right; font-size:16px; }.perfil-tecnico-punto[open] summary { border-bottom:1px solid #c7dfe9; }.perfil-tecnico-punto[open] summary::after { content:"⌃"; }.contenido-perfil-indicaciones { padding:10px; }.perfil-indicacion-elemento { border:1px solid #d7e5ed; border-radius:7px; margin:0 0 10px; overflow:hidden; padding:8px; }.perfil-indicacion-elemento:last-child { margin-bottom:0; }.perfil-indicacion-encabezado { align-items:center; color:#294965; display:flex; font-size:12px; justify-content:space-between; gap:8px; margin-bottom:5px; }.perfil-indicacion-encabezado strong { font-size:13px; }.perfil-indicacion-encabezado span { color:#61798d; font-size:11px; white-space:nowrap; }.lienzo-perfil-indicacion { height:clamp(190px, 28vw, 250px); max-height:250px; min-height:190px; position:relative; }.lienzo-perfil-indicacion canvas { height:100% !important; width:100% !important; }.tooltip-perfil-indicacion { background:rgba(17,45,65,.94); border:1px solid rgba(184,219,237,.72); border-radius:6px; box-shadow:0 5px 16px rgba(19,50,71,.24); color:#fff; font-size:10px; line-height:1.35; max-width:230px; padding:7px 8px; pointer-events:none; position:absolute; z-index:2; }.tooltip-perfil-indicacion strong, .tooltip-perfil-indicacion span { display:block; }.tooltip-perfil-indicacion strong { font-size:11px; margin-bottom:2px; }.navegador-perfil-indicacion { background:linear-gradient(90deg,#dbeaf1 0%,#edf4f7 100%); border:1px solid #b8d2df; border-radius:999px; cursor:ew-resize; height:15px; margin:12px 4px 3px; position:relative; touch-action:none; user-select:none; }.ventana-navegador-perfil { background:rgba(22,128,71,.24); border:1px solid #168047; border-radius:999px; box-sizing:border-box; height:100%; left:0; min-width:2.1%; position:absolute; top:0; width:100%; }.control-navegador-perfil { background:#168047; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #168047; height:12px; position:absolute; top:50%; transform:translate(-50%,-50%); width:12px; }.control-navegador-perfil.inicio { left:0; }.control-navegador-perfil.fin { left:100%; }.vacio-perfil-indicaciones { color:#647a8e; font-size:12px; padding:4px 0; }
.perfil-indicacion-acciones { align-items:center; display:flex; gap:7px; }.control-soldaduras-perfil { background:#fff; border:1px solid #9ebcca; border-radius:999px; color:#24506c; cursor:pointer; font-size:10px; font-weight:700; padding:4px 7px; white-space:nowrap; }.control-soldaduras-perfil:hover { background:#e5f0f5; }
.leyenda-zonas-perfil { align-items:center; display:flex; flex-wrap:wrap; gap:8px 14px; margin:2px 0 8px; padding:0 2px; }.leyenda-zona { align-items:center; color:#526f85; display:inline-flex; font-size:10px; font-weight:700; gap:5px; }.leyenda-zona i { background:var(--color-zona); border:1px solid rgba(80,110,130,.55); border-radius:3px; display:inline-block; height:10px; width:18px; }.leyenda-zona-enterrado i { background:repeating-linear-gradient(135deg,var(--color-zona) 0 2px,rgba(255,255,255,.45) 2px 4px); }.leyenda-zona-agua i { background:repeating-linear-gradient(0deg,var(--color-zona) 0 2px,rgba(255,255,255,.45) 2px 4px); }.leyenda-zona-otro i { background-image:radial-gradient(var(--color-zona) 1px,transparent 1.3px); background-size:5px 5px; }
.lienzo-resumen-indicaciones-linea { height:clamp(170px, 22vw, 220px); max-height:220px; min-height:170px; position:relative; }.lienzo-resumen-indicaciones-linea canvas { height:100% !important; width:100% !important; }
.tabla-resumen-indicaciones-linea { border:1px solid #d7e5ed; border-radius:7px; margin-top:10px; overflow:hidden; }.tabla-resumen-indicaciones-linea table { border-collapse:collapse; font-size:11px; width:100%; }.tabla-resumen-indicaciones-linea th, .tabla-resumen-indicaciones-linea td { border-bottom:1px solid #e2ebf0; color:#334e68; padding:8px 9px; text-align:left; }.tabla-resumen-indicaciones-linea thead th { background:#edf4f7; padding:0; }.tabla-resumen-indicaciones-linea thead button { background:transparent; border:0; color:#294965; cursor:pointer; font:inherit; font-size:10px; font-weight:800; padding:8px 9px; text-align:left; text-transform:uppercase; width:100%; }.tabla-resumen-indicaciones-linea thead button:hover { background:#dbeaf1; }.tabla-resumen-indicaciones-linea tbody tr:nth-child(even) { background:#f9fbfc; }.tabla-resumen-indicaciones-linea tfoot th { background:#e8f0f5; border-bottom:0; color:#173f59; font-weight:800; }
.grupo-expediente { border:1px solid #dbe5ed; border-radius:7px; margin:8px 0; }.grupo-expediente summary { color:#294965; cursor:pointer; font-size:12px; font-weight:750; list-style:none; padding:10px; }.grupo-expediente summary::-webkit-details-marker {display:none;}.grupo-expediente .lista-evidencia, .grupo-expediente .lista-indicaciones { padding:0 10px 8px; }
.cronologia-actividades { border-left: 2px solid #b8dcc6; list-style: none; margin: 0 0 12px 7px; padding: 0 0 0 14px; }.cronologia-actividades li { margin: 0 0 10px; position: relative; }.cronologia-actividades li::before { background: #168047; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #168047; content: ""; height: 8px; left: -20px; position: absolute; top: 3px; width: 8px; }.cronologia-actividades strong { color:#244361; display:block; font-size:12px; }.cronologia-actividades span { color:#647a8e; display:block; font-size:11px; margin-top:2px; }
.tabs-expediente { border-bottom: 1px solid #dfe6ed; display: flex; gap: 13px; margin: 18px 0 12px; overflow-x: auto; }
.tabs-expediente button { background: transparent; border: 0; border-bottom: 3px solid transparent; color: #52606d; cursor: pointer; font-size: 13px; padding: 8px 2px; white-space: nowrap; }
.tabs-expediente button.activa { border-color: #168047; color: #12683a; font-weight: 700; }
.tira-fotos { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 7px; }
.foto-cronologia { background: #f1f5f8; border: 0; border-radius: 7px; cursor: pointer; flex: 0 0 270px; overflow: hidden; padding: 0; text-align: left; }
.foto-cronologia img { display: block; height: 184px; object-fit: cover; width: 100%; }
.foto-cronologia span { color: #41566b; display: block; font-size: 11px; line-height: 1.25; padding: 6px; }
.lista-evidencia, .lista-indicaciones { list-style: none; margin: 0; padding: 0; }
.lista-evidencia li, .lista-indicaciones li { align-items: center; border-bottom: 1px solid #e5ebf0; display: flex; gap: 9px; justify-content: space-between; padding: 10px 2px; }
.lista-evidencia button, .lista-indicaciones button { background: transparent; border: 0; color: #167245; cursor: pointer; font-size: 12px; font-weight: 700; padding: 0; text-align: right; }.datos-documento { display: grid; gap: 3px; min-width: 0; }.datos-documento strong { color: #294965; font-size: 12px; }.datos-documento span { color: #5a7185; font-size: 11px; overflow-wrap: anywhere; }
.orden-servicio-enlace { background: transparent; border: 0; color: #08783f; cursor: pointer; font: inherit; font-size: 11px; font-weight: 750; margin-top: 4px; padding: 0; text-decoration: underline; }
.lista-indicaciones .indicacion-con-evidencia { align-items: stretch; display: block; }
.indicacion-con-evidencia > div:first-child { display: flex; justify-content: space-between; gap: 9px; }
.galeria-indicaciones { display: flex; gap: 7px; margin-top: 8px; overflow-x: auto; padding-bottom: 2px; }
.miniatura-indicacion { border: 1px solid #d7e2eb !important; border-radius: 7px !important; flex: 0 0 164px; height: 132px; overflow: hidden; padding: 0 !important; }
.miniatura-indicacion img { display: block; height: 100%; object-fit: cover; width: 100%; }
.tabla-indicaciones-responsiva { border: 1px solid #dbe5ed; border-radius: 7px; overflow: hidden; }.tabla-indicaciones { border-collapse: collapse; font-size: 11px; table-layout: fixed; width: 100%; }.tabla-indicaciones th { background: #edf4f7; color: #294965; font-size: 10px; letter-spacing: .02em; padding: 0; text-transform: uppercase; white-space: nowrap; }.tabla-indicaciones th button { background: transparent; border: 0; color: inherit; cursor: pointer; font: inherit; font-weight: 800; padding: 9px 8px; text-align: left; width: 100%; }.tabla-indicaciones th button:hover { background: #dbeaf1; }.tabla-indicaciones th, .tabla-indicaciones td { border-bottom: 1px solid #e2ebf0; padding: 9px 8px; text-align: left; vertical-align: top; }.tabla-indicaciones th { padding: 0; }.tabla-indicaciones th:nth-child(2), .tabla-indicaciones td:nth-child(2) { width: 21%; }.tabla-indicaciones th:nth-child(3), .tabla-indicaciones td:nth-child(3) { width: 18%; }.tabla-indicaciones th:nth-child(4), .tabla-indicaciones td:nth-child(4) { width: 14%; }.tabla-indicaciones th:nth-child(5), .tabla-indicaciones td:nth-child(5) { width: auto; }.tabla-indicaciones td { color: #334e68; overflow-wrap: anywhere; }.tabla-indicaciones tbody tr:nth-child(even) { background: #f9fbfc; }.tabla-indicaciones .fila-indicacion { cursor: pointer; }.tabla-indicaciones .fila-indicacion:hover > td { background: #dce8ef; }.columna-expandir { text-align: center !important; width: 42px; }.expandir-indicacion { align-items: center; background: #0b77be; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #8cb4cf; color: #fff; cursor: pointer; display: inline-flex; font-size: 17px; font-weight: 800; height: 20px; justify-content: center; line-height: 1; padding: 0 0 2px; width: 20px; }.expandir-indicacion[aria-expanded="true"] { background: #d83745; }.fila-detalle-indicacion td { background: #e8f0f5; padding: 0; }.datos-indicacion-expandida { display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 10px 12px 12px 52px; }.datos-indicacion-expandida div { border-top: 1px solid #ccdce6; padding: 7px 10px 5px 0; }.datos-indicacion-expandida dt { color: #526f85; font-size: 10px; font-weight: 800; }.datos-indicacion-expandida dd { color: #203e59; font-size: 12px; font-weight: 700; margin: 2px 0 0; }.grupo-fotos-elemento { margin-bottom: 12px; }.grupo-foto-indicacion { margin: 8px 10px; }.resumen-indicacion-critica { border-left: 4px solid var(--color-criticidad); color: var(--color-criticidad) !important; }.grupo-foto-indicacion .galeria-indicaciones { padding: 0 10px 10px; }
.indicador-perdida { background: #fff; font-weight: 800; white-space: nowrap; }
.vacio-expediente { color: #63778a; font-size: 13px; margin: 12px 0; }

.resumen-lineas { background: #fff; border: 1px solid #dce3eb; border-radius: 10px; margin: 14px auto; max-width: 1600px; text-align: left; width: 100%; }
.detalle-resumen-lineas { overflow: hidden; }
.encabezado-resumen { align-items: center; cursor: pointer; justify-content: flex-start; list-style: none; }
.encabezado-resumen::-webkit-details-marker { display: none; }
.titulo-resumen-lineas { color: #102a43; font-size: 19px; font-weight: 800; margin-right: 10px; }
.mensaje-resumen-lineas { color: #ffe08a; font-size: 13px; font-weight: 800; }
.indicador-despliegue-resumen { border: solid currentColor; border-width: 0 2px 2px 0; color: #08783f; height: 8px; margin-left: auto; transform: rotate(45deg); transition: transform .18s ease; width: 8px; }
.detalle-resumen-lineas[open] .indicador-despliegue-resumen { transform: rotate(225deg); }
.contenido-resumen-lineas { border-top: 1px solid rgba(132,194,221,.44); }
.acciones-resumen-lineas { padding: 12px 18px 0; }
.sgac-app.resumen-lineas-abierto .control-capas,
.sgac-app.resumen-lineas-abierto .leyenda-mapa,
.sgac-app.resumen-lineas-abierto .estado-marcadores { pointer-events:none; visibility:hidden; }

@media (max-width: 480px) {
    .titulo-resumen-lineas { font-size: 16px; }
    .mensaje-resumen-lineas { font-size: 12px; }
}
.tabla-responsiva { overflow-x: auto; }
.tabla-lineas { border-collapse: collapse; min-width: 650px; width: 100%; }
.tabla-lineas th { background: #f6f8fa; color: #52606d; font-size: 12px; text-transform: uppercase; }
.tabla-lineas th, .tabla-lineas td { border-top: 1px solid #e5ebf0; padding: 11px 16px; }
.tabla-lineas tbody tr { cursor: pointer; }
.tabla-lineas tbody tr:hover { background: #f1f8f4; }
.tabla-lineas tbody tr.linea-activa { background: #e9f7ee; }
.indicador-critico { border: 1px solid currentColor; border-radius: 999px; display: inline-block; font-size: 12px; padding: 3px 7px; }

.visor-documento,
.visor-fotos,
.visor-video {
    background: linear-gradient(135deg, rgba(255, 255, 255, .84), rgba(225, 240, 251, .66));
    border: 1px solid rgba(255, 255, 255, .78);
    box-shadow: 0 24px 72px rgba(13, 43, 74, .28), inset 0 1px 0 rgba(255, 255, 255, .92);
    -webkit-backdrop-filter: blur(26px) saturate(155%);
    backdrop-filter: blur(26px) saturate(155%);
    overflow: hidden;
}
.visor-perfil-tecnico { background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(211,233,245,.88)); border:1px solid rgba(255,255,255,.88); border-radius:18px; box-shadow:0 24px 72px rgba(13,43,74,.3), inset 0 1px 0 rgba(255,255,255,.96); color:#173f59; max-height:94dvh; overflow:auto; padding:0; width:min(1440px,96vw); }
.visor-perfil-tecnico::backdrop { background:rgba(33,78,118,.2); -webkit-backdrop-filter:blur(8px) saturate(115%); backdrop-filter:blur(8px) saturate(115%); }
.visor-perfil-tecnico header { align-items:center; background:rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.78); display:flex; justify-content:space-between; padding:13px 18px; }
.visor-perfil-tecnico header strong { display:block; font-size:15px; }.visor-perfil-tecnico header small { color:#52708a; display:block; font-size:12px; margin-top:2px; }
.visor-perfil-tecnico header button { align-items:center; background:rgba(255,255,255,.5); border:1px solid rgba(255,255,255,.76); border-radius:50%; color:#315b75; cursor:pointer; display:flex; font-size:24px; height:32px; justify-content:center; line-height:1; width:32px; }
.contenido-visor-perfil-tecnico { padding:14px 16px 16px; }.perfil-ampliado { margin:0; padding:12px; }.perfil-ampliado .lienzo-perfil-indicacion { height:clamp(360px,68dvh,740px); max-height:none; }.perfil-ampliado .navegador-perfil-indicacion { margin-top:16px; }.perfil-ampliado .ampliar-perfil { display:none; }
.visor-documento { border-radius: 16px; height: min(84vh, 900px); padding: 0; width: min(900px, 94vw); }
.visor-documento::backdrop,
.visor-fotos::backdrop,
.visor-video::backdrop {
    background: rgba(33, 78, 118, .16);
    -webkit-backdrop-filter: blur(8px) saturate(115%);
    backdrop-filter: blur(8px) saturate(115%);
}
.visor-documento header { border-bottom: 1px solid rgba(255, 255, 255, .72); padding: 15px 18px; }
.visor-documento header button,
.visor-fotos header button,
.visor-video header button {
    align-items: center;
    background: rgba(255, 255, 255, .5);
    border: 1px solid rgba(255, 255, 255, .76);
    border-radius: 50%;
    color: #183a58;
    cursor: pointer;
    display: inline-flex;
    font-size: 25px;
    height: 32px;
    justify-content: center;
    line-height: 1;
    padding: 0 0 3px;
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 32px;
}
.visor-documento header button:hover,
.visor-fotos header button:hover,
.visor-video header button:hover {
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 5px 14px rgba(29, 67, 103, .18);
    transform: scale(1.05);
}
.visor-documento iframe { background: rgba(255, 255, 255, .66); border: 0; height: calc(100% - 114px); width: 100%; }
.visor-documento footer { background: rgba(255, 255, 255, .26); border-top: 1px solid rgba(255, 255, 255, .68); padding: 11px 18px; text-align: right; }
.visor-documento footer a { color: #076d3b; font-size: 13px; font-weight: 750; }
.visor-video { border-radius:16px; max-height:90vh; padding:0; width:min(1100px,94vw); }.visor-video header { align-items:center; border-bottom:1px solid rgba(255,255,255,.72); display:flex; justify-content:space-between; padding:15px 18px; }.visor-video video { background:#101c24; display:block; height:auto; max-height:76vh; width:100%; }
.visor-fotos { border-radius: 18px; color: #143653; max-height: 92vh; padding: 0; width: min(1220px, 96vw); }
.visor-fotos header { align-items: center; background: rgba(255, 255, 255, .18); border-bottom: 1px solid rgba(255, 255, 255, .72); display: flex; justify-content: space-between; padding: 13px 18px; }
.visor-fotos header strong { display: block; font-size: 15px; }
.visor-fotos header small { color: #52708a; display: block; font-size: 12px; margin-top: 2px; }
.cuerpo-visor-fotos { align-items: center; background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .28), rgba(176, 209, 234, .12)); display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; min-height: min(78vh, 820px); }
.cuerpo-visor-fotos figure { align-items: center; display: flex; flex-direction: column; justify-content: center; margin: 0; max-height: 78vh; min-width: 0; padding: 16px; }
.cuerpo-visor-fotos img { box-shadow: 0 14px 34px rgba(17, 52, 81, .24); max-height: calc(78vh - 76px); max-width: 100%; object-fit: contain; }
.cuerpo-visor-fotos figcaption { background: rgba(255, 255, 255, .48); border: 1px solid rgba(255, 255, 255, .68); border-radius: 999px; color: #183d5b; font-size: 13px; margin-top: 10px; max-width: min(100%, 780px); padding: 6px 12px; text-align: center; }
.navegacion-foto { align-items: center; background: rgba(255, 255, 255, .58); border: 1px solid rgba(255, 255, 255, .78); border-radius: 50%; box-shadow: 0 7px 18px rgba(25, 60, 91, .16); color: #123957; cursor: pointer; display: flex; font-size: 42px; height: 46px; justify-content: center; line-height: 1; margin: auto; padding: 0 0 5px; transition: background .18s ease, transform .18s ease; width: 46px; }
.navegacion-foto:hover { background: rgba(255, 255, 255, .88); transform: scale(1.07); }.navegacion-foto[hidden] { display:none; }

@media (max-width: 700px) {
    #mapaActividades { height: 660px; }
    .expediente-punto { bottom: 10px; max-height: 70%; top: auto; }
    .datos-punto { grid-template-columns: 1fr; }
    .control-capas { left: 8px; top: 8px; }
}

.filtros-mapa {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    margin: 0 auto 14px;
    max-width: 1500px;
    text-align: left;
    width: 100%;
}

.filtros-mapa label {
    color: #31445d;
    display: flex;
    flex-direction: column;
    font-size: 13px;
    font-weight: 600;
    gap: 4px;
}

.filtros-mapa select,
.filtros-mapa input[type="search"] {
    border: 1px solid #ccd6e0;
    border-radius: 4px;
    min-height: 36px;
    padding: 6px 8px;
}

.filtros-mapa .buscador-mapa {
    grid-column: span 2;
}

.filtros-mapa .incluir-sin-informacion {
    align-items: center;
    flex-direction: row;
    font-weight: 400;
    min-height: 36px;
}

.estado-consulta {
    align-self: center;
    color: #52606d;
    font-size: 13px;
}

.marcador-cluster {
    align-items: center;
    background: #123b63;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .42);
    color: #fff;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    height: 38px;
    justify-content: center;
    min-width: 38px;
    padding: 4px;
}

@media (max-width: 980px) {
    .filtros-mapa {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }

    .filtros-mapa .buscador-mapa {
        grid-column: span 2;
    }
}

.configuracion-mapa {
    margin: 0 auto 12px;
    max-width: 1180px;
    padding: 10px 14px;
    text-align: left;
    width: 100%;
}

.configuracion-mapa summary {
    color: #12305a;
    cursor: pointer;
    font-weight: 700;
}

.configuracion-mapa p {
    color: #52606d;
    font-size: 13px;
    margin: 8px 0;
}

.configuracion-criticidad {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.configuracion-criticidad label {
    align-items: center;
    background: #fff;
    border: 1px solid #d9e1ea;
    border-radius: 6px;
    display: flex;
    font-size: 13px;
    gap: 5px;
    padding: 6px 8px;
}

.configuracion-criticidad input[type="number"] {
    width: 62px;
}

.configuracion-criticidad input[type="color"] {
    border: 0;
    height: 24px;
    padding: 0;
    width: 28px;
}

.mensaje-criticidad.error {
    color: #b42318;
}

.marcador-actividad {
    background: #fff;
    border: 3px solid #16a34a;
    border-radius: 50%;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .38);
    display: grid;
    height: 34px;
    place-items: center;
    width: 34px;
}

.marcador-actividad img {
    height: 25px;
    max-width: 25px;
    object-fit: contain;
}

/*
 * Property styles in unhighlighted state.
 */
.propiedades {
    align-items: center;
    background-color: #FFFFFF;
    color: #263238;
    display: flex;
    font-size: 14px;
    gap: 15px;
    /*height: 30px;*/
    justify-content: center;
    padding: 4px;
    position: relative;
    transition: all 0.3s ease-out;
    /*width: 30px;*/
}

.propiedades::after {
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    /*border-top: 9px solid #FFFFFF;*/
    content: "";
    /*height: 0;*/
    left: 50%;
    position: absolute;
    top: 95%;
    transform: translate(-50%, 0);
    transition: all 0.3s ease-out;
    /*width: 0;*/
    z-index: 1;
}


.propiedades .icon {
    align-items: center;
    display: flex;
    justify-content: center;
    color: #FFFFFF;
}

.propiedades .icon img {
    height: 70px;
    width: auto;
}

.propiedades .detalles {
    /*display: none;*/
    flex-direction: column;
    flex: 1;
}

.propiedades .ducto {
    font-size: 16px;
    font-weight: bold;
}

.propiedades .contrato-placemark {
    color: #0b5f92;
    font-size: 13px;
    font-weight: 800;
    margin-top: 3px;
}

.propiedades .kilometro {
    color: #000099;
    font-size: 15px;
    margin-bottom: 10px;
    margin-top: 5px;
}

.propiedades .ubicacion {
    color: #9E9E9E;
    font-size: 15px;
    margin-bottom: 10px;
    margin-top: 5px;
}

.propiedades .ubicacion>i {
    font-size: 15px !important;
}

.propiedades .caracteristicas {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.propiedades .caracteristicas>div {
    align-items: center;
    background: #F5F5F5;
    border-radius: 5px;
    border: 1px solid #ccc;
    display: flex;
    font-size: 10px;
    gap: 5px;
    padding: 5px;
}

.propiedades .caracteristicas>div p {
    margin: 0px;
}

/*
 * Property styles in highlighted state.
 */
.propiedades.highlight {
    background-color: #FFFFFF;
    border-radius: 8px;
    box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
    /*height: 80px;*/
    padding: 8px 15px;
    width: auto;
}

/* =============================================================
   Interfaz SGAC. Aislada del BackEnd heredado.
   ============================================================= */
body.sgac-visor { background: #f3f6f9; color: #102a43; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; min-height: 100dvh; }
body:has(.sgac-login) { background: #003b8f; min-height: 100vh; }
.sgac-login { align-items: center; background: linear-gradient(135deg, #003b8f 0%, #006cae 51%, #00a8e0 140%); display: flex; isolation: isolate; justify-content: center; min-height: 100vh; overflow: hidden; padding: 32px 18px; position: relative; transition: opacity .26s ease, transform .26s ease; width: 100%; }
.sgac-login::before, .sgac-login::after { border-radius: 999px; content: ''; filter: blur(4px); opacity: .72; pointer-events: none; position: absolute; z-index: -1; }
.sgac-login::before { background: radial-gradient(circle, rgba(0, 168, 224, .57), rgba(0, 168, 224, 0) 68%); height: min(68vw, 760px); right: -17%; top: -33%; width: min(68vw, 760px); }
.sgac-login::after { background: radial-gradient(circle, rgba(148, 213, 0, .24), rgba(148, 213, 0, 0) 68%); bottom: -40%; height: min(72vw, 820px); left: -24%; width: min(72vw, 820px); }
.sgac-login__ambient { background-image: linear-gradient(rgba(203, 245, 239, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(203, 245, 239, .055) 1px, transparent 1px); background-size: 42px 42px; inset: 0; mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 75%); pointer-events: none; position: absolute; z-index: -1; }
.tarjeta-login { -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); background: linear-gradient(145deg, rgba(249, 255, 255, .94), rgba(224, 245, 253, .78)); border: 1px solid rgba(236, 255, 255, .8); border-radius: 24px; box-shadow: 0 26px 70px rgba(0, 42, 99, .32), inset 0 1px 0 rgba(255,255,255,.88); display: flex; flex-direction: column; max-width: 462px; overflow: hidden; padding: 34px; position: relative; width: 100%; }
.tarjeta-login::before { background: linear-gradient(90deg, #94d500, #00a8e0, #003b8f); content: ''; height: 4px; inset: 0 0 auto; position: absolute; }
.tarjeta-login__encabezado { border-bottom: 1px solid rgba(24, 87, 114, .14); margin-bottom: 22px; padding-bottom: 22px; }
.tarjeta-login__marca { align-items: center; display: flex; justify-content: space-between; }
.tarjeta-login__marca img { height: 43px; object-fit: contain; object-position: left center; width: 126px; }
.tarjeta-login__insignia { background: rgba(0, 168, 224, .10); border: 1px solid rgba(0, 106, 174, .25); border-radius: 999px; color: #006cae; font-size: 10px; font-weight: 800; letter-spacing: .12em; padding: 6px 9px; }
.tarjeta-login__eyebrow { color: #006cae; font-size: 11px; font-weight: 800; letter-spacing: .08em; margin: 22px 0 5px; text-transform: uppercase; }
.tarjeta-login h1 { color: #003b8f; font-size: 28px; font-weight: 800; letter-spacing: -.035em; line-height: 1.1; margin: 0; }
.tarjeta-login__descripcion { color: #72777b; font-size: 13px; line-height: 1.55; margin: 10px 0 0; }
.tarjeta-login form { display: grid; gap: 16px; }
.tarjeta-login label { color: #60666b; display: grid; font-size: 12px; font-weight: 800; gap: 7px; letter-spacing: .01em; }
.tarjeta-login__campo { align-items: center; background: rgba(255,255,255,.72); border: 1px solid rgba(28, 93, 122, .23); border-radius: 11px; box-shadow: inset 0 1px 2px rgba(17, 68, 87, .05); display: flex; height: 47px; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.tarjeta-login__campo:focus-within { background: rgba(255,255,255,.96); border-color: #00a8e0; box-shadow: 0 0 0 3px rgba(0, 168, 224, .18), inset 0 1px 2px rgba(17, 68, 87, .05); }
.tarjeta-login__campo i { color: #006cae; font-size: 14px; margin: 0 12px 0 15px; width: 14px; }
.tarjeta-login input { background: transparent; border: 0; color: #102f49; font: inherit; height: 100%; min-width: 0; outline: 0; padding: 0 14px 0 0; width: 100%; }
.tarjeta-login input::placeholder { color: #8a8f93; opacity: 1; }
.tarjeta-login button { align-items: center; background: linear-gradient(100deg, #003b8f, #007dbc); border: 1px solid rgba(255,255,255,.28); border-radius: 11px; box-shadow: 0 9px 18px rgba(0, 67, 143, .22), inset 0 1px 0 rgba(255,255,255,.28); color: #fff; cursor: pointer; display: flex; font-size: 14px; font-weight: 800; height: 47px; justify-content: space-between; margin-top: 7px; padding: 0 17px; transition: box-shadow .18s ease, transform .18s ease, filter .18s ease; }
.tarjeta-login button:hover { box-shadow: 0 12px 22px rgba(0, 67, 143, .29), inset 0 1px 0 rgba(255,255,255,.28); filter: brightness(1.06); transform: translateY(-1px); }
.tarjeta-login button:focus-visible { outline: 3px solid rgba(9, 87, 201, .4); outline-offset: 3px; }
.tarjeta-login__pie { align-items: flex-start; border-top: 1px solid rgba(24, 87, 114, .14); color: #73787c; display: flex; font-size: 12px; gap: 9px; line-height: 1.45; margin-top: 24px; padding-top: 17px; }
.tarjeta-login__pie i { color: #006cae; font-size: 13px; margin-top: 2px; }
.error-login { align-items: flex-start; background: rgba(255, 239, 238, .86); border: 1px solid rgba(205, 75, 69, .38); border-radius: 11px; color: #972d28; display: flex; font-size: 13px; gap: 8px; line-height: 1.35; margin: 0 0 18px; padding: 11px 12px; }
.error-login[hidden] { display: none; }
.error-login i { margin-top: 2px; }
.sgac-login--saliendo { opacity: 0; pointer-events: none; transform: scale(1.015); }
@keyframes sgac-error-login { 0%, 100% { transform: translateX(0); } 18%, 54% { transform: translateX(-8px); } 36%, 72% { transform: translateX(8px); } }
.tarjeta-login--error { animation: sgac-error-login .42s ease-in-out; }
@keyframes sgac-vista-entrada { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
body.sgac-entrada #actividadesMapa, body.sgac-entrada .pa-app { animation: sgac-vista-entrada .34s ease-out both; }
@media (prefers-reduced-motion: reduce) { .sgac-login { transition: none; } .tarjeta-login--error, body.sgac-entrada #actividadesMapa, body.sgac-entrada .pa-app { animation: none; } }
@media (max-width: 520px) { .sgac-login { padding: 18px 12px; } .tarjeta-login { border-radius: 20px; padding: 27px 23px; } .tarjeta-login h1 { font-size: 25px; } .tarjeta-login__eyebrow { margin-top: 18px; } }
body.sgac-visor #cabezote, body.sgac-visor #col1 { display: none !important; }
body.sgac-visor #actividadesMapa { display:grid; grid-template-rows:auto minmax(0, 1fr) auto; height:100dvh; min-height:100dvh; padding:0; width:100%; }
body.sgac-visor #resumenLineas { grid-row:3; width:100%; }
.sgac-app { box-sizing:border-box; margin:0; max-width:none; overflow-x:hidden; padding:0 28px; width:100%; }
.sgac-topbar { align-items: center; background: #fff; border-bottom: 1px solid #dbe4ec; box-sizing: border-box; display: flex; grid-row:1; min-height: 62px; justify-content: space-between; margin: 0 -28px 20px; min-width: 0; padding: 0 34px; }
.sgac-marca, .sgac-usuario { align-items: center; display: flex; gap: 14px; min-width: 0; }
.sgac-marca { appearance:none; background:transparent; border:0; cursor:default; flex:1 1 auto; min-width:0; padding:0; text-align:left; }
.sgac-marca:focus { box-shadow:none; outline:0; }
.sgac-marca:focus-visible { box-shadow:0 0 0 3px rgba(19,128,71,.34); outline:0; }
.sgac-usuario { flex: 0 0 auto; }
.sgac-marca img { height: 40px; object-fit: contain; width: 106px; }
.sgac-marca span { color: #112b52; font-size: 21px; font-weight: 750; letter-spacing: -.02em; line-height: 1.1; min-width: 0; overflow-wrap: anywhere; }
.sgac-usuario { flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; }
.sgac-usuario { color: #203b59; font-size: 13px; }
.sgac-usuario a { color:#08783f; font-weight:750; text-decoration:none; }.sgac-usuario a:hover { text-decoration:underline; }
.notificacion { align-items: center; background: #138047; border: 2px solid #fff; border-radius: 50%; color: #fff; display: inline-flex; font-size: 10px; font-weight: 800; height: 20px; justify-content: center; margin-left: 2px; width: 20px; }

/* Administración de usuarios: panel Liquid Glass, intencionalmente aislado del visor. */
.btn-administracion,.admin-primario,.admin-secundario,.admin-icono,.admin-cerrar{font:inherit;cursor:pointer}.btn-administracion{background:rgba(236,248,242,.74);border:1px solid rgba(23,127,75,.25);border-radius:999px;color:#076b3a;font-size:12px;font-weight:750;padding:7px 12px}.btn-administracion:hover{background:#dff4e8}.modal-administracion{background:transparent;border:0;box-shadow:none;height:min(86vh,820px);max-width:none;overflow:visible;padding:0;width:min(1240px,96vw)}.modal-administracion::backdrop{background:rgba(8,23,40,.24);-webkit-backdrop-filter:blur(15px) saturate(125%);backdrop-filter:blur(15px) saturate(125%)}.admin-liquid{background:linear-gradient(135deg,rgba(250,253,255,.88),rgba(226,240,247,.69));border:1px solid rgba(255,255,255,.84);border-radius:28px;box-shadow:0 28px 85px rgba(7,25,48,.32),inset 0 1px rgba(255,255,255,.9);display:flex;height:100%;isolation:isolate;overflow:hidden;position:relative;-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%)}.admin-sidebar{background:linear-gradient(180deg,rgba(19,54,79,.77),rgba(9,33,57,.64));border-right:1px solid rgba(255,255,255,.22);color:#f4fbff;display:flex;flex:0 0 225px;flex-direction:column;padding:28px 16px 20px;-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%)}.admin-identidad{border-bottom:1px solid rgba(255,255,255,.17);display:grid;gap:3px;padding:0 10px 24px}.admin-identidad span,.admin-eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em}.admin-identidad strong{font-size:20px;letter-spacing:-.03em}.admin-identidad small{color:rgba(238,249,255,.72)}.admin-sidebar nav{display:grid;gap:7px;margin-top:26px}.admin-tab{background:transparent;border:0;border-radius:12px;color:rgba(244,251,255,.77);font:inherit;font-size:14px;text-align:left;padding:11px 12px}.admin-tab.activo{background:rgba(255,255,255,.2);box-shadow:inset 0 1px rgba(255,255,255,.3);color:#fff;font-weight:750}.admin-pie{color:rgba(244,251,255,.58);font-size:11px;margin-top:auto;padding:8px}.admin-contenido{display:flex;flex:1;flex-direction:column;min-width:0;padding:28px 32px}.admin-contenido>header,.admin-editor>header{align-items:flex-start;display:flex;justify-content:space-between}.admin-contenido h2,.admin-editor h3{color:#163450;font-size:27px;letter-spacing:-.035em;margin:4px 0}.admin-contenido header p{color:#5c7388;font-size:13px;margin:0}.admin-eyebrow{color:#168047}.admin-cerrar{align-items:center;background:rgba(255,255,255,.58);border:1px solid rgba(114,147,170,.24);border-radius:50%;color:#294a64;display:inline-flex;font-size:24px;height:34px;justify-content:center;line-height:1;width:34px}.admin-panel{min-height:0;padding-top:28px}.admin-acciones{align-items:end;display:flex;gap:14px;justify-content:space-between}.admin-busqueda{color:#4c657b;display:grid;font-size:11px;font-weight:750;gap:5px;width:min(360px,100%)}.admin-busqueda input,.admin-form-grid input,.admin-form-grid select{background:rgba(255,255,255,.72);border:1px solid rgba(108,141,163,.3);border-radius:10px;color:#163450;font:inherit;height:39px;outline-color:#168047;padding:0 11px;width:100%}.admin-primario{background:linear-gradient(135deg,#0b8447,#087039);border:1px solid rgba(255,255,255,.44);border-radius:11px;box-shadow:0 7px 16px rgba(8,112,57,.2);color:#fff;font-size:13px;font-weight:800;padding:10px 14px;white-space:nowrap}.admin-secundario{background:rgba(255,255,255,.61);border:1px solid rgba(108,141,163,.3);border-radius:10px;color:#34516d;font-size:13px;font-weight:750;padding:9px 13px}.admin-mensaje{color:#0b7040;font-size:13px;min-height:20px;margin:13px 0 8px}.admin-mensaje.error{color:#a42626}.admin-tabla-wrap{background:rgba(255,255,255,.51);border:1px solid rgba(255,255,255,.8);border-radius:16px;box-shadow:0 12px 30px rgba(36,73,102,.09);max-height:510px;overflow:auto}.admin-tabla{border-collapse:collapse;min-width:760px;width:100%}.admin-tabla th{background:rgba(232,243,248,.8);color:#557088;font-size:10px;letter-spacing:.06em;padding:12px 14px;text-align:left;text-transform:uppercase}.admin-tabla td{border-top:1px solid rgba(121,153,174,.15);color:#35536d;font-size:12px;padding:12px 14px;vertical-align:middle}.admin-tabla td strong{color:#163450;display:block;font-size:13px}.admin-tabla td small{color:#71879a;display:block;font-size:11px;line-height:1.35;margin-top:4px}.admin-chip,.admin-estado{border-radius:999px;display:inline-block;font-size:10px;font-weight:800;padding:5px 8px;white-space:nowrap}.admin-chip{background:#e8f2ff;color:#35618e}.admin-estado.activo{background:#ddf6e7;color:#08743e}.admin-estado.bloqueado{background:#fff0d3;color:#9b6500}.admin-estado.cancelado{background:#f1f3f5;color:#697988}.admin-icono{background:transparent;border:0;color:#276084;font-weight:900;padding:7px}.admin-alcance-vacio{align-items:center;color:#60788d;display:flex;flex-direction:column;justify-content:center;min-height:370px;text-align:center}.admin-alcance-vacio span{color:#168047;font-size:44px}.admin-alcance-vacio h3{color:#244866;margin:12px 0 6px}.admin-alcance-vacio p{line-height:1.6;max-width:500px}.admin-editor{background:linear-gradient(160deg,rgba(247,252,255,.96),rgba(225,241,244,.94));border-left:1px solid rgba(255,255,255,.85);box-shadow:-18px 0 42px rgba(15,44,65,.17);height:100%;overflow:auto;padding:27px 26px;position:absolute;right:0;top:0;width:min(650px,100%);z-index:3}.admin-editor form{display:grid;gap:18px;margin-top:22px}.admin-form-grid{display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid label{color:#3d5d75;display:grid;font-size:11px;font-weight:800;gap:6px}.admin-form-grid small{color:#73899b;font-weight:500}.admin-alcances{border:1px solid rgba(110,145,166,.24);border-radius:15px;margin:0;padding:14px}.admin-alcances legend{color:#1c4964;font-size:13px;font-weight:800;padding:0 5px}.admin-alcances>p{color:#637b8f;font-size:11px;line-height:1.45;margin:0 0 12px}.admin-check-groups{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-check-groups>div{min-width:0}.admin-check-groups strong{color:#45647a;font-size:11px}.admin-check-list{background:rgba(255,255,255,.52);border:1px solid rgba(124,155,174,.22);border-radius:10px;display:grid;gap:5px;margin-top:7px;max-height:180px;overflow:auto;padding:8px}.admin-check-list label{align-items:flex-start;color:#48667c;display:flex;font-size:11px;font-weight:500;gap:6px;line-height:1.25}.admin-check-list input{accent-color:#128047;margin:1px 0 0}.admin-editor footer{display:flex;gap:10px;justify-content:flex-end}@media(max-width:800px){.modal-administracion{height:94vh;width:98vw}.admin-sidebar{flex-basis:62px;padding:20px 8px}.admin-identidad strong,.admin-identidad small,.admin-sidebar .admin-tab:not(.activo),.admin-pie{display:none}.admin-identidad{padding:0 4px 18px;text-align:center}.admin-sidebar nav{margin-top:16px}.admin-tab{padding:10px 5px;text-align:center}.admin-contenido{padding:22px 18px}.admin-acciones{align-items:stretch;flex-direction:column}.admin-busqueda{width:100%}.admin-editor{padding:20px;width:100%}.admin-form-grid,.admin-check-groups{grid-template-columns:1fr}.admin-check-list{max-height:130px}}
.cambio-password form{display:grid;gap:12px;margin-top:16px}.cambio-password label{color:#39566d;display:grid;font-size:12px;font-weight:750;gap:5px}.cambio-password input{border:1px solid #bdceda;border-radius:8px;font:inherit;height:38px;padding:0 10px}.cambio-password small{color:#70879a;font-weight:500}
.modal-administracion:not([open]){display:none}.editor-tabs{border-bottom:1px solid rgba(108,141,163,.23);display:flex;gap:18px;margin-top:20px}.editor-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:#637d91;font:inherit;font-size:12px;font-weight:800;padding:10px 2px}.editor-tab.activo{border-color:#138047;color:#08743e}.editor-panel{padding-top:18px}.editor-ayuda{color:#637b8f;font-size:12px;line-height:1.5;margin:0 0 12px}.admin-scope-section{background:rgba(255,255,255,.48);border:1px solid rgba(110,145,166,.25);border-radius:13px;margin:10px 0;overflow:hidden}.admin-scope-section summary{align-items:center;color:#31536b;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:12px}.admin-scope-section summary::-webkit-details-marker{display:none}.admin-scope-section summary span{display:grid;gap:2px}.admin-scope-section summary strong{font-size:12px}.admin-scope-section summary small{color:#71899a;font-size:10px}.scope-toggle{background:#eaf5ef;border:1px solid #b6dfc5;border-radius:999px;color:#08743e;cursor:pointer;font-size:10px;font-weight:800;padding:6px 9px}.admin-scope-section .admin-check-list{border:0;border-radius:0;border-top:1px solid rgba(110,145,166,.2);margin:0;max-height:210px}.admin-check-list label{align-items:center}.admin-check-list input{appearance:none;background:#b6c5cf;border:0;border-radius:999px;height:20px;margin:0;position:relative;width:36px}.admin-check-list input::before{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.24);content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .18s ease;width:16px}.admin-check-list input:checked{background:#168047}.admin-check-list input:checked::before{transform:translateX(16px)}
.admin-form-grid .campo-completo{grid-column:1/-1}.admin-inline-create{display:flex;flex-wrap:wrap;gap:9px}.admin-editor>form>label{color:#3d5d75;display:grid;font-size:11px;font-weight:800;gap:6px}.admin-editor>form>label input{background:rgba(255,255,255,.72);border:1px solid rgba(108,141,163,.3);border-radius:10px;color:#163450;font:inherit;height:39px;outline-color:#168047;padding:0 11px;width:100%}.tabla-contratos{min-width:820px}.admin-ayuda{color:#436177;max-width:800px}.admin-ayuda h3{color:#163450;font-size:18px;margin:0 0 14px}.admin-ayuda details{background:rgba(255,255,255,.48);border:1px solid rgba(112,146,168,.23);border-radius:13px;margin:9px 0;padding:0 14px}.admin-ayuda summary{color:#244d68;cursor:pointer;font-size:13px;font-weight:800;padding:13px 0}.admin-ayuda p{font-size:12px;line-height:1.55;margin:0 0 13px}
.admin-combo-filtrable{display:block;min-width:0;position:relative}.admin-combo-filtrable[hidden],.admin-alta-catalogo[hidden],.admin-combo-lista[hidden],.admin-combo-tooltip[hidden]{display:none!important}.admin-select-filtrable-oculto{display:none!important}.admin-combo-filtrable>input{padding-right:34px!important}.admin-combo-filtrable::after{border-bottom:2px solid #315770;border-right:2px solid #315770;content:"";height:7px;pointer-events:none;position:absolute;right:14px;top:14px;transform:rotate(45deg);width:7px}.admin-combo-lista{background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(228,242,247,.97));border:1px solid rgba(77,125,151,.32);border-radius:11px;box-shadow:0 14px 32px rgba(11,45,69,.22);display:grid;left:0;max-height:230px;overflow:auto;padding:5px;position:absolute;right:0;top:calc(100% + 5px);z-index:12}.admin-combo-lista button{background:transparent;border:0;border-radius:7px;color:#234863;cursor:pointer;font:inherit;font-size:12px;font-weight:650;min-height:34px;padding:8px 10px;text-align:left;width:100%}.admin-combo-lista button:hover,.admin-combo-lista button:focus,.admin-combo-lista button.activo{background:rgba(15,126,70,.12);color:#08683a;outline:none}.admin-combo-lista .admin-combo-nuevo{border-top:1px solid rgba(89,130,153,.2);color:#08743e;font-weight:800}.admin-combo-lista>small{color:#6c8294;line-height:1.45;padding:10px}.admin-combo-tooltip{background:rgba(19,49,70,.97);border:1px solid rgba(255,255,255,.2);border-radius:10px;box-shadow:0 12px 28px rgba(7,28,44,.3);color:#f7fbfd;display:grid;font-size:11px;font-weight:500;gap:8px;line-height:1.4;padding:11px 12px;pointer-events:none;position:absolute;right:calc(100% + 9px);top:0;width:260px;z-index:14}.admin-combo-tooltip strong{color:#fff;font-size:12px}.admin-combo-tooltip span{color:#dceaf1;display:grid;gap:2px}.admin-combo-tooltip b{color:#8fd4ae;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.admin-alta-catalogo{display:grid;gap:7px;grid-template-columns:minmax(0,1fr) 39px}.admin-alta-catalogo button{align-items:center;background:rgba(255,255,255,.68);border:1px solid rgba(108,141,163,.3);border-radius:10px;color:#315770;cursor:pointer;display:flex;justify-content:center}.admin-alta-catalogo button:hover{background:#e5f4eb;color:#08743e}@media(max-width:800px){.admin-combo-tooltip{left:0;right:auto;top:calc(100% + 6px);width:min(260px,90vw)}}
.admin-catalogo-transformable #editorNuevoCoordinador{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 39px}.admin-catalogo-transformable #editorNuevoCoordinador[hidden]{display:none}.admin-catalogo-transformable #volverCoordinadores{align-items:center;background:linear-gradient(135deg,#0b8447,#087039);border:1px solid rgba(255,255,255,.5);border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:39px;justify-content:center;width:39px}
.admin-tabla th button{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;letter-spacing:inherit;padding:0;text-align:left;text-transform:inherit}.admin-tabla th button::after{color:#8ba1b2;content:'↕';font-size:12px;margin-left:6px}.admin-tabla th button.orden-activo{color:#0b7040}.admin-tabla th button.orden-activo[aria-sort="ascending"]::after{content:'↑';color:#0b7040}.admin-tabla th button.orden-activo[aria-sort="descending"]::after{content:'↓';color:#0b7040}
.admin-estado-control,.admin-control-estado{align-items:center;display:flex;gap:8px}.admin-switch{appearance:none;background:#aebdc7;border:0;border-radius:999px;cursor:pointer;height:24px;padding:0;position:relative;transition:background .18s ease,opacity .18s ease;width:42px}.admin-switch i{background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.28);height:20px;left:2px;position:absolute;top:2px;transition:transform .18s ease;width:20px}.admin-switch.activo,.admin-switch[aria-checked="true"]{background:#168047}.admin-switch.activo i,.admin-switch[aria-checked="true"] i{transform:translateX(18px)}.admin-switch:focus-visible{outline:3px solid rgba(22,128,71,.3);outline-offset:2px}.admin-switch:disabled{cursor:default;opacity:.5}.admin-control-estado strong{color:#31536b;font-size:12px}
.admin-check-list label.sin-asignacion{background:rgba(255,243,215,.72);border:1px solid rgba(221,173,73,.4);border-radius:8px;color:#73520a;padding:7px}
.admin-permisos-grupo{background:rgba(255,255,255,.52);border:1px solid rgba(124,155,174,.22);border-radius:10px;margin:0;padding:9px}.admin-permisos-grupo legend{color:#31536b;font-size:11px;font-weight:800;padding:0 5px}.admin-permisos-grupo label{align-items:flex-start;border-top:1px solid rgba(124,155,174,.13);color:#48667c;display:flex;font-size:11px;font-weight:500;gap:8px;line-height:1.3;padding:7px 0}.admin-permisos-grupo label:first-of-type{border-top:0}.admin-permisos-grupo label span{display:grid;gap:2px}.admin-permisos-grupo label strong{color:#31536b;font-size:12px}.admin-permisos-grupo label small{color:#71899a;font-size:10px}.admin-permisos-grupo input{appearance:none;background:#b6c5cf;border:0;border-radius:999px;flex:0 0 auto;height:20px;margin:1px 0 0;position:relative;width:36px}.admin-permisos-grupo input::before{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.24);content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .18s ease;width:16px}.admin-permisos-grupo input:checked{background:#168047}.admin-permisos-grupo input:checked::before{transform:translateX(16px)}
#editorRol{width:min(940px,100%)}#formRolAdmin{gap:10px;height:calc(100% - 48px);margin-top:12px;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}#formRolAdmin .admin-form-grid{gap:8px}#formRolAdmin .admin-form-grid label{gap:3px}#formRolAdmin .admin-form-grid input{height:36px}#formRolAdmin .admin-scope-section{display:flex;flex-direction:column;margin:0;min-height:0;padding:11px 12px}#formRolAdmin .admin-scope-section h4{color:#163450;display:inline;font-size:16px;letter-spacing:-.02em;margin:0}#formRolAdmin .admin-scope-section .editor-ayuda{color:#637b8f;display:inline;font-size:11px;line-height:1.35;margin:0 0 0 9px}#formRolAdmin .admin-scope-section .admin-check-list{background:transparent;border:0;border-radius:0;border-top:1px solid rgba(110,145,166,.2);display:grid;flex:1;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));margin:9px 0 0;max-height:none;min-height:0;overflow:auto;padding:9px 0 0}#formRolAdmin .admin-permisos-grupo{padding:7px 9px}#formRolAdmin .admin-permisos-grupo label{padding:5px 0}#formRolAdmin .admin-permisos-grupo label strong{font-size:11px}#formRolAdmin .admin-permisos-grupo label small{font-size:9px}#adminPanelRoles>#avisoRolSistema{margin:0 0 10px;padding:9px 12px}
@media(max-width:800px){#editorRol{width:100%}#formRolAdmin .admin-scope-section .admin-check-list{grid-template-columns:1fr}}
.admin-contador{background:rgba(221,239,249,.72);border:1px solid rgba(86,139,169,.24);border-radius:999px;color:#315a76;font-size:11px;font-weight:800;margin-left:auto;padding:8px 11px;white-space:nowrap}
.aviso-admin-total{background:linear-gradient(135deg,rgba(221,246,231,.88),rgba(237,249,242,.78));border:1px solid rgba(31,139,77,.28);border-radius:12px;color:#185d38;font-size:12px;line-height:1.5;margin:18px 0 0;padding:12px 14px}.aviso-admin-total strong{display:block;font-size:13px}

.panel-filtros { background: #fff; border: 1px solid #e0e7ee; border-radius: 10px; box-shadow: 0 3px 11px rgba(23, 48, 74, .06); margin-bottom: 12px; }
.panel-filtros summary { align-items: center; color: #183a5e; cursor: pointer; display: flex; font-size: 14px; font-weight: 750; justify-content: space-between; list-style: none; padding: 13px 16px; }
.panel-filtros summary::-webkit-details-marker { display: none; }
.panel-filtros summary::after { color: #08783f; content: "⌄"; font-size: 20px; font-weight: 800; margin-left: 10px; transition: transform .2s ease; }
.panel-filtros[open] summary::after { transform: rotate(180deg); }
.panel-filtros summary small { color: #63778a; font-size: 12px; font-weight: 500; margin-left: auto; max-width: 48%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.panel-desplegable { background: #fff; border: 1px solid #e0e7ee; border-radius: 10px; box-shadow: 0 3px 11px rgba(23, 48, 74, .06); margin: 0 0 12px; max-width: none; padding: 0; }
.panel-desplegable summary { align-items: center; color: #183a5e; cursor: pointer; display: flex; font-size: 14px; font-weight: 750; justify-content: space-between; list-style: none; padding: 13px 16px; }
.panel-desplegable summary::-webkit-details-marker { display: none; }
.panel-desplegable summary::after { color: #08783f; content: "⌄"; font-size: 20px; font-weight: 800; margin-left: 10px; transition: transform .2s ease; }
.panel-desplegable[open] summary::after { transform: rotate(180deg); }
.panel-desplegable summary small { color: #63778a; font-size: 12px; font-weight: 500; margin-left: auto; }
.filtros-mapa.sgac-filtros { align-items: end; border: 0; border-radius: 0; box-shadow: none; grid-template-columns: repeat(4, minmax(160px, 1fr)); margin: 0; max-width: none; padding: 0 16px 16px; }
.sgac-filtros label { color: #1f3653; font-size: 12px; font-weight: 650; min-width: 0; }
.sgac-filtros select, .sgac-filtros input[type="search"] { background: #fff; border: 1px solid #ccd7e2; border-radius: 6px; color: #233d5a; font-size: 14px; height: 36px; min-width: 0; outline-color: #168047; text-overflow: ellipsis; width: 100%; }
.sgac-filtros .buscador-mapa { grid-column: span 2; }
.sgac-filtros .incluir-sin-informacion { align-self: end; font-size: 12px; grid-column: auto; min-height: 36px; }
.btn-consultar { align-items: center; align-self: end; background: #08783f; border: 0; border-radius: 6px; box-shadow: 0 2px 5px rgba(0, 91, 47, .2); color: #fff; cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 750; gap: 8px; height: 36px; justify-content: center; padding: 0 16px; }
.btn-consultar:hover { background: #046b36; }
.btn-consultar span { font-size: 20px; line-height: 1; }
.estado-consulta { grid-column: span 4; font-size: 12px; padding: 2px 0 0; }

.configuracion-mapa { background: transparent; margin: 0 0 10px; max-width: none; padding: 0; }
.configuracion-mapa > p, .configuracion-mapa > div, .configuracion-mapa > fieldset { margin-left: 16px; margin-right: 16px; }
.configuracion-criticidad { background: #fff; border: 1px solid #e0e7ee; border-radius: 8px; padding: 10px; }
.configuracion-criticidad .nivel-criticidad { border:1px solid transparent; border-radius:7px; padding:7px 8px; }.configuracion-criticidad .nivel-normal { background:#e7f7f4; border-color:#9fddd4; }.configuracion-criticidad .nivel-atencion { background:#fff7e5; border-color:#f1cb78; }.configuracion-criticidad .nivel-alta { background:#fff0ef; border-color:#efaaa4; }.configuracion-criticidad .nivel-critica { background:#f5efff; border-color:#cdb5f3; }
.control-agrupacion { align-items:center; background:#eef4ff; border:1px solid #b9cfef; border-radius:8px; display:inline-flex; gap:14px; justify-content:space-between; margin:10px 16px; max-width:calc(100% - 32px); padding:9px 11px; }.control-agrupacion strong { color:#244b76; display:block; font-size:12px; }.control-agrupacion small { color:#61768c; display:block; font-size:11px; margin-top:2px; white-space:nowrap; }.interruptor-mapa { display:block; flex:0 0 auto; margin:0; }.interruptor-mapa input { appearance:none; background:#aebdcd; border:0; border-radius:999px; cursor:pointer; height:22px; margin:0; position:relative; width:40px; }.interruptor-mapa input::before { background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.25); content:""; height:18px; left:2px; position:absolute; top:2px; transition:transform .18s ease; width:18px; }.interruptor-mapa input:checked { background:#3b82f6; }.interruptor-mapa input:checked::before { transform:translateX(18px); }.control-limite-placemarks { align-items:center; background:linear-gradient(135deg,#fff9e9,#fff3ce); border:1px solid #ecd18b; border-radius:8px; display:flex; gap:12px; justify-content:space-between; margin:0 16px 10px; max-width:calc(100% - 32px); padding:9px 11px; }.control-limite-placemarks[hidden] { display:none; }.control-limite-placemarks label { display:grid; gap:2px; margin:0; min-width:0; }.control-limite-placemarks strong { color:#6e4b08; font-size:12px; }.control-limite-placemarks small { color:#7c6331; font-size:11px; line-height:1.3; }.control-limite-placemarks input { background:rgba(255,255,255,.9); border:1px solid #cdb26d; border-radius:7px; color:#493505; font:inherit; font-size:13px; font-weight:800; min-height:34px; padding:5px 7px; text-align:center; width:92px; }.control-limite-placemarks input:focus-visible { outline:3px solid rgba(228,169,27,.28); outline-offset:2px; }

.resumen-marcadores { align-items:center; background:rgba(15,43,72,.76); border:1px solid rgba(222,242,255,.48); border-radius:999px; bottom:32px; box-shadow:0 4px 14px rgba(8,35,60,.22),inset 0 1px rgba(255,255,255,.22); color:#edf8ff; display:flex; gap:4px; left:50%; max-width:calc(100% - 160px); padding:5px 10px; pointer-events:none; position:absolute; text-align:center; transform:translateX(-50%); -webkit-backdrop-filter:blur(12px) saturate(125%); backdrop-filter:blur(12px) saturate(125%); z-index:5; }.resumen-marcadores[hidden] { display:none; }.resumen-marcadores span { font-size:11px; font-weight:750; white-space:nowrap; }.resumen-marcadores strong { color:#9ee8cf; font-size:11px; font-weight:850; }
@media (max-width: 480px) { .control-limite-placemarks { align-items:stretch; flex-direction:column; margin-left:10px; margin-right:10px; max-width:calc(100% - 20px); }.control-limite-placemarks input { text-align:left; width:100%; }.resumen-marcadores { bottom:28px; max-width:calc(100% - 116px); padding:4px 8px; }.resumen-marcadores span { font-size:10px; } }

.configuracion-leyenda { background: #fff; border: 1px solid #e0e7ee; border-radius: 8px; display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 10px 0 0; padding: 10px; }
.configuracion-leyenda legend { color: #34516d; font-size: 12px; font-weight: 750; margin: 0; padding: 0 4px; width: 100%; }
.configuracion-leyenda label { align-items: center; color: #41566b; display: inline-flex; font-size: 12px; gap: 7px; margin: 0; }
.configuracion-leyenda .interruptor-todos { background:#eaf3ff; border:1px solid #bed4ee; border-radius:7px; color:#214d79; font-weight:750; justify-content:space-between; padding:7px 9px; width:100%; }
.grupo-elementos-mapa { background:#f8fafc; border:1px solid #e1e8ef; border-radius:7px; flex:1 1 250px; margin:0; min-width:0; padding:9px; }
.grupo-elementos-mapa > strong { color:#34516d; display:block; font-size:11px; margin:0 0 7px; text-transform:uppercase; }
.grupo-elementos-mapa > div { display:flex; flex-wrap:wrap; gap:8px 13px; }
.configuracion-leyenda input[type="checkbox"] { appearance: none; background: #b7c4cf; border: 0; border-radius: 999px; cursor: pointer; height: 20px; margin: 0; position: relative; transition: background .18s ease; width: 36px; }
.configuracion-leyenda input[type="checkbox"]::before { background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,.26); content: ""; height: 16px; left: 2px; position: absolute; top: 2px; transition: transform .18s ease; width: 16px; }
.configuracion-leyenda input[type="checkbox"]:checked { background: #168047; }.configuracion-leyenda input[type="checkbox"]:checked::before { transform: translateX(16px); }
.configuracion-leyenda .interruptor-todos input:checked { background:#3b82f6; }.configuracion-leyenda .interruptor-todos input:indeterminate { background:#7ca7df; }.configuracion-leyenda .interruptor-todos input:indeterminate::before { transform:translateX(8px); }
.configuracion-leyenda .interruptor-normal input:checked { background:#0f9d8a; }.configuracion-leyenda .interruptor-atencion input:checked { background:#f59e0b; }.configuracion-leyenda .interruptor-alta input:checked { background:#dc2626; }.configuracion-leyenda .interruptor-critica input:checked { background:#7c3aed; }
.configuracion-leyenda .interruptor-documentos input:checked { background:#3b82f6; }.configuracion-leyenda .interruptor-indicaciones input:checked { background:#f97316; }.configuracion-leyenda .interruptor-cronologia input:checked { background:#168047; }.configuracion-leyenda .interruptor-video input:checked { background:#d97706; }.configuracion-leyenda .interruptor-revision input:checked { background:#7f1d1d; }

.visor-mapa-layout { --altura-visor:100%; align-items: stretch; gap: 16px; grid-row:2; grid-template-columns: minmax(0, 1.85fr) minmax(340px, .95fr); height:100%; max-width: none; min-height:0; transition: grid-template-columns .28s ease; }
.visor-mapa-layout.sin-expediente { gap: 0; grid-template-columns: minmax(0, 1fr) 0; }
.visor-mapa-layout.sin-expediente .expediente-punto { min-width: 0; overflow: hidden; width: 0; }
.mapa-contenedor { height:100%; min-width: 0; position: relative; }
.estado-marcadores { align-items:center; background:rgba(17,42,72,.93); border:1px solid rgba(255,255,255,.25); border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,.28); color:#fff; display:flex; gap:9px; left:50%; padding:9px 13px 15px; position:absolute; top:16px; transform:translateX(-50%); z-index:6; }.estado-marcadores[hidden] { display:none; }.estado-marcadores i { animation:giro-placemark .8s linear infinite; border:2px solid rgba(255,255,255,.32); border-radius:50%; border-top-color:#72d7ff; height:17px; width:17px; }.estado-marcadores span { font-size:12px; font-weight:750; white-space:nowrap; }.estado-marcadores small { color:#c8d9e8; font-size:11px; white-space:nowrap; }.estado-marcadores b { background:rgba(255,255,255,.2); border-radius:999px; bottom:6px; height:3px; left:13px; overflow:hidden; position:absolute; right:13px; }.estado-marcadores b em { background:#72d7ff; border-radius:inherit; display:block; height:100%; transition:width .12s linear; width:0; }@keyframes giro-placemark { to { transform:rotate(360deg); } }
#mapaActividades { border: 1px solid #d9e4ed; border-radius: 10px; height: var(--altura-visor); min-height:0; overflow: hidden; }
.expediente-punto { border: 1px solid #d9e4ed; border-radius: 10px; box-shadow: 0 4px 14px rgba(17, 43, 82, .09); height: var(--altura-visor); max-height: var(--altura-visor); opacity: 0; pointer-events: none; position: static; transform: translateX(30px); transition: opacity .26s ease, transform .3s ease, visibility .3s; visibility: hidden; width: auto; }
.expediente-punto.is-visible { opacity: 1; pointer-events: auto; transform: translateX(0); visibility: visible; }
.expediente-punto header { background: #fff; padding: 17px 20px; position: sticky; top: 0; z-index: 2; }
.expediente-punto.expediente-contexto-linea header{background:linear-gradient(135deg,#d9f3fb,#aedff0);border-bottom:1px solid rgba(9,93,128,.22)}.expediente-punto.expediente-contexto-punto header{background:linear-gradient(135deg,#ddf6e6,#afe0c0);border-bottom:1px solid rgba(8,104,55,.22)}.expediente-punto.expediente-contexto-linea header .eyebrow,.expediente-punto.expediente-contexto-punto header .eyebrow,.expediente-punto.expediente-contexto-linea header h2,.expediente-punto.expediente-contexto-punto header h2{color:#102f4b}.expediente-punto.expediente-contexto-linea header .cerrar-expediente,.expediente-punto.expediente-contexto-punto header .cerrar-expediente{color:#102f4b}
.expediente-punto h2 { font-size: 18px; }
.contenido-expediente { background: #fff; min-height: 570px; padding: 18px 20px; }
.expediente-inicial { align-items: center; color: #6a7d90; display: flex; flex-direction: column; font-size: 14px; justify-content: center; min-height: 500px; text-align: center; }
.expediente-inicial span { color: #168047; font-size: 44px; margin-bottom: 12px; }
.expediente-inicial strong { color: #26435e; font-size: 16px; }
.expediente-inicial p { line-height: 1.45; max-width: 260px; }

.control-capas { left: 14px; top: 14px; z-index: 4; }
.control-capas summary { font-size: 13px; padding: 9px 12px; }
.lista-capas { width: 230px; }
.leyenda-mapa { background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(218,239,250,.58)); border: 1px solid rgba(255,255,255,.8); border-radius: 14px; bottom: 18px; box-shadow: 0 10px 28px rgba(18,52,82,.22), inset 0 1px 0 rgba(255,255,255,.92); -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%); display:block; left: 14px; position: absolute; text-align: left; width: 225px; z-index: 2; }
.leyenda-mapa summary { color: #183a5e; cursor: pointer; font-size: 15px; font-weight: 800; list-style: none; padding: 12px 14px; }.leyenda-mapa summary::-webkit-details-marker { display:none; }.leyenda-mapa summary::after { color:#08783f; content:"⌃"; float:right; font-size:18px; }.leyenda-mapa:not([open]) summary::after { content:"⌄"; }
.contenido-leyenda { display:flex; flex-direction:column; gap:8px; padding:0 14px 14px; }.leyenda-mapa b { color: #587086; font-size: 12px; font-weight: 700; margin-left: auto; }.leyenda-mapa small { color: #536b83; font-size: 12px; font-weight: 800; margin-top: 4px; }.leyenda-mapa span { align-items: center; color: #2b4157; display: flex; font-size: 13px; gap: 9px; }
.simbolo { border: 2px solid #1f344b; box-sizing: border-box; display: inline-block; flex: 0 0 12px; height: 12px; position: relative; width: 12px; }
.simbolo-area { background:#dce2e9; border:1px solid #8a98a7; border-radius:50%; display:inline-block; height:11px; width:11px; }.simbolo-area.area-habitat { background:#101820; border-color:#101820; }.simbolo-area.area-excavacion { background:#8a5a2b; border-color:#704519; }.simbolo-area.area-superficial { background:#e4e8ed; border-color:#9eabb8; }
.marcador-circulo { background:transparent; border-radius: 50%; }.marcador-triangulo { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5 14.5 14H1.5Z' fill='none' stroke='%231f344b' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat; border:0; }.marcador-triangulo::after { content:none; }.marcador-rombo { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5 14.5 8 8 14.5 1.5 8Z' fill='none' stroke='%231f344b' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat; border:0; clip-path:none; transform:none; }.marcador-rombo::after { content:none; }
.punto-critico { border: 2px solid; border-radius: 50%; height: 11px; width: 11px; }.punto-critico.bajo { border-color: #16a34a; }.punto-critico.medio { border-color: #f59e0b; }.punto-critico.alto { border-color: #dc2626; }.punto-critico.critico { border-color: #7c3aed; }.punto-critico.revision { border-color: #7f1d1d; border-style: dashed; }

.marcador-actividad, .marcador-cluster { align-items: center; background: #fff; border: 4px solid #16a34a; border-radius: 50%; box-shadow: 0 2px 6px rgba(0, 0, 0, .38); display: flex; height: 40px; justify-content: center; min-width: 40px; padding: 0; position: relative; width: 40px; }
.marcador-actividad .marker-symbol, .marcador-cluster .marker-symbol { align-items: center; color: #17324d; display: flex; font-size: 22px; font-weight: 900; height: 100%; justify-content: center; line-height: 1; transform: translateY(-1px); width: 100%; }
.marcador-actividad .marker-symbol { box-sizing:border-box; flex:0 0 16px; height:16px; position:relative; transform:none; width:16px; }.marcador-actividad .simbolo-envolvente { border:2px solid #17324d; }.marcador-actividad .simbolo-soldadura { border:2px solid #17324d; border-radius:50%; }.marcador-actividad .simbolo-otro { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5 14.5 8 8 14.5 1.5 8Z' fill='none' stroke='%2317324d' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat; border:0; clip-path:none; transform:none; }.marcador-actividad .simbolo-otro::after { content:none; }.marcador-actividad .simbolo-recubrimiento { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5 14.5 14H1.5Z' fill='none' stroke='%2317324d' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat; border:0; }.marcador-actividad .simbolo-recubrimiento::after { content:none; }
.insignia-area-trabajo { --area-borde:#9eabb8; --area-color:#e4e8ed; align-items:center; background:rgba(255,255,255,.96); border:1.5px solid rgba(55,82,105,.68); border-radius:5px; bottom:-5px; box-shadow:0 2px 5px rgba(15,42,64,.34); display:flex; height:16px; justify-content:center; left:-5px; position:absolute; width:16px; z-index:2; }.insignia-area-trabajo::after { background:var(--area-color); border:1px solid var(--area-borde); border-radius:50%; content:""; height:8px; width:8px; }.insignia-area-trabajo.area-habitat { --area-borde:#101820; --area-color:#101820; }.insignia-area-trabajo.area-excavacion { --area-borde:#704519; --area-color:#8a5a2b; }.insignia-area-trabajo.area-superficial { --area-borde:#9eabb8; --area-color:#e4e8ed; }
.insignia-video { align-items:center; background:#f6b51b; border:2px solid #fff7d0; border-radius:50%; box-shadow:0 2px 5px rgba(66,42,0,.48); color:#24394e; display:flex; font-size:9px; font-weight:900; height:17px; justify-content:center; line-height:1; padding-left:1px; position:absolute; right:-7px; text-shadow:0 1px rgba(255,255,255,.45); top:-7px; width:17px; z-index:3; }
.marcador-actividad.marcador-seleccionado { background: #fff; box-shadow: 0 0 0 8px rgba(28, 141, 237, .42), 0 0 0 14px rgba(28, 141, 237, .18), 0 3px 11px rgba(0,0,0,.46); transform: scale(1.24); z-index: 5; }
.marcador-cluster { align-items: center; display: flex; justify-content: center; }
.marcador-cluster .marker-count { align-items: center; background: #153c62; border: 2px solid #fff; border-radius: 10px; color: #fff; display: flex; font-size: 10px; font-weight: 800; height: 18px; justify-content: center; min-width: 18px; padding: 0 4px; position: absolute; right: -10px; top: -9px; }
.control-navegacion-mapa { margin: 0 10px 12px 0; position: relative; }
.boton-navegacion-principal { align-items: center; background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(220,239,250,.58)); border: 1px solid rgba(255,255,255,.84); border-radius: 50%; box-shadow: 0 7px 18px rgba(18,52,82,.21), inset 0 1px 0 rgba(255,255,255,.92); -webkit-backdrop-filter: blur(18px) saturate(145%); backdrop-filter: blur(18px) saturate(145%); color: #183a5e; cursor: pointer; display: flex; font-size: 26px; height: 42px; justify-content: center; line-height: 1; padding: 0; transition: background .18s ease, transform .18s ease; width: 42px; }
.boton-navegacion-principal:hover { background: rgba(255,255,255,.92); transform: scale(1.06); }
.menu-navegacion-mapa { background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(219,239,250,.62)); border: 1px solid rgba(255,255,255,.8); border-radius: 12px; bottom: 50px; box-shadow: 0 10px 28px rgba(18,52,82,.24), inset 0 1px 0 rgba(255,255,255,.92); -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%); display: grid; gap: 2px; padding: 5px; position: absolute; right: 0; width: 126px; }
.menu-navegacion-mapa[hidden] { display: none; }
.menu-navegacion-mapa button { background: transparent; border: 0; border-radius: 5px; color: #193653; cursor: pointer; font-size: 12px; font-weight: 700; padding: 8px 10px; text-align: left; }
.menu-navegacion-mapa button:hover { background: rgba(255,255,255,.62); color: #08783f; }
.menu-navegacion-mapa button:disabled { cursor:wait; opacity:.7; }
.control-pantalla-completa-mapa { align-items:center; background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(216,237,249,.56)); border:1px solid rgba(255,255,255,.84); border-radius:10px; box-shadow:0 7px 18px rgba(18,52,82,.21), inset 0 1px 0 rgba(255,255,255,.92); -webkit-backdrop-filter:blur(18px) saturate(145%); backdrop-filter:blur(18px) saturate(145%); color:#183a5e; cursor:pointer; display:flex; font-size:26px; font-weight:800; height:42px; justify-content:center; line-height:1; margin:10px 10px 0 0; padding:0 0 2px; width:42px; }
.control-pantalla-completa-mapa:hover { background:rgba(255,255,255,.88); }
.marcador-ubicacion-actual { align-items:center; background:#137bd1; border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 6px rgba(19,123,209,.24),0 3px 10px rgba(8,49,80,.35); color:#fff; display:flex; font-size:13px; height:20px; justify-content:center; line-height:1; width:20px; }
#mapaActividades.mapa-pantalla-completa-manual { border-radius:0 !important; height:100dvh !important; inset:0; position:fixed !important; width:100vw !important; z-index:20000; }
.gm-style .gm-style-iw-c {
    background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(218,239,250,.62)) !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(18,52,82,.25), inset 0 1px 0 rgba(255,255,255,.92) !important;
    -webkit-backdrop-filter: blur(22px) saturate(150%);
    backdrop-filter: blur(22px) saturate(150%);
    padding: 0 !important;
}
.gm-style .gm-style-iw-d { overflow: hidden !important; }
.gm-style .gm-style-iw-tc::after { background: rgba(226, 242, 251, .78) !important; box-shadow: -1px 1px 0 rgba(255,255,255,.72) !important; }
.vista-previa-marcador { color: #173a57; display: grid; gap: 4px; max-width: 250px; padding: 12px 14px; }
.vista-previa-marcador strong { font-size: 13px; line-height: 1.25; }
.vista-previa-marcador span { color: #54718b; font-size: 12px; }
.visor-documento:not([open]) { display: none !important; }
.visor-fotos:not([open]) { display: none !important; }
.visor-video:not([open]) { display: none !important; }
.visor-perfil-tecnico:not([open]) { display:none !important; }
.confirmar-inactividad:not([open]) { display:none !important; }
.confirmar-inactividad { border:0; border-radius:14px; box-shadow:0 20px 60px rgba(12,29,45,.35); color:#102a43; max-width:390px; padding:26px; text-align:center; width:calc(100% - 32px); }.confirmar-inactividad::backdrop { background:rgba(7,20,33,.62); }.confirmar-inactividad h2 { font-size:22px; margin:0 0 10px; }.confirmar-inactividad p { color:#526b82; margin:8px 0; }.confirmar-inactividad .cuenta-inactividad { font-size:14px; }.btn-continuar-sesion { background:#08783f; border:0; border-radius:8px; color:#fff; cursor:pointer; font:inherit; font-weight:800; margin-top:12px; min-height:42px; padding:0 18px; }.btn-continuar-sesion:disabled { cursor:wait; opacity:.7; }
.foto-no-disponible { align-items: center; background: #edf2f6; color: #5a6f83; display: flex; justify-content: center; min-height: 112px; }
.foto-no-disponible-aviso { align-items: center; background: #dfe8ef; border-radius: 6px; display: flex; font-size: 12px; font-weight: 700; justify-content: center; min-height: 72px; padding: 10px; text-align: center; width: calc(100% - 18px); }

.lista-puntos-linea { list-style: none; margin: 0; padding: 0; }.lista-puntos-linea li { border-bottom: 1px solid #e5ebf0; }.lista-puntos-linea button { align-items: center; background: transparent; border: 0; color: #1d405f; cursor: pointer; display: flex; font-size: 12px; gap: 8px; justify-content: space-between; padding: 11px 2px; text-align: left; width: 100%; }.lista-puntos-linea button:hover { color: #08783f; }.lista-puntos-linea small { color: #697f92; display: block; margin-top: 3px; }.lista-puntos-linea .indicador-critico { flex: 0 0 auto; }
.ir-punto-critico { background: #fff; cursor: pointer; font-family: inherit; }
.tabla-puntos-linea { border-collapse: collapse; font-size: 12px; table-layout: fixed; width: 100%; }.tabla-puntos-linea th { background: #f5f8fa; border-bottom: 1px solid #dfe7ee; padding: 7px 5px; text-align: left; }.tabla-puntos-linea th button { background: transparent; border: 0; color: #486078; cursor: pointer; font-size: 11px; font-weight: 800; padding: 0; text-align: left; }.tabla-puntos-linea th:nth-child(1) { width:25%; }.tabla-puntos-linea th:nth-child(2) { width:30%; }.tabla-puntos-linea th:nth-child(3) { width:25%; }.tabla-puntos-linea th:nth-child(4) { width:20%; }.tabla-puntos-linea td { border-bottom: 1px solid #e6edf2; color: #26435e; overflow-wrap:anywhere; padding: 9px 5px; vertical-align: top; }.tabla-puntos-linea td:last-child { white-space:nowrap; }.tabla-puntos-linea tbody tr { cursor: pointer; }.tabla-puntos-linea tbody tr:hover { background: #eff8f2; }
.lista-videos-expediente{display:grid;gap:12px}.lista-videos-expediente article{background:rgba(255,255,255,.58);border:1px solid rgba(103,157,178,.28);border-radius:14px;display:grid;gap:10px;padding:10px}.lista-videos-expediente video{aspect-ratio:16/9;background:#17252c;border-radius:10px;display:block;height:auto;max-height:min(42vh,300px);object-fit:contain;width:100%}.lista-videos-expediente div{display:grid;gap:5px}.lista-videos-expediente strong{color:#194e68}.lista-videos-expediente span{color:#4d6978;font-size:12px;line-height:1.45}.lista-videos-expediente small{color:#718b98;font-size:11px}.tabla-videos-linea th:nth-child(1){text-align:center;width:10%}.tabla-videos-linea th:nth-child(2){width:18%}.tabla-videos-linea th:nth-child(3){width:19%}.tabla-videos-linea th:nth-child(4){width:35%}.tabla-videos-linea th:nth-child(5){width:18%}.tabla-videos-linea td:first-child{text-align:center}.enlace-video-linea{align-items:center;background:#e8f6ed;border:1px solid #81c99a;border-radius:50%;color:#08743e;cursor:pointer;display:inline-flex;font-size:13px;height:30px;justify-content:center;width:30px}.enlace-video-linea:hover{background:#08743e;color:#fff}
.tabla-videos-linea-contenedor,.tabla-videos-punto-contenedor{background:linear-gradient(135deg,#0b527b,#167eae);border-color:rgba(7,65,103,.72);box-shadow:inset 0 1px rgba(255,255,255,.18),0 7px 18px rgba(8,69,105,.18)}.tabla-videos-linea-contenedor summary,.tabla-videos-punto-contenedor summary{background:rgba(4,48,77,.28);color:#fff}.tabla-videos-linea-contenedor .tabla-responsiva,.tabla-videos-punto-contenedor .tabla-responsiva{padding:8px}.tabla-videos-linea-contenedor .tabla-videos-linea,.tabla-videos-punto-contenedor .tabla-videos-punto{background:rgba(255,255,255,.96);border-radius:8px;overflow:hidden}.tabla-videos-linea-contenedor .tabla-videos-linea th,.tabla-videos-punto-contenedor .tabla-videos-punto th{background:#d8edf7;color:#124866}.tabla-videos-punto th:nth-child(1),.tabla-videos-punto td:nth-child(1){text-align:center;width:16%}.tabla-videos-punto th:nth-child(2){width:59%}.tabla-videos-punto th:nth-child(3){width:25%}
.tabla-lineas th button { background:transparent; border:0; color:#52606d; cursor:pointer; font:inherit; font-weight:800; padding:0; text-align:left; text-transform:uppercase; }.tabla-lineas tbody tr[title] { position:relative; }
.vista-previa-marcador { color:#102f4b; display:grid; gap:8px; max-width:250px; padding:2px 3px; }.vista-previa-marcador .titulo-previa-marcador { background:linear-gradient(135deg, rgba(14,76,119,.92), rgba(31,119,165,.8)); border:1px solid rgba(219,246,255,.78); border-radius:8px; box-shadow:0 5px 12px rgba(9,44,73,.25), inset 0 1px 0 rgba(255,255,255,.32); color:#fff; display:block; font-size:13px; font-weight:800; line-height:1.3; padding:7px 9px; text-shadow:0 1px 1px rgba(0,0,0,.16); }.datos-previa-marcador { align-items:center; display:grid; gap:8px; grid-template-columns:minmax(0,1fr) auto; }.vista-previa-marcador .datos-previa-marcador > span:first-child { color:#173d5c; display:block; font-size:12px; font-weight:700; margin:0; min-width:0; }.vista-previa-marcador .criticidad-previa-marcador { background:rgba(255,255,255,.72); font-size:12px; font-weight:800; margin:0; padding:3px 8px; white-space:nowrap; width:auto; }
.gm-style .gm-style-iw-c { background:linear-gradient(135deg, rgba(216,239,252,.96), rgba(176,216,239,.9)) !important; border:1px solid rgba(255,255,255,.9) !important; border-radius:12px !important; box-shadow:0 12px 30px rgba(9,37,63,.34), inset 0 1px 0 rgba(255,255,255,.95) !important; padding:10px 12px !important; }.gm-style .gm-style-iw-d { max-height:none !important; overflow:hidden !important; }.gm-style .gm-ui-hover-effect { display:none !important; }.gm-style .gm-style-iw-tc::after { background:rgba(190,223,242,.94) !important; box-shadow:-1px 1px 0 rgba(255,255,255,.88) !important; height:14px !important; width:14px !important; }
.gm-style .gm-control-active,
.gm-style .gm-fullscreen-control,
.gm-style .gm-bundled-control .gmnoprint > div,
.gm-style .gm-bundled-control .gm-svpc,
.gm-style .gm-style-mtc button {
    background: rgba(255,255,255,.52) !important;
    border-color: rgba(255,255,255,.78) !important;
    box-shadow: 0 6px 18px rgba(13,45,72,.22), inset 0 1px 0 rgba(255,255,255,.88) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
}
.gm-style .gm-style-mtc button { color:#163a58 !important; font-weight:750 !important; }
.gm-style .gm-style-mtc button[aria-pressed="true"] { background:rgba(255,255,255,.78) !important; color:#0b7040 !important; }
.gm-style .gm-control-active:hover,
.gm-style .gm-fullscreen-control:hover,
.gm-style .gm-bundled-control .gmnoprint > div:hover,
.gm-style .gm-style-mtc button:hover { background:rgba(255,255,255,.72) !important; }
.tooltip-linea { background:rgba(22,42,64,.96); border:1px solid rgba(255,255,255,.18); border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,.24); color:#fff; font-size:12px; line-height:1.4; max-width:360px; padding:9px 11px; pointer-events:none; position:fixed; z-index:9999; }
.titulo-expediente-enlace { color:#08783f !important; cursor:pointer; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:4px; }
.boton-centrar-linea { background:#edf7f0; border:1px solid #9ad1ae; color:#176638; cursor:pointer; font-size:12px; font-weight:750; margin:12px 0 0; padding:7px 10px; }
.badge-punto.resumen-indicaciones { background:#eef4ff; border-color:#bcd0f3; color:#264f88; }.badge-punto.resumen-fotos { background:#eefaf4; border-color:#aee1c4; color:#176638; }.badge-punto.resumen-documentos { background:#fff6e8; border-color:#edcf91; color:#8a5a0a; }.badge-punto.acta { align-items:center; box-shadow:0 1px 2px rgba(22,102,56,.14); display:inline-flex; font-weight:750; }.badge-punto.acta::after { content:"↗"; font-size:13px; margin-left:2px; }
.sgac-app button, .resumen-lineas button { border-radius:7px; transition:background .16s ease, box-shadow .16s ease, transform .16s ease; }.sgac-app button:active, .resumen-lineas button:active { transform:scale(.98); }.sgac-app select, .sgac-app input[type="search"], .sgac-app input[type="number"] { border-radius:8px; }
.sgac-filtros .incluir-sin-informacion { align-items:center; display:flex; gap:8px; }.sgac-filtros .incluir-sin-informacion input[type="checkbox"] { appearance:none; background:#b7c4cf; border:0; border-radius:999px; cursor:pointer; height:20px; margin:0; position:relative; width:36px; }.sgac-filtros .incluir-sin-informacion input[type="checkbox"]::before { background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.26); content:""; height:16px; left:2px; position:absolute; top:2px; transition:transform .18s ease; width:16px; }.sgac-filtros .incluir-sin-informacion input[type="checkbox"]:checked { background:#168047; }.sgac-filtros .incluir-sin-informacion input[type="checkbox"]:checked::before { transform:translateX(16px); }
.resumen-lineas { border: 1px solid #d9e4ed; box-shadow: 0 4px 14px rgba(17, 43, 82, .06); margin:14px 0 0; max-width: none; }.encabezado-resumen { padding: 14px 18px; }.tabla-lineas th { font-size: 11px; }.tabla-lineas th, .tabla-lineas td { padding: 10px 16px; }.tabla-lineas td:first-child { color: #244b76; font-weight: 700; }
.boton-mostrar-lineas { background: #fff; border: 1px solid #cbd8e3; border-radius: 6px; color: #166a3a; cursor: pointer; font-size: 12px; font-weight: 700; margin: 10px 18px 14px; padding: 7px 10px; }

/* Jerarquía visual Liquid Glass para la pantalla principal del visor. */
body.sgac-visor {
    background:
        radial-gradient(circle at 8% 7%, rgba(12, 91, 141, .24), transparent 28%),
        radial-gradient(circle at 93% 18%, rgba(13, 129, 75, .16), transparent 25%),
        linear-gradient(145deg, #d8e5ed 0%, #f2f6f8 48%, #dce9ed 100%);
}
.sgac-topbar {
    background: linear-gradient(110deg, rgba(255,255,255,.9), rgba(201,225,237,.78));
    border-bottom-color: rgba(255,255,255,.86);
    box-shadow: 0 8px 22px rgba(18,54,83,.1), inset 0 -1px 0 rgba(50,110,145,.1);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
}
.panel-filtros,
.panel-desplegable,
.resumen-lineas {
    background: linear-gradient(135deg, rgba(251,253,254,.86), rgba(196,220,234,.7));
    border-color: rgba(255,255,255,.86);
    box-shadow: 0 10px 26px rgba(16,51,80,.1), inset 0 1px 0 rgba(255,255,255,.96);
    -webkit-backdrop-filter: blur(20px) saturate(145%);
    backdrop-filter: blur(20px) saturate(145%);
}
.panel-filtros summary,
.panel-desplegable summary {
    background: linear-gradient(100deg, rgba(178,211,230,.72), rgba(238,248,252,.48));
    border-radius: inherit;
    color: #143c60;
    letter-spacing: .005em;
}
.panel-filtros:not([open]) summary,
.panel-desplegable:not([open]) summary {
    background: linear-gradient(105deg, rgba(111,133,148,.86), rgba(143,164,177,.8));
    box-shadow: 0 7px 17px rgba(58,77,91,.15), inset 0 1px 0 rgba(245,249,252,.36);
    color: #fff;
}
.panel-filtros[open] summary,
.panel-desplegable[open] summary {
    background: linear-gradient(105deg, rgba(151,174,188,.72), rgba(190,208,218,.64));
    border-bottom: 1px solid rgba(54,94,117,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
    color: #173d5c;
}
.panel-filtros summary small,
.panel-desplegable summary small { color: #244f72; font-weight: 650; }
.panel-filtros:not([open]) summary small,
.panel-desplegable:not([open]) summary small { color: rgba(235,248,253,.9); }
.panel-filtros[open] summary small,
.panel-desplegable[open] summary small { color: #244f6d; }
.filtros-mapa.sgac-filtros { background: rgba(255,255,255,.16); }
.sgac-filtros select,
.sgac-filtros input[type="search"] {
    background: rgba(255,255,255,.72);
    border-color: rgba(120,161,190,.42);
    box-shadow: inset 0 1px 2px rgba(31,82,114,.06);
}
.sgac-filtros select:focus,
.sgac-filtros input[type="search"]:focus {
    background: rgba(255,255,255,.92);
    border-color: #2a8cbc;
    box-shadow: 0 0 0 3px rgba(36,139,190,.17);
}
.configuracion-criticidad,
.configuracion-leyenda,
.grupo-elementos-mapa {
    background: rgba(226,240,247,.6);
    border-color: rgba(60,128,167,.28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.encabezado-resumen {
    background: linear-gradient(105deg, rgba(14,79,119,.9), rgba(34,133,163,.74));
    border-bottom: 1px solid rgba(255,255,255,.28);
    border-radius: 10px 10px 0 0;
}
.titulo-resumen-lineas { color: #fff; }
.tabla-lineas { background: rgba(255,255,255,.46); }
.tabla-lineas th {
    background: rgba(31,107,145,.78);
    border-top-color: rgba(132,194,221,.44);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}
.tabla-lineas th button { color: #fff; font-size: 13px; }
.tabla-lineas td { border-top-color: rgba(128,169,194,.2); color: #224562; }
.tabla-lineas tbody tr:nth-child(even) { background: rgba(220,238,247,.5); }
.tabla-lineas tbody tr:hover { background: rgba(203,237,222,.7); box-shadow: inset 4px 0 0 #168047; }
.tabla-lineas tbody tr.linea-activa { background: rgba(195,237,211,.76); box-shadow: inset 4px 0 0 #08783f; }
.boton-mostrar-lineas { background: rgba(255,255,255,.7); border-color: rgba(74,140,174,.4); box-shadow: 0 4px 10px rgba(22,66,96,.1); }

@media (max-width: 1240px) { .filtros-mapa.sgac-filtros { grid-template-columns: repeat(3, minmax(0, 1fr)); }.sgac-filtros .buscador-mapa { grid-column: span 2; }.visor-mapa-layout { grid-template-columns: minmax(0, 1.5fr) minmax(330px, .9fr); } }
@media (max-width: 1100px) { .filtros-mapa.sgac-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }.sgac-filtros .buscador-mapa { grid-column: span 2; }.sgac-filtros .incluir-sin-informacion { grid-column: span 1; }.btn-consultar { grid-column: span 1; }.estado-consulta { grid-column: span 2; } }
@media (max-width: 900px) { .sgac-app { padding: 0 12px 16px; }.sgac-topbar { margin: 0 -12px 14px; padding: 0 14px; }.sgac-usuario span:first-child { display:none; }.visor-mapa-layout { grid-template-columns: 1fr; }.visor-mapa-layout.expediente-movil-plegado { grid-template-rows:minmax(0,1fr) auto; }.visor-mapa-layout.expediente-movil-plegado .mapa-contenedor { min-height:0; }.expediente-punto { height:auto; max-height:none; transform:translateY(12px); }.expediente-punto.is-visible { transform:translateY(0); }.expediente-punto header { cursor:default; }.alternar-expediente { align-items:center; background:rgba(255,255,255,.55); border:1px solid rgba(36,91,116,.28); border-radius:999px; color:#173f59; cursor:pointer; display:inline-flex; font:inherit; font-size:12px; font-weight:800; gap:7px; min-height:36px; padding:6px 10px; }.alternar-expediente i { border:solid currentColor; border-width:0 2px 2px 0; height:7px; transform:rotate(225deg); transition:transform .18s ease; width:7px; }.expediente-punto.expediente-plegado .alternar-expediente i { transform:rotate(45deg); }.expediente-punto.expediente-plegado .contenido-expediente { display:none; }.expediente-punto.expediente-plegado { align-self:start; height:max-content; max-height:max-content; overflow:hidden; }.contenido-expediente { min-height: 240px; }.expediente-inicial { min-height: 210px; }.leyenda-mapa { display:none; } }
@media (max-width: 820px) { .sgac-topbar { gap: 9px; padding-bottom: 10px; padding-top: 10px; }.sgac-marca { gap: 9px; }.sgac-marca img { height: 34px; width: 84px; }.sgac-marca span { font-size: 18px; }.sgac-usuario { gap: 8px; }.sgac-usuario span:last-child { display:none; }.panel-filtros summary, .panel-desplegable summary { padding: 12px 13px; }.panel-filtros summary small, .panel-desplegable summary small { font-size: 11px; max-width: 42%; } }
@media (max-width: 650px) { .filtros-mapa.sgac-filtros { grid-template-columns: minmax(0, 1fr); padding: 12px; }.sgac-filtros .buscador-mapa, .sgac-filtros .incluir-sin-informacion, .estado-consulta, .btn-consultar { grid-column: span 1; }.sgac-topbar { align-items:flex-start; }.sgac-marca { flex:1 1 0; }.sgac-marca span { font-size: 16px; }.sgac-marca img { width: 72px; }.sgac-usuario { font-size:13px; gap:7px; max-width:46%; } }
@media (max-width: 480px) { .sgac-app { padding:0 8px; }.sgac-topbar { margin:0 -8px 10px; min-height:54px; padding:8px 10px; }.sgac-marca { gap:7px; }.sgac-marca img { height:28px; width:64px; }.sgac-marca span { font-size:15px; line-height:1.05; }.sgac-usuario { display:none; }.panel-filtros summary, .panel-desplegable summary { font-size:13px; padding:11px 12px; }.panel-filtros summary small, .panel-desplegable summary small { display:none; }.filtros-mapa.sgac-filtros { gap:10px; padding:10px 12px 12px; }.sgac-filtros select, .sgac-filtros input[type="search"], .btn-consultar { height:42px; }.sgac-filtros .incluir-sin-informacion { min-height:34px; }.sgac-filtros select, .sgac-filtros input[type="search"], .btn-consultar { height:42px; }.sgac-filtros .incluir-sin-informacion { min-height:34px; }.estado-consulta { font-size:11px; }.configuracion-mapa > p, .configuracion-mapa > div, .configuracion-mapa > fieldset { margin-left:10px; margin-right:10px; }.control-agrupacion { gap:8px; margin:9px 10px; max-width:calc(100% - 20px); }.control-agrupacion small { white-space:normal; }.configuracion-leyenda { gap:8px 10px; }.configuracion-leyenda label { font-size:11px; }.visor-mapa-layout { gap:10px; }.estado-marcadores { max-width:calc(100% - 22px); }.estado-marcadores span { overflow:hidden; text-overflow:ellipsis; }.estado-marcadores small { display:none; } #mapaActividades { border-radius:8px; }.control-capas { left:8px; top:8px; }.control-capas summary { padding:8px 9px; }.lista-capas { max-width:calc(100vw - 32px); width:220px; }.expediente-punto header { padding:13px 14px; }.contenido-expediente { padding:14px; }.expediente-punto h2, .resumen-lineas h2 { font-size:16px; overflow-wrap:anywhere; }.resumen-lineas > p { font-size:12px; margin:9px 12px; }.encabezado-resumen { padding:12px; }.tabla-lineas th, .tabla-lineas td { padding:9px 11px; }.visor-fotos { width:100vw; }.cuerpo-visor-fotos { grid-template-columns:46px minmax(0,1fr) 46px; min-height:68vh; }.cuerpo-visor-fotos figure { padding:8px; }.navegacion-foto { font-size:34px; height:38px; width:38px; } }

/* Menú de usuario: conserva las acciones del encabezado en cualquier ancho. */
.sgac-usuario{display:block!important;max-width:none!important;position:relative;z-index:120}.menu-usuario{position:relative}.menu-usuario summary{align-items:center;background:rgba(255,255,255,.56);border:1px solid rgba(71,116,145,.24);border-radius:999px;color:#173d5c;cursor:pointer;display:flex;gap:8px;list-style:none;max-width:310px;padding:5px 9px 5px 6px}.menu-usuario summary::-webkit-details-marker{display:none}.menu-usuario summary:focus-visible{outline:3px solid rgba(22,128,71,.3);outline-offset:2px}.menu-usuario-avatar{align-items:center;background:linear-gradient(135deg,#0e5c82,#168047);border-radius:50%;color:#fff;display:inline-flex;height:29px;justify-content:center;width:29px}.menu-usuario-nombre{font-size:12px;font-weight:800;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-usuario-flecha{font-size:10px;transition:transform .18s ease}.menu-usuario[open] .menu-usuario-flecha{transform:rotate(180deg)}.menu-usuario-panel{background:linear-gradient(145deg,rgba(250,253,255,.96),rgba(211,231,240,.91));border:1px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 16px 36px rgba(15,53,80,.24),inset 0 1px rgba(255,255,255,.9);display:grid;gap:7px;min-width:260px;padding:10px;position:absolute;right:0;top:calc(100% + 8px);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}.menu-usuario-datos{border-bottom:1px solid rgba(84,127,153,.2);display:grid;gap:2px;padding:4px 6px 10px}.menu-usuario-datos strong{color:#163d5b;font-size:13px}.menu-usuario-datos span{color:#577189;font-size:11px}.menu-usuario-datos small{color:#08743e;font-size:11px;font-weight:800;margin-top:3px}.menu-usuario-accion,.menu-usuario-salir{align-items:center;background:rgba(255,255,255,.56);border:1px solid rgba(91,132,157,.22);border-radius:10px;color:#244b68!important;cursor:pointer;display:flex;font:inherit;font-size:12px;font-weight:800;gap:8px;justify-content:flex-start;padding:10px 11px;text-decoration:none!important}.menu-usuario-accion:hover{background:rgba(222,245,231,.86);color:#08743e!important}.menu-usuario-salir{color:#8a3434!important}.menu-usuario-salir:hover{background:rgba(255,238,238,.92)}
@media(max-width:650px){.sgac-topbar{align-items:center!important}.sgac-marca{min-width:0}.menu-usuario-nombre{max-width:110px}.menu-usuario-panel{min-width:min(280px,calc(100vw - 20px))}}
@media(max-width:480px){.sgac-usuario{display:block!important}.sgac-topbar{gap:6px}.sgac-marca{flex:1 1 auto}.menu-usuario summary{gap:5px;padding:4px 7px 4px 5px}.menu-usuario-avatar{height:28px;width:28px}.menu-usuario-nombre{display:block!important;font-size:11px;max-width:92px}.menu-usuario-panel{right:-2px}.menu-usuario-flecha{font-size:9px}}

/* El encabezado crea su propia capa porque backdrop-filter también crea un contexto de apilamiento. */
.menu-usuario-panel .menu-usuario-accion:hover,.menu-usuario-panel .menu-usuario-accion:focus-visible,.menu-usuario-panel .menu-usuario-salir:hover,.menu-usuario-panel .menu-usuario-salir:focus-visible{background:#fff0b8;border-color:#d9ad45;color:#624608!important;box-shadow:inset 0 0 0 1px rgba(217,173,69,.18);outline:none}
.menu-usuario-panel .menu-usuario-salir:hover,.menu-usuario-panel .menu-usuario-salir:focus-visible{background:rgba(255,238,238,.92);border-color:rgba(176,91,91,.28);color:#8a3434!important;box-shadow:none}
.sgac-topbar{isolation:isolate;overflow:visible;position:relative;z-index:10000}.menu-usuario[open]{z-index:10001}.menu-usuario-panel{z-index:10002}

/* Con una sola fotografía no quedan columnas reservadas para flechas ocultas. */
.cuerpo-visor-fotos.una-foto { grid-template-columns: minmax(0, 1fr); }
.cuerpo-visor-fotos.una-foto figure { width: 100%; }

/* Herramientas del visor: accesos compactos en encabezado y paneles emergentes. */
.sgac-herramientas { align-items: center; display: flex; gap: 8px; margin-left: auto; }
.acceso-herramienta { align-items: center; background: rgba(255,255,255,.54); border: 1px solid rgba(71,116,145,.28); border-radius: 999px !important; color: #173d5c; cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 800; gap: 7px; min-height: 38px; padding: 8px 12px; }
.acceso-herramienta:hover { background: rgba(224,242,249,.84); border-color: rgba(22,128,71,.35); color: #08743e; box-shadow: 0 5px 14px rgba(15,53,80,.12); }
.acceso-herramienta i { color: #0e6d94; font-size: 13px; }
.dialogo-herramienta { background: transparent; border: 0; border-radius: 18px; max-height: calc(100vh - 30px); max-width: calc(100vw - 28px); overflow: visible; padding: 0; width: min(940px, calc(100vw - 28px)); }
.dialogo-herramienta[hidden] { display: none !important; }
.dialogo-herramienta:not([open]) { display: none !important; pointer-events: none !important; visibility: hidden !important; }
/* Fija el panel en la capa superior incluso sobre los controles de Google Maps. */
.dialogo-herramienta[open] { inset: 50% auto auto 50%; margin: 0; position: fixed; transform: translate(-50%, -50%); z-index: 2147483647; }
.dialogo-herramienta::backdrop { background: rgba(8,31,51,.34); }
.herramienta-modal-abierta { overflow: hidden; }
/* Fondo aislado: no volver inert ni invalidar el árbol de marcadores. */
.fondo-herramientas-mapa { background:rgba(8,31,51,.34); position:fixed; inset:0; z-index:2147483646; touch-action:none; }
.fondo-herramientas-mapa[hidden] { display:none !important; }
html:has(#actividadesMapa) { scrollbar-gutter: stable; }
.herramienta-modal-abierta .dialogo-herramienta[open] { filter: none; pointer-events: auto; }
.panel-herramienta { background: linear-gradient(145deg, rgba(250,253,255,.95), rgba(194,220,234,.88)) !important; border: 1px solid rgba(255,255,255,.92) !important; border-radius: 18px !important; box-shadow: 0 20px 52px rgba(12,45,72,.28), inset 0 1px 0 rgba(255,255,255,.96) !important; margin: 0 !important; max-height: calc(100vh - 30px) !important; overflow: auto; padding: 0 !important; }
.encabezado-herramienta { align-items: flex-start; background: linear-gradient(105deg, rgba(14,79,119,.88), rgba(34,133,163,.7)); border-bottom: 1px solid rgba(255,255,255,.32); border-radius: 18px 18px 0 0; display: flex; justify-content: space-between; padding: 15px 18px; }
.encabezado-herramienta .eyebrow { color: rgba(231,248,255,.85); }
.encabezado-herramienta h2 { color: #fff; font-size: 20px; margin: 3px 0; }
.encabezado-herramienta p { color: rgba(238,249,254,.88) !important; font-size: 12px !important; margin: 0 !important; }
.encabezado-herramienta button { align-items: center; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.6); border-radius: 50% !important; color: #fff; cursor: pointer; display: inline-flex; font-size: 25px; height: 32px; justify-content: center; line-height: 1; padding: 0 0 3px; width: 32px; }
.encabezado-herramienta button:hover { background: rgba(255,255,255,.4); }
.panel-herramienta .filtros-mapa.sgac-filtros { padding-top: 16px; }
.panel-herramienta .mensaje-criticidad { margin-bottom: 16px; }

@media (max-width: 820px) {
    .sgac-herramientas { gap: 6px; }
    .acceso-herramienta { min-height: 36px; padding: 7px 10px; }
}
@media (max-width: 650px) {
    .sgac-topbar { flex-wrap: wrap; }
    .sgac-herramientas { margin-left: 0; order: 3; width: 100%; }
    .acceso-herramienta { flex: 1 1 0; justify-content: center; }
    .dialogo-herramienta { max-height: calc(100vh - 16px); max-width: calc(100vw - 16px); width: calc(100vw - 16px); }
    .panel-herramienta { max-height: calc(100vh - 16px) !important; }
}
@media (max-width: 480px) {
    .sgac-usuario { display: block !important; }
    .sgac-herramientas { margin-top: 2px; }
    .encabezado-herramienta { padding: 13px 14px; }
    .encabezado-herramienta h2 { font-size: 17px; }
}

/* Pantallas compactas: nada esencial desaparece y las tablas conservan acceso a todas sus columnas. */
.tabla-responsiva,
.admin-tabla-wrap {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-color: rgba(20,104,145,.62) rgba(221,238,247,.8);
    scrollbar-gutter: stable;
}
.tabla-responsiva::-webkit-scrollbar,
.admin-tabla-wrap::-webkit-scrollbar { height: 12px; width: 12px; }
.tabla-responsiva::-webkit-scrollbar-track,
.admin-tabla-wrap::-webkit-scrollbar-track { background: rgba(221,238,247,.8); border-radius: 999px; }
.tabla-responsiva::-webkit-scrollbar-thumb,
.admin-tabla-wrap::-webkit-scrollbar-thumb { background: linear-gradient(90deg, #176f99, #168047); border: 3px solid rgba(221,238,247,.8); border-radius: 999px; }

@media (max-width: 900px) {
    .leyenda-mapa {
        display: block;
        max-height: calc(var(--altura-visor) - 26px);
        max-width: calc(100% - 24px);
        overflow: auto;
        width: 240px;
    }
    .leyenda-mapa:not([open]) { overflow: hidden; width: auto; }
    .tabla-responsiva::before,
    .admin-tabla-wrap::before {
        color: #155376;
        content: "Desliza para ver más columnas  →";
        display: block;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .01em;
        padding: 8px 12px 3px;
        position: sticky;
        left: 0;
        width: max-content;
    }
    .tabla-responsiva,
    .admin-tabla-wrap { padding-bottom: 5px; }
}

@media (max-width: 800px) {
    .modal-administracion { height: min(94vh, 820px); width: 98vw; }
    .admin-liquid { flex-direction: column; }
    .admin-sidebar {
        border-bottom: 1px solid rgba(255,255,255,.22);
        border-right: 0;
        flex: 0 0 auto;
        padding: 10px 12px 9px;
    }
    .admin-identidad,
    .admin-pie { display: none !important; }
    .admin-sidebar nav {
        display: flex;
        gap: 7px;
        margin: 0;
        overflow-x: auto;
        padding: 1px 1px 4px;
        scrollbar-width: thin;
    }
    .admin-sidebar .admin-tab,
    .admin-sidebar .admin-tab:not(.activo) {
        display: block !important;
        flex: 0 0 auto;
        font-size: 12px;
        padding: 9px 13px;
        text-align: center;
        white-space: nowrap;
    }
    .admin-contenido { min-height: 0; overflow: auto; padding: 18px 15px; }
}

@media (max-width: 480px) {
    .leyenda-mapa { bottom: 10px; left: 8px; max-width: calc(100% - 16px); width: min(240px, calc(100% - 16px)); }
    .leyenda-mapa summary { font-size: 14px; padding: 10px 12px; }
    .contenido-leyenda { gap: 7px; padding: 0 12px 12px; }
    .leyenda-mapa span { font-size: 12px; }
}

/* Apertura de ventanas y menús: transición suave tipo macOS, sin rebote. */
@keyframes sgac-revelar-ventana {
    from { opacity: 0; transform: translateY(-5px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.dock-interaccion[open] > :not(summary),
.control-navegacion-mapa.menu-navegacion-abierto .menu-navegacion-mapa:not([hidden]),
.dialogo-herramienta[open].dock-interaccion .panel-herramienta {
    animation: sgac-revelar-ventana 180ms ease-out both;
    backface-visibility: hidden;
    transform-origin: top center;
    will-change: opacity, transform;
}
.control-capas.dock-interaccion[open] > :not(summary),
.leyenda-mapa.dock-interaccion[open] > :not(summary),
.control-navegacion-mapa.menu-navegacion-abierto .menu-navegacion-mapa:not([hidden]) { transform-origin: left bottom; }
.menu-usuario.dock-interaccion[open] > :not(summary) { transform-origin: right top; }
@media (prefers-reduced-motion: reduce) {
    .dock-interaccion[open] > :not(summary),
    .control-navegacion-mapa.menu-navegacion-abierto .menu-navegacion-mapa:not([hidden]),
    .dialogo-herramienta[open].dock-interaccion .panel-herramienta { animation: none; }
}

/* Encabezado de navegación: se compacta en un acceso SEMAT al desplazarse. */
.sgac-topbar {
    --progreso-scroll: 0;
    background: rgba(250,253,255,calc(.96 - (var(--progreso-scroll) * .3)));
    transition: background .26s ease, border-color .26s ease, border-radius .28s ease, box-shadow .28s ease, height .28s ease, left .28s ease, margin .28s ease, min-height .28s ease, padding .28s ease, top .28s ease, transform .28s ease, width .28s ease;
}
.sgac-topbar.topbar-compacta {
    align-items:center;
    background:linear-gradient(145deg,rgba(239,250,255,.68),rgba(164,210,232,.53));
    border:1px solid rgba(255,255,255,.8);
    border-radius:50%;
    box-shadow:0 12px 30px rgba(11,48,76,.22), inset 0 1px 0 rgba(255,255,255,.86);
    display:flex;
    height:58px;
    justify-content:center;
    left:16px;
    margin:0;
    min-height:58px;
    padding:5px;
    position:fixed;
    top:14px;
    width:58px;
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    backdrop-filter:blur(18px) saturate(140%);
}
.sgac-topbar.topbar-compacta .sgac-marca {
    align-items:center;
    border-radius:50%;
    cursor:pointer;
    flex:0 0 48px;
    height:48px;
    justify-content:center;
    overflow:hidden;
    padding:2px;
    width:48px;
}
.sgac-topbar.topbar-compacta .sgac-marca:focus-visible { outline:3px solid rgba(19,128,71,.62); outline-offset:2px; }

/* El clic no deja un borde de foco persistente en los botones del visor. */
.sgac-app button:focus,
.sgac-app summary:focus,
.sgac-app [role="button"]:focus { outline:0; }
.sgac-topbar.topbar-compacta .sgac-marca img { height:37px; max-width:45px; width:45px; }
.sgac-topbar.topbar-compacta .sgac-marca span,
.sgac-topbar.topbar-compacta:not(.menu-expandido) .sgac-herramientas,
.sgac-topbar.topbar-compacta:not(.menu-expandido) .sgac-usuario {
    opacity:0;
    pointer-events:none;
    position:absolute;
    transform:translateY(-6px) scale(.97);
    visibility:hidden;
}
.sgac-topbar.topbar-compacta.menu-expandido {
    background:linear-gradient(145deg,rgba(244,252,255,.84),rgba(181,218,235,.68));
    border-radius:18px;
    height:auto;
    justify-content:space-between;
    left:50%;
    min-height:62px;
    padding:10px 16px;
    transform:translateX(-50%);
    width:min(1120px,calc(100vw - 32px));
}
.sgac-topbar.topbar-compacta.menu-expandido .sgac-marca {
    flex:0 1 auto;
    height:42px;
    justify-content:flex-start;
    overflow:visible;
    padding:0;
    width:auto;
}
.sgac-topbar.topbar-compacta.menu-expandido .sgac-marca img { height:38px; max-width:102px; width:102px; }
.sgac-topbar.topbar-compacta.menu-expandido .sgac-marca span,
.sgac-topbar.topbar-compacta.menu-expandido .sgac-herramientas,
.sgac-topbar.topbar-compacta.menu-expandido .sgac-usuario {
    opacity:1;
    pointer-events:auto;
    position:static;
    transform:none;
    visibility:visible;
}
@keyframes sgac-mostrar-titulo-barra {
    from { opacity:0; transform:translateX(-8px); }
    to { opacity:1; transform:translateX(0); }
}
.sgac-topbar.topbar-compacta.menu-expandido .sgac-marca span {
    animation:sgac-mostrar-titulo-barra .16s ease-out .18s both;
    display:block;
}
@media (max-width: 720px) {
    .sgac-topbar.topbar-compacta.menu-expandido { align-items:center!important; flex-wrap:wrap; gap:8px; justify-content:flex-start; }
    .sgac-topbar.topbar-compacta.menu-expandido .sgac-herramientas { flex:1 1 auto; margin-left:0; order:3; width:100%; }
    .sgac-topbar.topbar-compacta.menu-expandido .sgac-usuario { margin-left:auto; }
    .sgac-topbar.topbar-compacta.menu-expandido .acceso-herramienta { flex:1 1 0; justify-content:center; }
}
@media (max-width: 480px) {
    .sgac-topbar.topbar-compacta { left:10px; top:10px; }
    .sgac-topbar.topbar-compacta.menu-expandido { padding:9px 11px; width:calc(100vw - 20px); }
    .sgac-topbar.topbar-compacta.menu-expandido .sgac-marca span { font-size:15px; }
    .sgac-topbar.topbar-compacta.menu-expandido .acceso-herramienta { font-size:11px; min-height:36px; padding:7px 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .sgac-topbar { transition:none; }
    .sgac-topbar.topbar-compacta.menu-expandido .sgac-marca span { animation:none; }
}
/* Configuración IA dentro de Administración: misma superficie Liquid Glass. */
.admin-ia-panel{background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(222,244,249,.52));border:1px solid rgba(255,255,255,.78);border-radius:18px;margin-top:22px;padding:20px}.admin-ia-panel h3{color:#163d57;margin:0 0 6px}.admin-ia-panel>p{color:#60798c;font-size:13px;line-height:1.5}.admin-ia-panel .admin-form-grid{margin-top:16px}.admin-ia-panel .admin-form-grid>label{align-items:center;background:rgba(255,255,255,.65);border:1px solid rgba(94,151,174,.25);border-radius:12px;color:#214e67;display:flex;gap:9px;padding:11px 13px}.admin-ia-panel input[type="checkbox"]{accent-color:#0b7c70;height:18px;width:18px}.admin-ia-panel .admin-form-grid>p{background:rgba(15,101,126,.07);border-radius:12px;color:#4a697c;font-size:12px;grid-column:1/-1;line-height:1.6;margin:0;padding:12px}.admin-ia-panel code{background:rgba(255,255,255,.75);border-radius:5px;color:#0b607b;padding:2px 4px}.admin-ia-panel footer{grid-column:1/-1;text-align:right}
.admin-busqueda select{appearance:none;background:rgba(255,255,255,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%234c657b' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid rgba(108,141,163,.3);border-radius:10px;color:#163450;font:inherit;height:39px;outline-color:#168047;padding:0 38px 0 11px;width:100%}.admin-icono[href]{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}
.btn-recuperar-password{background:transparent!important;border:0!important;box-shadow:none!important;color:#28627f!important;font-size:12px!important;margin-top:2px!important;padding:7px!important}.btn-recuperar-password:hover{text-decoration:underline}.cambio-password>header{align-items:center;display:flex;justify-content:space-between}.cambio-password>header h2{margin:0}.cambio-password form label{color:#35536d;display:grid;font-size:12px;font-weight:800;gap:6px;margin:10px 0}.cambio-password form input{background:rgba(255,255,255,.78);border:1px solid rgba(91,132,157,.3);border-radius:10px;color:#163450;font:inherit;height:40px;padding:0 11px;width:100%}.pa-menu-cambiar-password{align-items:center;background:transparent;border:0;color:#244b68;cursor:pointer;display:flex;font:inherit;font-size:12px;font-weight:700;gap:8px;padding:8px 10px;text-align:left;width:100%}.pa-menu-cambiar-password:hover{background:rgba(222,245,231,.7);color:#08743e}

/* Expediente auténtico de Inicio cuando Seguimiento lo aloja dentro del mapa. */
body.sgac-modo-expediente,body.sgac-modo-expediente>.container-fluid,body.sgac-modo-expediente>.container-fluid>.row{height:100dvh!important;min-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}
body.sgac-modo-expediente #actividadesMapa{display:block!important;height:100dvh!important;min-height:0!important;padding:0!important;overflow:hidden!important}
body.sgac-modo-expediente #actividadesMapa>.sgac-topbar,body.sgac-modo-expediente #actividadesMapa>.visor-mapa-layout~*:not(dialog),body.sgac-modo-expediente .visor-mapa-layout>.mapa-contenedor{display:none!important}
body.sgac-modo-expediente .visor-mapa-layout,body.sgac-modo-expediente .visor-mapa-layout.sin-expediente{display:block!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.sgac-modo-expediente .expediente-punto,body.sgac-modo-expediente .visor-mapa-layout.sin-expediente .expediente-punto{display:block!important;width:100%!important;min-width:0!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}
body.sgac-modo-expediente .contenido-expediente{min-height:0!important}
/* Expediente documental V2: lo operativo ya está en las otras pestañas. */
body.sgac-expediente-seguimiento-v2 #expedientePunto>header>div:first-child{display:none}
body.sgac-expediente-seguimiento-v2 #expedientePunto>header{justify-content:flex-end;padding:6px 10px;min-height:44px}
body.sgac-expediente-seguimiento-v2 .dato-punto:has([data-campo="descripcion-punto"]),body.sgac-expediente-seguimiento-v2 .dato-punto:has([data-campo="reparacion"]),body.sgac-expediente-seguimiento-v2 .dato-punto:has([data-campo="fecha"]),body.sgac-expediente-seguimiento-v2 #badgesPunto .resumen-fotos,body.sgac-expediente-seguimiento-v2 #afectacionesExpedientePunto{display:none!important}
body.sgac-expediente-seguimiento-v2 .contenido-expediente{font-size:13px}
body.sgac-expediente-seguimiento-v2 #tabsExpediente button{font-size:13px;min-height:44px}
body.sgac-expediente-seguimiento-v2 #tabsExpediente button.activa{background:#1264ad;color:#fff;box-shadow:inset 0 -3px #72dcba}
.sgac-clima-boton{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:4px 9px;border:1px solid rgba(24,98,111,.28);border-radius:14px;background:rgba(255,255,255,.8);color:#164457;font-weight:750;white-space:nowrap;cursor:pointer}
.sgac-clima-boton[hidden],.sgac-clima-dialogo:not([open]){display:none!important}
.sgac-clima-boton:disabled{opacity:.75;cursor:default}
.sgac-clima-dialogo{position:fixed;max-width:min(560px,calc(100vw - 24px));max-height:min(650px,calc(100vh - 24px));width:max-content;min-width:min(360px,calc(100vw - 24px));padding:0;border:1px solid #b7d6db;border-radius:18px;background:#eff9fb;color:#173848;box-shadow:0 18px 60px rgba(4,33,49,.28);overflow:auto}
.sgac-clima-dialogo::backdrop{background:rgba(10,32,44,.3)}
.sgac-clima-dialogo>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(100deg,#dff9ed,#c7ebf3);border-bottom:1px solid #b7d6db}
.sgac-clima-dialogo>header div{display:flex;flex-direction:column}.sgac-clima-dialogo>header small{font-size:10px;letter-spacing:.08em;font-weight:750}.sgac-clima-dialogo>header strong{font-size:17px}.sgac-clima-dialogo>header button{border:0;background:transparent;color:#193b49;font-size:26px;line-height:1;cursor:pointer}
#sgacClimaContenido,#sgacClimaMapaContenido{padding:14px 16px}.sgac-clima-actual{display:flex;align-items:center;gap:16px;padding:12px;border-radius:14px;background:#d9edf4}.sgac-clima-actual>i{font-size:38px;color:#317a9a}.sgac-clima-actual>div{display:flex;flex-direction:column}.sgac-clima-temp{font-size:32px;font-weight:750;line-height:1.1}.sgac-clima-condicion{font-size:14px;font-weight:700}.sgac-clima-metrica{font-size:11px;color:#466476}
.clima-mapa-inicio{position:absolute;top:12px;right:70px;z-index:5;pointer-events:none}.clima-mapa-inicio .sgac-clima-boton{pointer-events:auto;min-height:38px;background:#f3fbfded;box-shadow:0 3px 12px #09273c42}@media(max-width:600px){.clima-mapa-inicio{top:10px;right:64px}}
.sgac-clima-horas{display:flex;gap:6px;overflow-x:auto;padding:12px 0}.sgac-clima-horas>div{display:flex;min-width:59px;flex-direction:column;align-items:center;gap:4px;padding:8px 5px;border:1px solid #d2e3e9;border-radius:10px;background:white;font-size:11px}.sgac-clima-horas i{font-size:19px;color:#4387a5}.sgac-clima-lluvia{color:#22799b}.sgac-clima-dias{border:1px solid #d2e3e9;border-radius:12px;overflow:hidden}.sgac-clima-dia{display:grid;grid-template-columns:64px 25px 70px 1fr;gap:8px;align-items:center;padding:9px 11px;background:#fff;font-size:12px}.sgac-clima-dia+.sgac-clima-dia{border-top:1px solid #e1edf0}.sgac-clima-dia i{color:#4387a5}.sgac-clima-nota{margin:10px 0 0;font-size:10px;line-height:1.4;color:#486675}.sgac-clima-nota a{color:#176b87;text-decoration:underline}
.sgac-modo-seguimiento .so-afectacion-linea-dialogo{width:min(500px,calc(100vw - 28px));min-width:0;max-height:calc(100dvh - 32px)}
.sgac-modo-seguimiento #soAfectacionLineaContenido{display:grid;gap:9px;padding:12px 15px}
.sgac-modo-seguimiento .so-afectacion-linea-item{padding:10px 11px;border:1px solid #e6c7a1;border-radius:10px;background:#fff8ed;font-size:11px;color:#355166}
.sgac-modo-seguimiento .so-afectacion-linea-item h3{margin:0 0 6px;font-size:13px;color:#7b4d17}
.sgac-modo-seguimiento .so-afectacion-linea-item p{margin:4px 0;line-height:1.4;overflow-wrap:anywhere}
.sgac-modo-seguimiento .so-indicador-afectacion{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:6px;padding:0;border:1px solid #dfb471;border-radius:7px;background:#fff0d6;color:#86510d;font-size:11px;cursor:pointer;vertical-align:middle}
.sgac-modo-seguimiento .so-indicador-afectacion:hover{background:#ffe4b2}
.sgac-modo-seguimiento .expediente-contexto-linea #cuerpoExpediente{max-height:min(42dvh,360px);overflow:auto;overscroll-behavior:contain;border:1px solid #dce7ee;border-radius:9px}
.sgac-modo-seguimiento .expediente-contexto-linea #cuerpoExpediente .tabla-puntos-linea{margin:0}
.sgac-modo-seguimiento .expediente-contexto-linea #cuerpoExpediente .tabla-puntos-linea th{position:sticky;top:0;z-index:1}
.afectaciones-expediente{border-color:#dfc498;background:#fffaf1}
.afectaciones-expediente summary{background:#fff0d6;color:#725020}
.afectaciones-expediente[open] summary{border-bottom-color:#e7d0a9}
.afectaciones-expediente .tabla-responsiva{max-height:300px;overflow:auto;overscroll-behavior:contain}
.tabla-afectaciones-expediente{border-collapse:collapse;min-width:790px;width:100%;font-size:11px}
.tabla-afectaciones-expediente th{position:sticky;top:0;z-index:1;background:#fff4e3;color:#684a21;text-align:left;padding:8px;border-bottom:1px solid #e4ca9d;white-space:nowrap}
.tabla-afectaciones-expediente td{padding:9px 8px;border-bottom:1px solid #eadbc5;color:#314c5f;vertical-align:top;min-width:80px;max-width:260px;overflow-wrap:anywhere}
.tabla-afectaciones-expediente td:nth-last-child(2){min-width:180px}
.tabla-afectaciones-expediente tr.afectacion-expediente-abierta{background:#fff9ed}
.tabla-afectaciones-expediente tr.afectacion-expediente-cerrada{background:#f7f9fa}
.tabla-afectaciones-expediente tr.afectacion-expediente-abierta td:nth-child(1),.tabla-afectaciones-expediente tr.afectacion-expediente-abierta td:nth-child(2){font-weight:800;color:#9b5e10}
.sgac-modo-seguimiento .tabla-afectaciones-expediente tr.afectacion-expediente-accionable{cursor:pointer}
.sgac-modo-seguimiento .tabla-afectaciones-expediente tr.afectacion-expediente-accionable:hover,.sgac-modo-seguimiento .tabla-afectaciones-expediente tr.afectacion-expediente-accionable:focus-visible{background:#ffe6b5;outline:2px solid #be7b19;outline-offset:-2px}

.admin-combo-lista[popover] { margin:0; inset:auto; max-width:calc(100vw - 16px); }

/* Secciones documentales del detalle V2; Inicio conserva su distribución. */
body.sgac-expediente-seguimiento-v2 #expedientePunto>header{display:none!important}
body.sgac-expediente-seguimiento-v2 .datos-punto,body.sgac-expediente-seguimiento-v2 .datos-tecnicos{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}body.sgac-expediente-seguimiento-v2 .datos-tecnicos strong,body.sgac-expediente-seguimiento-v2 .dato-punto strong{overflow-wrap:anywhere}
body.sgac-expediente-seguimiento-v2[data-so-section="expediente"] .resumen-indicaciones-linea,body.sgac-expediente-seguimiento-v2[data-so-section="expediente"] .perfil-tecnico-punto:has(#perfilIndicaciones){display:none!important}
body.sgac-expediente-seguimiento-v2[data-so-section="expediente"] #tabsExpediente button[data-tab="indicaciones"],body.sgac-expediente-seguimiento-v2[data-so-section="expediente"] #tabsExpediente button[data-tab="fotos-indicaciones"]{display:none}
body.sgac-expediente-seguimiento-v2[data-so-section="indicaciones"] #contenidoExpediente> :not(.resumen-indicaciones-linea):not(#tabsExpediente):not(#cuerpoExpediente){display:none!important}
body.sgac-expediente-seguimiento-v2[data-so-section="indicaciones"] #tabsExpediente button[data-tab="documentos"]{display:none}
body.sgac-expediente-seguimiento-v2[data-so-section="radiografia"] #contenidoExpediente> :not(.perfil-tecnico-punto:has(#perfilIndicaciones)){display:none!important}
@media(max-width:480px){body.sgac-expediente-seguimiento-v2 .datos-punto,body.sgac-expediente-seguimiento-v2 .datos-tecnicos{grid-template-columns:repeat(2,minmax(0,1fr))}}

body.sgac-expediente-seguimiento-v2 .contenido-expediente{padding:9px 10px!important}body.sgac-expediente-seguimiento-v2 .tabs-expediente{gap:6px;margin:9px 0 6px}body.sgac-expediente-seguimiento-v2 #tabsExpediente button{padding:4px 2px;min-height:36px}body.sgac-expediente-seguimiento-v2 .contenido-perfil-indicaciones{padding:5px}
body.sgac-expediente-seguimiento-v2[data-so-section="expediente"] #videosPunto{display:none!important}
body.sgac-expediente-seguimiento-v2[data-so-section="documentos"] #contenidoExpediente>:not(#cuerpoExpediente){display:none!important}
body.sgac-expediente-seguimiento-v2[data-so-section="videos"] #contenidoExpediente>:not(#videosPunto){display:none!important}

body.sgac-expediente-seguimiento-v2 .tabla-responsiva::before{display:none!important}body.sgac-expediente-seguimiento-v2 .lista-videos-expediente span,body.sgac-expediente-seguimiento-v2 .lista-videos-expediente small{color:#284b65}body.sgac-expediente-seguimiento-v2 .tabla-videos-punto td{color:#173f59}
.sgac-modo-seguimiento .datos-documento-inline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.sgac-modo-seguimiento .datos-documento-inline strong{font-size:13px}
.sgac-modo-seguimiento .datos-documento-inline span{font-size:11px;color:#62798c}

.marker-indicaciones{display:none;position:absolute;left:calc(100% + 7px);top:2px;max-width:240px;padding:4px 7px;border:1px solid #ffffffb8;border-radius:8px;background:#f5fcffe8;box-shadow:0 2px 8px #163d5722;color:#214e67;font-family:inherit;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}
.mapa-con-indicaciones .marker-indicaciones{display:block}

.marker-indicaciones>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker-indicaciones:hover{max-width:320px;white-space:normal}.marker-indicaciones:hover>span{white-space:normal;overflow:visible}

.capa-comparacion{display:grid;gap:5px;padding:10px;border-bottom:1px solid #bfd6df;margin-bottom:8px}
.capa-comparacion>label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:750;color:#234e68;cursor:pointer}.capa-comparacion>small{font-size:11px;color:#547080}
.capa-comparacion input[role=switch]{appearance:none!important;position:relative;width:42px!important;min-width:42px!important;height:24px!important;min-height:24px!important;flex:0 0 42px;padding:0!important;margin:0;border:0!important;border-radius:999px;background:#99afba;cursor:pointer}
.capa-comparacion input[role=switch]:after{content:'';position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #173d5c30;transition:transform .15s}
.capa-comparacion input[role=switch]:checked{background:#168661}.capa-comparacion input[role=switch]:checked:after{transform:translateX(18px)}.capa-comparacion input[role=switch]:focus-visible{outline:3px solid #168ca3;outline-offset:3px}

.capa-comparacion input[role=switch]:before{content:none!important}

.marker-indicaciones .marker-reparacion{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:10px;line-height:1;color:#fff;box-shadow:0 1px 3px #163d5733}.marker-indicaciones .marker-reparacion-pendiente{background:#b97808}.marker-indicaciones .marker-reparacion-atendida{background:#168451}

/* Vista previa propia: punta orientada con las coordenadas reales del indicador. */
.gm-style-iw-t:has(.vista-previa-marcador) .gm-style-iw-tc{display:none!important}
.gm-style .gm-style-iw-c:has(.vista-previa-marcador){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.gm-style-iw-d:has(.vista-previa-marcador){overflow:visible!important}
.vista-previa-marcador{position:relative;padding:12px 14px;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:linear-gradient(135deg,rgba(216,239,252,.96),rgba(176,216,239,.9));box-shadow:0 12px 30px rgba(9,37,63,.34),inset 0 1px 0 rgba(255,255,255,.95)}
:is(.vista-previa-marcador,.so-preview)::after{content:"";position:absolute;width:14px;height:14px;background:rgba(190,223,242,.94);transform:rotate(45deg);pointer-events:none}
:is(.vista-previa-marcador,.so-preview).sgac-popup-down::after{top:auto;right:auto;bottom:-7px;left:calc(var(--popup-arrow-x,50%) - 7px)}
:is(.vista-previa-marcador,.so-preview).sgac-popup-up::after{bottom:auto;right:auto;top:-7px;left:calc(var(--popup-arrow-x,50%) - 7px)}
:is(.vista-previa-marcador,.so-preview).sgac-popup-left::after{bottom:auto;right:auto;left:-7px;top:calc(var(--popup-arrow-y,50%) - 7px)}
:is(.vista-previa-marcador,.so-preview).sgac-popup-right::after{bottom:auto;left:auto;right:-7px;top:calc(var(--popup-arrow-y,50%) - 7px)}
/* Etiquetas independientes distribuidas; conectores no interceptan el mapa. */
.marker-indicaciones[hidden]{display:none!important}.marker-indicaciones:hover{max-width:240px;white-space:nowrap}.marker-indicaciones:hover>span{white-space:nowrap;overflow:hidden}
.marker-etiqueta-conector{position:absolute;height:1px;background:#ffffffc9;box-shadow:0 0 1px #28495b;transform-origin:0 50%;pointer-events:none;z-index:-1}

/* Carga real, centrada, sin desenfocar el árbol del mapa. */
.sgac-app .estado-marcadores{top:14px;left:50%;transform:translateX(-50%);z-index:10;pointer-events:none;background:#133a58f0;color:#fff;visibility:visible!important}
.estado-etiquetas{margin-top:0;background:#663c83f0!important}.estado-etiquetas b em{background:#efb9ff}.estado-etiquetas i{border-top-color:#efb9ff}
.clima-mapa-inicio{top:14px!important;right:14px!important}@media(max-width:480px){.clima-mapa-inicio{top:8px!important;right:8px!important}}
.mapa-alta-densidad :is(.marcador-actividad,.marcador-cluster):not(.marcador-seleccionado){box-shadow:0 0 0 1px #0005!important}.mapa-alta-densidad .insignia-area-trabajo{box-shadow:none!important}.mapa-alta-densidad .marcador-actividad{transition:none!important}.mapa-alta-densidad .marker-indicaciones{box-shadow:none!important}
.configuracion-densidad-etiquetas{display:grid;gap:9px;padding:12px;border:1px solid #c0d7df;border-radius:12px;background:#eff7fa}.configuracion-densidad-etiquetas legend{font-size:13px;font-weight:750}.configuracion-densidad-etiquetas label{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px}.configuracion-densidad-etiquetas input[type=number]{width:100px;min-height:36px;padding:6px;border:1px solid #bcd0de;border-radius:8px}.configuracion-densidad-etiquetas p,.configuracion-densidad-etiquetas small{font-size:11px;margin:0;color:#506f80}.configuracion-densidad-etiquetas button{justify-self:start;padding:8px 10px;border:1px solid #b9cfd9;border-radius:8px;background:#e6f2f7;color:#23526d;cursor:pointer}

.mapa-alta-densidad .so-marker.so-marker-afectado:not(.marcador-seleccionado){box-shadow:0 0 0 3px var(--so-state-affected),0 0 0 4px #0004!important}
/* Referencia aprobada: cuatro tarjetas compactas de rango en una fila adaptable. */
.configuracion-densidad-etiquetas.etiquetas-panel-compacto{display:block!important;padding:10px;border:1px solid #b8d5e4;border-radius:9px;background:#e7f1f7}
.etiquetas-panel-compacto .etiquetas-prioridad{display:flex!important;align-items:center;gap:8px;margin:0 0 9px;font-size:12px;color:#204c63}.etiquetas-prioridad input[role=switch]{appearance:none;position:relative;flex:none;width:36px;height:20px;padding:0;margin:0;border:0;border-radius:20px;background:#8fa7b5;cursor:pointer}.etiquetas-prioridad input[role=switch]::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.etiquetas-prioridad input[role=switch]:checked{background:#14856d}.etiquetas-prioridad input[role=switch]:checked::after{transform:translateX(16px)}
.etiquetas-range-cards{display:flex;flex-wrap:wrap;gap:9px;align-items:stretch}.etiquetas-range-card{--label-level-color:#8795a7;display:flex!important;align-items:center;gap:5px;margin:0!important;padding:7px 8px;border:1px solid color-mix(in srgb,var(--label-level-color) 45%,white);border-radius:7px;background:color-mix(in srgb,var(--label-level-color) 8%,white);color:#102a43!important;font-size:11px!important;white-space:nowrap}
.etiquetas-panel-compacto .etiquetas-range-card input[type=number]{width:65px!important;min-height:27px!important;height:27px!important;padding:2px 5px;border:1px solid #8b9ca8;border-radius:4px;background:#fff;color:#102a43;font-size:12px}
.etiquetas-color-muestra{display:block;flex:none;width:23px;height:17px;background:var(--label-level-color);border:1px solid #67808b50}.etiquetas-panel-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.etiquetas-panel-footer button{min-height:30px;padding:4px 9px;font-size:11px;border:1px solid #a9c0ce;border-radius:5px;background:#edf4f8;color:#365868;cursor:pointer}.etiquetas-panel-footer small{font-size:10px;color:#4a6b7d}.etiquetas-panel-compacto .etiquetas-detalle-visual{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0 0;font-size:11px;color:#2a5268}
@media(max-width:600px){.etiquetas-range-card{flex:1 1 220px;justify-content:space-between}}

/* Configuración: encabezado compacto fijo y desplazamiento exclusivo del cuerpo. */
#dialogoConfiguracionMapa{width:min(1040px,calc(100vw - 28px));max-height:calc(100dvh - 30px)}
#configuracionMapa{display:flex;flex-direction:column;max-height:calc(100dvh - 30px)!important;overflow:hidden}
#configuracionMapa>.encabezado-herramienta{flex:none;align-items:center;padding:9px 16px;gap:12px}
#configuracionMapa .encabezado-herramienta>div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:2px}
#configuracionMapa .encabezado-herramienta .eyebrow{display:none}
#configuracionMapa .encabezado-herramienta h2{margin:0;font-size:18px;line-height:1.3}
#configuracionMapa .encabezado-herramienta p{font-size:11px!important}
#configuracionMapa .encabezado-herramienta button{flex:none;width:28px;height:28px;font-size:22px}
#configuracionMapa>.configuracion-mapa-cuerpo{margin:0;padding:12px 16px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#configuracionMapa .configuracion-mapa-cuerpo>p{margin:0 0 10px;font-size:12px}
#configuracionMapa .configuracion-mapa-cuerpo>.control-agrupacion{margin:10px 0;max-width:none}
#configuracionMapa .configuracion-mapa-cuerpo>.configuracion-densidad-etiquetas{margin:12px 0}
@media(max-width:650px){#dialogoConfiguracionMapa{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#configuracionMapa{max-height:calc(100dvh - 16px)!important}#configuracionMapa>.encabezado-herramienta{padding:8px 12px}#configuracionMapa>.configuracion-mapa-cuerpo{padding:10px 12px}}

/* Si ambas cargas coinciden, la de etiquetas se muestra debajo sin tapar la de puntos. */
.mapa-contenedor:has(#estadoMarcadores:not([hidden])) .estado-etiquetas{margin-top:65px}

/* Relieve sólo por debajo del umbral configurable: el anillo conserva su color real. */
:is(#mapaActividades,#soMapa):not(.mapa-alta-densidad) :is(.marcador-actividad,.marcador-cluster){background:radial-gradient(circle at 30% 20%,#fff 0%,#fff 35%,#eef4f8 76%,#d9e4ec 100%);background-clip:padding-box}
:is(#mapaActividades,#soMapa):not(.mapa-alta-densidad) :is(.marcador-actividad,.marcador-cluster):not(.marcador-seleccionado){box-shadow:inset 0 2px 2px #fff,inset 0 -2px 3px #193c5226,0 3px 0 #16314970,0 5px 5px #0b25375c,0 9px 13px #09253b45}
:is(#mapaActividades,#soMapa):not(.mapa-alta-densidad) :is(.marcador-actividad,.marcador-cluster)::before{content:"";position:absolute;inset:-4px;border-radius:inherit;box-shadow:inset 0 2px 1px #ffffff8c,inset 0 -2px 2px #071f3b45;pointer-events:none}
:is(#mapaActividades,#soMapa):not(.mapa-alta-densidad) .insignia-area-trabajo{background:linear-gradient(145deg,#fff,#e3edf4);box-shadow:inset 0 1px 0 #fff,0 2px 0 #183d5266,0 3px 5px #0b2c4755}
:is(#mapaActividades,#soMapa):not(.mapa-alta-densidad) :is(.insignia-video,.so-marker-critical,.so-marker-alert,.marker-count){box-shadow:inset 0 1px 1px #ffffff80,0 2px 0 #15354a59,0 4px 5px #0d2d4655}
/* Resumen paginado: no ampliar el documento ni desplazar título/buscador/cabeceras. */
body.sgac-visor:has(#actividadesMapa):not(.sgac-modo-expediente){height:100dvh;overflow:hidden}body.sgac-visor #actividadesMapa{min-height:0;height:100dvh;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}body.sgac-visor #actividadesMapa>.sgac-topbar{margin-bottom:0;flex:none;position:relative;z-index:10000}body.sgac-visor #actividadesMapa>.visor-mapa-layout{min-height:0!important;height:100%!important;margin:0;overflow:hidden}body.sgac-visor #mapaActividades{min-height:0!important;height:100%!important}body.sgac-visor #resumenLineas{position:relative;z-index:30;margin:0;max-width:none;min-height:0;overflow:hidden}#detalleResumenLineas[open] .contenido-resumen-lineas{display:flex;flex-direction:column;height:min(400px,42dvh);min-height:0;overflow:hidden}#resumenLineas .encabezado-resumen{position:relative;flex:none;margin:0;padding:10px 16px}#resumenLineas .acciones-resumen-lineas{flex:none;padding:8px 12px;display:flex;align-items:center;gap:10px}#resumenLineas .tabla-responsiva{flex:1;min-height:0;overflow:auto;padding:0 10px}#resumenLineas .tabla-lineas{margin:0}#resumenLineas .tabla-lineas thead{position:sticky;top:0;z-index:2;background:#17627a}#resumenLineas .tabla-lineas td{padding:9px 12px;height:48px;box-sizing:border-box}#paginasResumenLineas{flex:none;margin:0;padding:6px 12px;min-height:42px;border-top:1px solid #bfd9e3;background:#edf8fa}#paginasResumenLineas[hidden]{display:none!important}#resumenLineas .tabla-lineas td:first-child{overflow-wrap:anywhere}#resumenLineas .mensaje-resumen-lineas{font-size:11px}#resumenLineas .titulo-resumen-lineas{font-size:15px}

/* Resumen compacto: cada línea conserva una fila y datos completos en ayuda. */
#resumenLineas .tabla-lineas{table-layout:fixed;width:100%;min-width:980px;font-size:11px;line-height:1.2}
#resumenLineas .tabla-lineas :is(th,td){padding:5px 8px;height:32px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#resumenLineas .tabla-lineas th{font-size:10px}#resumenLineas .tabla-lineas th button{font:inherit;padding:0;white-space:nowrap}
#resumenLineas .tabla-lineas :is(th,td):first-child{width:26%;overflow-wrap:normal}
#resumenLineas .tabla-lineas :is(th,td):nth-child(2){width:13%}#resumenLineas .tabla-lineas :is(th,td):nth-child(3){width:14%}
#resumenLineas .tabla-lineas :is(th,td):nth-child(n+4){text-align:right}
#resumenLineas .tabla-lineas tbody tr:nth-child(even){background:#edf6f9}#resumenLineas .tabla-lineas tbody tr:hover{background:#dceef4}
#resumenLineas .tabla-lineas .indicador-critico{font-size:11px;line-height:1.2;padding:3px 5px;min-height:0}
#resumenLineas .acciones-resumen-lineas{padding:5px 10px;gap:6px;flex-wrap:wrap}
#resumenLineas .acciones-resumen-lineas :is(button,input){font-size:11px;min-height:28px;height:28px;padding:4px 8px}
#filtrarLineasVistaMapa[aria-pressed=true]{background:#17627a;color:#fff;border-color:#17627a}
#resumenLineas .acciones-resumen-lineas button[hidden]{display:none}

#visorFotos[open]{display:flex;flex-direction:column;height:min(820px,92dvh);max-height:92dvh;overflow:hidden}
#visorFotos>header{flex:none;padding:10px 14px}#visorFotos .cuerpo-visor-fotos{flex:1;min-height:0;overflow:hidden;grid-template-columns:38px minmax(0,1fr) 38px}
#visorFotos figure{min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:6px}
#visorFotos figure img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;justify-self:center;align-self:center}
#visorFotos figcaption{font-size:11px;max-height:65px;overflow:auto;padding:5px}
.resumen-visor-fotos{display:flex;flex-wrap:wrap;gap:5px 12px;flex:none;padding:8px 14px;font-size:11px;line-height:1.35;color:#1d4c62;background:#edf6f9;border-bottom:1px solid #bcd7e2}
.miniaturas-mapa-visor{display:flex;gap:7px;flex:none;overflow-x:auto;padding:8px 12px;background:#edf6f9;border-top:1px solid #c4dce5}.miniatura-mapa-visor{width:68px;height:50px;flex:none;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#fff}.miniatura-mapa-visor img{width:100%;height:100%;object-fit:cover}.miniatura-mapa-visor[aria-pressed=true]{border-color:#138576;box-shadow:0 0 0 2px #13857635}
