/* SOS GeoMapa V1.3 Producción Base */
.sos-geomapa-production-ribbon{
	background:linear-gradient(135deg,#0f172a,#0f766e);
	color:#fff;
	border:1px solid #34d399;
	border-radius:10px;
	padding:10px 14px;
	margin:10px 0 16px;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	justify-content:space-between;
	box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.sos-geomapa-production-ribbon strong{color:#fef3c7}
.sos-geomapa-production-ribbon span{font-family:monospace;font-size:12px;color:#bfdbfe}
.sos-geo-save-status{
	position:fixed;
	right:24px;
	bottom:24px;
	z-index:99999;
	background:#0f172a;
	color:#fff;
	border:1px solid #38bdf8;
	border-radius:12px;
	padding:12px 14px;
	box-shadow:0 12px 30px rgba(0,0,0,.35);
	max-width:360px;
	font-weight:700;
}
.sos-geo-save-status.success{border-color:#34d399}
.sos-geo-save-status.error{border-color:#fb7185}

/* V2.1.9.5.2 */
#pd-correction-note{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}


/* SOS GeoMapa V2.1.9.5.2 Motor Catastral Base */
.sos-catastral-panel{
	background:linear-gradient(180deg,#0f172a,#111827);
	border:1px solid #38bdf8;
	border-radius:14px;
	padding:14px;
	margin:14px 0;
	color:#e5e7eb;
	box-shadow:0 12px 28px rgba(0,0,0,.25);
}
.sos-catastral-header{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:12px;
}
.sos-catastral-header strong{display:block;color:#fef3c7;font-size:16px}
.sos-catastral-header span{display:block;color:#93c5fd;font-size:12px;margin-top:3px}
.sos-catastral-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
	gap:10px;
}
.sos-catastral-grid label{
	color:#bfdbfe;
	font-weight:800;
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.sos-catastral-grid input,.sos-catastral-grid select{
	width:100%;
	margin-top:5px;
	background:#020617;
	color:#fff;
	border:1px solid #334155;
	border-radius:8px;
	padding:9px 10px;
}
.sos-catastral-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sos-catastral-actions button{
	background:#0ea5e9;
	color:#fff;
	border:0;
	border-radius:8px;
	padding:9px 12px;
	font-weight:900;
	cursor:pointer;
}
.sos-catastral-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	color:#e5e7eb;
	min-height:70px;
}
.sos-cat-card h3{color:#fef3c7;margin-top:0}
.sos-cat-semaforo{
	display:inline-block;
	color:#111827;
	font-weight:1000;
	border-radius:999px;
	padding:6px 12px;
	margin-bottom:8px;
}
.sos-cat-grid-result{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
	gap:10px;
}
.sos-cat-grid-result div{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:10px;
	padding:10px;
}
.sos-cat-warning{
	background:#451a03;
	border-left:5px solid #f59e0b;
	padding:10px;
	border-radius:8px;
	color:#fef3c7;
}

/* SOS GeoMapa V2.1.9.5.2 */
.sos-catastral-source-status{
	background:#0f172a;
	border:1px solid #334155;
	color:#bfdbfe;
	border-radius:10px;
	padding:10px 12px;
	margin-bottom:12px;
	font-weight:800;
}
.sos-catastral-source-status.ok{
	background:#052e16;
	border-color:#22c55e;
	color:#bbf7d0;
}
.sos-catastral-source-status.error{
	background:#450a0a;
	border-color:#ef4444;
	color:#fecaca;
}

/* SOS GeoMapa V2.1.9.5.2 */
.sos-cat-critical-alert{
	background:#450a0a;
	border:2px solid #ef4444;
	color:#fee2e2;
	border-radius:12px;
	padding:12px 14px;
	margin:10px 0 14px;
	box-shadow:0 0 0 2px rgba(239,68,68,.15);
}
.sos-cat-critical-alert strong{
	display:block;
	color:#fecaca;
	font-size:14px;
	margin-bottom:6px;
}
.sos-cat-critical-alert ul{margin:6px 0 8px 18px}
.sos-cat-critical-alert li{margin-bottom:4px}
.sos-cat-critical-alert span{font-weight:900;color:#fef3c7}

/* SOS GeoMapa V2.1.9.5.2 */
.sos-cat-alert-informativo{
	color:#bfdbfe;
}
.sos-cat-alert-rojo{
	color:#fecaca;
	font-weight:900;
}


/* SOS GeoMapa V2.1.9.5.2 Capas Oficiales Base */
.sos-official-layers-panel{
	background:rgba(15,23,42,.92);
	padding:10px;
	border-radius:8px;
	border:1px solid #0ea5e9;
	margin-top:8px;
	box-shadow:0 0 15px rgba(14,165,233,.15);
}
.sos-official-title{
	color:#7dd3fc;
	font-size:9px;
	font-weight:900;
	letter-spacing:1px;
	margin-bottom:8px;
	text-align:center;
}
.sos-layer-btn{
	width:100%;
	margin-bottom:5px;
	background:#075985!important;
	border-color:#38bdf8!important;
	color:#e0f2fe!important;
}
.sos-official-layer-status{
	background:#020617;
	border:1px solid #334155;
	color:#bfdbfe;
	border-radius:8px;
	padding:7px;
	font-size:10px;
	line-height:1.35;
	margin-top:6px;
}
.sos-official-layer-status.ok{
	background:#052e16;
	border-color:#22c55e;
	color:#bbf7d0;
}
.sos-official-layer-status.error{
	background:#450a0a;
	border-color:#ef4444;
	color:#fecaca;
}
.sos-source-ledger{
	position:absolute;
	left:14px;
	bottom:18px;
	z-index:800;
	background:rgba(2,6,23,.82);
	border:1px solid #38bdf8;
	color:#dbeafe;
	border-radius:8px;
	padding:6px 9px;
	font-size:10px;
	font-weight:800;
	max-width:520px;
	pointer-events:none;
	box-shadow:0 8px 20px rgba(0,0,0,.22);
}


/* SOS GeoMapa V2.1.9.5.2 Motor de Polígonos */
.sos-geomapa-public-shell{
	background:#020617;
	color:#fff;
	padding:12px;
	border-radius:14px;
	overflow:hidden;
}
.sos-geomapa-public-warning{
	background:#422006;
	color:#fef3c7;
	border:1px solid #f59e0b;
	border-radius:10px;
	padding:10px 12px;
	margin-bottom:12px;
	font-weight:800;
}
.sos-geomapa-public-shell #map,
.sos-geomapa-public-shell .leaflet-container{
	min-height:var(--sos-public-height,760px);
}
.sos-poligono-panel{
	background:linear-gradient(180deg,#082f49,#0f172a);
	border:1px solid #38bdf8;
	border-radius:14px;
	padding:14px;
	margin:14px 0;
	color:#e0f2fe;
}
.sos-poligono-header{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-bottom:10px;
}
.sos-poligono-header strong{display:block;color:#fef3c7;font-size:16px}
.sos-poligono-header span{display:block;color:#bae6fd;font-size:12px}
.sos-file-button{
	display:inline-block;
	background:#0ea5e9;
	color:#fff;
	border-radius:8px;
	padding:9px 12px;
	font-weight:900;
	cursor:pointer;
}
.sos-file-button input{display:none}
.sos-poligono-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.sos-poligono-actions button{
	background:#0369a1;
	color:#fff;
	border:0;
	border-radius:8px;
	padding:9px 12px;
	font-weight:900;
	cursor:pointer;
}
.sos-poligono-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	color:#e5e7eb;
	min-height:70px;
}
.sos-poly-summary{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	background:#0f172a;
	border:1px solid #38bdf8;
	border-radius:10px;
	padding:10px;
	margin-bottom:10px;
}
.sos-poly-summary span{background:#082f49;border-radius:999px;padding:5px 9px;font-weight:900}
.sos-poly-table-wrap{max-height:260px;overflow:auto}
.sos-poly-table-wrap table{width:100%;border-collapse:collapse}
.sos-poly-table-wrap th,.sos-poly-table-wrap td{border-bottom:1px solid #334155;padding:6px;text-align:left}
.sos-poly-warning{background:#451a03;border-left:5px solid #f59e0b;border-radius:8px;padding:9px;color:#fef3c7}
.sos-poly-error{background:#450a0a;color:#fecaca;border:1px solid #ef4444;border-radius:8px;padding:10px;font-weight:900}
.sos-poly-ok{background:#052e16;color:#bbf7d0;border:1px solid #22c55e;border-radius:8px;padding:10px;font-weight:900}

/* SOS GeoMapa V2.1.9.5.2 Shortcode Seguro */
.sos-geomapa-public-map{
	width:100%;
	height:var(--sos-public-height,760px);
	min-height:520px;
	border-radius:14px;
	border:1px solid #334155;
	overflow:hidden;
	margin-bottom:12px;
}
.sos-public-toolbar{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin:10px 0;
}
.sos-public-toolbar button,
.sos-public-actions button{
	background:#0369a1;
	color:#fff;
	border:0;
	border-radius:8px;
	padding:9px 12px;
	font-weight:900;
	cursor:pointer;
}
.sos-public-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	gap:14px;
}
.sos-public-card{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:14px;
	padding:14px;
	color:#e5e7eb;
}
.sos-public-card h3{
	color:#fef3c7;
	margin-top:0;
}
.sos-public-card label{
	display:block;
	color:#bfdbfe;
	font-weight:800;
	margin:8px 0;
}
.sos-public-card input{
	width:100%;
	background:#020617;
	color:#fff;
	border:1px solid #334155;
	border-radius:8px;
	padding:9px 10px;
	margin-top:4px;
}
.sos-public-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:12px 0;
}

/* SOS GeoMapa V2.1.9.5.2 */
.sos-cat-card small{line-height:1.45}


/* SOS GeoMapa V2.1.9.5.2 Shortcode Dashboard */
.sos-public-ficha-dashboard{
	background:#020617;
	border:1px solid #38bdf8;
	border-radius:16px;
	padding:16px;
	margin:14px 0;
	color:#e5e7eb;
	box-shadow:0 14px 34px rgba(0,0,0,.24);
}
.sos-public-ficha-dashboard h3{
	color:#fef3c7;
	margin:0 0 12px;
	font-size:20px;
}
.sos-public-ficha-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
	gap:12px;
}
.sos-public-ficha-tile{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:12px;
	padding:13px;
	min-height:90px;
}
.sos-public-ficha-tile strong{
	display:block;
	color:#bfdbfe;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.04em;
	margin-bottom:8px;
}
.sos-public-ficha-tile span{
	display:block;
	color:#fff;
	font-size:15px;
	font-weight:900;
	word-break:break-word;
}
.sos-public-ficha-tile small{
	display:block;
	color:#93c5fd;
	font-size:11px;
	margin-top:4px;
	line-height:1.35;
}
.sos-public-alerta-catastral{
	background:#422006;
	border:1px solid #f59e0b;
	color:#fef3c7;
	border-radius:10px;
	padding:10px 12px;
	margin-top:12px;
	font-weight:900;
}
.sos-public-alerta-catastral.ok{
	background:#052e16;
	border-color:#22c55e;
	color:#bbf7d0;
}
.sos-public-alerta-catastral.danger{
	background:#450a0a;
	border-color:#ef4444;
	color:#fecaca;
}

/* SOS GeoMapa V2.1.9.5 Shortcode Satelital + Zoom Pro */
.sos-public-zoom-badge{
	background:rgba(2,6,23,.84);
	color:#e0f2fe;
	border:1px solid #38bdf8;
	border-radius:8px;
	padding:6px 9px;
	font-weight:900;
	font-size:11px;
	box-shadow:0 6px 18px rgba(0,0,0,.28);
}
.sos-geomapa-public-shell .leaflet-control-layers{
	background:rgba(15,23,42,.94);
	color:#e5e7eb;
	border:1px solid #38bdf8;
	border-radius:10px;
	font-weight:800;
}
.sos-geomapa-public-shell .leaflet-control-layers label{
	color:#e5e7eb;
	margin:4px 0;
}
.sos-geomapa-public-shell .leaflet-control-scale-line{
	background:rgba(2,6,23,.75);
	color:#fff;
	border-color:#38bdf8;
}


/* SOS GeoMapa V2.1.9.5 Motor Avanzado de Polígonos y Cabida */
.sos-poly-advanced-panel{
	background:linear-gradient(180deg,#082f49,#020617);
	border:1px solid #38bdf8;
	border-radius:16px;
	padding:15px;
	margin:14px 0;
	color:#e0f2fe;
	box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.sos-poly-advanced-header{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-bottom:12px;
}
.sos-poly-advanced-header strong{display:block;color:#fef3c7;font-size:17px}
.sos-poly-advanced-header span{display:block;color:#bae6fd;font-size:12px;margin-top:3px}
.sos-poly-advanced-controls{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:10px;
	margin-bottom:10px;
}
.sos-poly-advanced-controls label{
	color:#bfdbfe;
	font-weight:900;
	font-size:11px;
	text-transform:uppercase;
}
.sos-poly-advanced-controls input{
	width:100%;
	background:#020617;
	color:#fff;
	border:1px solid #334155;
	border-radius:8px;
	padding:9px 10px;
	margin-top:5px;
}
.sos-poly-advanced-controls button,
.sos-poly-advanced-actions button{
	background:#0369a1;
	color:#fff;
	border:0;
	border-radius:8px;
	padding:9px 12px;
	font-weight:900;
	cursor:pointer;
}
.sos-poly-advanced-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:10px 0;
}
.sos-v18-summary{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	margin:10px 0;
}
.sos-v18-semaforo{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	border-radius:12px;
	padding:10px 12px;
	margin-bottom:10px;
	font-weight:900;
}
.sos-v18-semaforo.verde{background:#052e16;border:1px solid #22c55e;color:#bbf7d0}
.sos-v18-semaforo.amarillo{background:#422006;border:1px solid #f59e0b;color:#fef3c7}
.sos-v18-semaforo.rojo{background:#450a0a;border:1px solid #ef4444;color:#fecaca}
.sos-v18-semaforo.pendiente{background:#172554;border:1px solid #60a5fa;color:#dbeafe}
.sos-v18-metrics{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
	gap:10px;
}
.sos-v18-metrics div{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:10px;
	padding:10px;
}
.sos-v18-metrics strong{display:block;color:#bfdbfe;font-size:11px;text-transform:uppercase;margin-bottom:6px}
.sos-v18-metrics span{display:block;color:#fff;font-weight:1000;font-size:15px}
.sos-v18-metrics small{display:block;color:#93c5fd;margin-top:4px}
.sos-v18-warning{
	background:#451a03;
	border-left:5px solid #f59e0b;
	border-radius:8px;
	padding:9px;
	color:#fef3c7;
}
.sos-v18-table-wrap{
	max-height:340px;
	overflow:auto;
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
}
#sos-v18-vertices-table{
	width:100%;
	border-collapse:collapse;
}
#sos-v18-vertices-table th,
#sos-v18-vertices-table td{
	border-bottom:1px solid #334155;
	padding:7px;
	text-align:left;
	color:#e5e7eb;
}
#sos-v18-vertices-table input{
	width:100%;
	background:#0f172a;
	color:#fff;
	border:1px solid #334155;
	border-radius:6px;
	padding:6px;
}
#sos-v18-vertices-table button{
	background:#1d4ed8;
	color:#fff;
	border:0;
	border-radius:6px;
	padding:5px 7px;
	margin:2px;
	font-size:11px;
	cursor:pointer;
}


/* SOS GeoMapa V2.1.9.5 Informe Catastral Profesional */
.sos-report-panel{
	background:linear-gradient(180deg,#111827,#020617);
	border:1px solid #d4af37;
	border-radius:16px;
	padding:16px;
	margin:14px 0;
	color:#f9fafb;
	box-shadow:0 14px 34px rgba(0,0,0,.30);
}
.sos-report-header{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-bottom:14px;
}
.sos-report-header strong{
	display:block;
	color:#fef3c7;
	font-size:18px;
}
.sos-report-header span{
	display:block;
	color:#bfdbfe;
	font-size:12px;
	margin-top:3px;
}
.sos-report-header button,
.sos-report-actions button{
	background:#d4af37;
	color:#111827;
	border:0;
	border-radius:8px;
	padding:10px 13px;
	font-weight:1000;
	cursor:pointer;
}
.sos-report-form{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:10px;
}
.sos-report-form label{
	color:#bfdbfe;
	font-weight:900;
	font-size:11px;
	text-transform:uppercase;
}
.sos-report-form input,
.sos-report-form select,
.sos-report-form textarea{
	width:100%;
	background:#020617;
	color:#fff;
	border:1px solid #334155;
	border-radius:8px;
	padding:9px 10px;
	margin-top:5px;
}
.sos-report-form textarea{
	min-height:82px;
	resize:vertical;
}
.sos-report-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:12px 0;
}
.sos-v19-report-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	min-height:80px;
	color:#e5e7eb;
}
.sos-v19-preview{
	width:100%;
	height:680px;
	border:1px solid #64748b;
	border-radius:12px;
	background:#fff;
}


/* SOS GeoMapa V2.1.9.5 Integración SOS Registral */
.sos-registral-panel{
	background:linear-gradient(180deg,#0f172a,#111827);
	border:1px solid #22c55e;
	border-radius:16px;
	padding:16px;
	margin:14px 0;
	color:#f9fafb;
	box-shadow:0 14px 34px rgba(0,0,0,.30);
}
.sos-registral-header{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-bottom:14px;
}
.sos-registral-header strong{
	display:block;
	color:#bbf7d0;
	font-size:18px;
}
.sos-registral-header span{
	display:block;
	color:#bfdbfe;
	font-size:12px;
	margin-top:3px;
}
.sos-registral-header button,
.sos-v20-actions button{
	background:#22c55e;
	color:#052e16;
	border:0;
	border-radius:8px;
	padding:10px 13px;
	font-weight:1000;
	cursor:pointer;
}
.sos-v20-status,
.sos-v20-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	margin:10px 0;
	color:#e5e7eb;
}
.sos-v20-form{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:10px;
}
.sos-v20-form label{
	color:#bfdbfe;
	font-weight:900;
	font-size:11px;
	text-transform:uppercase;
}
.sos-v20-form input,
.sos-v20-form select{
	width:100%;
	background:#020617;
	color:#fff;
	border:1px solid #334155;
	border-radius:8px;
	padding:9px 10px;
	margin-top:5px;
}
.sos-v20-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:12px 0;
}
.sos-v20-ok{background:#052e16;color:#bbf7d0;border:1px solid #22c55e;border-radius:10px;padding:10px}
.sos-v20-warn{background:#422006;color:#fef3c7;border:1px solid #f59e0b;border-radius:10px;padding:10px}
.sos-v20-error{background:#450a0a;color:#fecaca;border:1px solid #ef4444;border-radius:10px;padding:10px}
.sos-v20-packet h4{color:#bbf7d0;margin:0 0 10px}
.sos-v20-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:10px;
}
.sos-v20-grid div{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:10px;
	padding:10px;
}
.sos-v20-grid strong{
	display:block;
	color:#bfdbfe;
	font-size:11px;
	text-transform:uppercase;
	margin-bottom:5px;
}
.sos-v20-grid span{display:block;color:#fff;font-weight:900}
.sos-v20-saved{
	background:#052e16;
	color:#bbf7d0;
	border:1px solid #22c55e;
	border-radius:10px;
	padding:10px;
	margin-top:10px;
	font-weight:900;
}


/* SOS GeoMapa V2.1.9.5 Capas Oficiales y Verificación Territorial */
.sos-official-v21-panel{
	background:linear-gradient(180deg,#172554,#020617);
	border:1px solid #60a5fa;
	border-radius:16px;
	padding:16px;
	margin:14px 0;
	color:#f9fafb;
	box-shadow:0 14px 34px rgba(0,0,0,.30);
}
.sos-official-v21-header{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-bottom:14px;
}
.sos-official-v21-header strong{
	display:block;
	color:#dbeafe;
	font-size:18px;
}
.sos-official-v21-header span{
	display:block;
	color:#bfdbfe;
	font-size:12px;
	margin-top:3px;
}
.sos-official-v21-header button,
.sos-v21-actions button,
.sos-v21-layer-buttons button{
	background:#2563eb;
	color:#fff;
	border:0;
	border-radius:8px;
	padding:10px 13px;
	font-weight:1000;
	cursor:pointer;
}
.sos-v21-layer-buttons,
.sos-v21-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:10px 0;
}
.sos-v21-status,
.sos-v21-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	margin:10px 0;
	color:#e5e7eb;
}
.sos-v21-message{
	border-radius:10px;
	padding:10px;
	background:#0f172a;
	border:1px solid #334155;
}
.sos-v21-message.ok{background:#052e16;border-color:#22c55e;color:#bbf7d0}
.sos-v21-message.warn{background:#422006;border-color:#f59e0b;color:#fef3c7}
.sos-v21-message.error{background:#450a0a;border-color:#ef4444;color:#fecaca}
.sos-v21-card h4{color:#dbeafe;margin:0 0 10px}
.sos-v21-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:10px;
	margin-bottom:12px;
}
.sos-v21-grid div{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:10px;
	padding:10px;
}
.sos-v21-grid strong{
	display:block;
	color:#bfdbfe;
	font-size:11px;
	text-transform:uppercase;
	margin-bottom:5px;
}
.sos-v21-grid span{display:block;color:#fff;font-weight:900}
.sos-v21-table{
	width:100%;
	border-collapse:collapse;
	margin-top:10px;
}
.sos-v21-table th,
.sos-v21-table td{
	border:1px solid #334155;
	padding:8px;
	text-align:left;
	color:#e5e7eb;
}
.sos-v21-table th{
	background:#1e3a8a;
	color:#fff;
}
.sos-v21-warning{
	background:#422006;
	border-left:5px solid #f59e0b;
	color:#fef3c7;
	border-radius:8px;
	padding:10px;
	margin-top:10px;
	font-weight:800;
}


/* SOS GeoMapa V2.1.9.5 Informe Full */
.sos-report-full-panel{
	background:linear-gradient(180deg,#0b1220,#111827);
	border:1px solid #d4af37;
	border-radius:18px;
	padding:16px;
	margin:14px 0;
	color:#f9fafb;
	box-shadow:0 16px 40px rgba(0,0,0,.32);
}
.sos-report-full-header{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin-bottom:14px;
}
.sos-report-full-header img{
	width:120px;
	max-height:70px;
	object-fit:contain;
	background:#fff;
	border-radius:12px;
	padding:6px;
}
.sos-report-full-header strong{
	display:block;
	color:#fef3c7;
	font-size:19px;
}
.sos-report-full-header span{
	display:block;
	color:#bfdbfe;
	font-size:12px;
	margin-top:3px;
}
.sos-report-full-header button,
.sos-report-full-actions button{
	background:#d4af37;
	color:#111827;
	border:0;
	border-radius:8px;
	padding:10px 13px;
	font-weight:1000;
	cursor:pointer;
}
.sos-report-full-form{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:10px;
}
.sos-report-full-form label{
	color:#bfdbfe;
	font-weight:900;
	font-size:11px;
	text-transform:uppercase;
}
.sos-report-full-form input,
.sos-report-full-form select,
.sos-report-full-form textarea{
	width:100%;
	background:#020617;
	color:#fff;
	border:1px solid #334155;
	border-radius:8px;
	padding:9px 10px;
	margin-top:5px;
}
.sos-report-full-form textarea{min-height:86px;resize:vertical}
.sos-report-full-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:12px 0;
}
.sos-v215-feature-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
	gap:7px;
	margin:12px 0;
}
.sos-v215-feature-grid div{
	background:#020617;
	border:1px solid #334155;
	border-radius:8px;
	padding:7px;
	color:#dbeafe;
	font-size:11px;
	font-weight:800;
}
.sos-v215-report-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
	min-height:90px;
	color:#e5e7eb;
}
.sos-v215-preview{
	width:100%;
	height:720px;
	border:1px solid #64748b;
	border-radius:12px;
	background:#fff;
}

/* SOS GeoMapa V2.1.9.5 Aeropuerto + Maps */
.sos-airport-risk-banner{
	background:#450a0a;
	border:2px solid #ef4444;
	color:#fee2e2;
	border-radius:12px;
	padding:12px 14px;
	margin:10px 0;
	font-weight:800;
	line-height:1.45;
	box-shadow:0 10px 26px rgba(239,68,68,.18);
}
.sos-airport-risk-banner strong{color:#fecaca;font-size:14px;letter-spacing:.04em}
.sos-airport-risk-banner small{color:#fef3c7;display:block;margin-top:5px}


/* SOS GeoMapa V2.1.9.5 Alerta Embebida */
.sos-risk-alerts-panel{
	background:#020617;
	border:2px solid #ef4444;
	border-radius:14px;
	margin:12px 0;
	padding:12px;
	color:#fee2e2;
	box-shadow:0 12px 30px rgba(239,68,68,.18);
}
.sos-risk-alerts-title{
	color:#fecaca;
	font-weight:1000;
	text-transform:uppercase;
	letter-spacing:.06em;
	font-size:12px;
	margin-bottom:8px;
}
.sos-risk-alert-card{
	border-radius:12px;
	padding:12px;
}
.sos-risk-alert-card.danger{
	background:#450a0a;
	border:1px solid #ef4444;
}
.sos-risk-alert-kicker{
	color:#fca5a5;
	font-weight:1000;
	font-size:12px;
	text-transform:uppercase;
}
.sos-risk-alert-title{
	color:#fff;
	font-size:17px;
	font-weight:1000;
	margin-top:4px;
}
.sos-risk-alert-text{
	color:#fee2e2;
	margin-top:6px;
	line-height:1.5;
}
.sos-risk-alert-meta{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-top:10px;
}
.sos-risk-alert-meta span{
	background:#7f1d1d;
	border:1px solid #fca5a5;
	color:#fee2e2;
	border-radius:999px;
	padding:5px 8px;
	font-size:11px;
	font-weight:900;
}
.sos-inline-airport-risk{
	background:#450a0a;
	border:1px solid #ef4444;
	color:#fee2e2;
	border-radius:10px;
	padding:9px;
	margin-top:10px;
	font-size:12px;
	line-height:1.45;
}
.sos-inline-airport-risk strong{
	color:#fecaca;
}
.sos-v217-v21-risk-note{
	background:#450a0a;
	border:1px solid #ef4444;
	color:#fee2e2;
	border-radius:10px;
	padding:10px;
	margin-bottom:10px;
}


/* SOS GeoMapa V2.1.9.5 Zonas Protegidas Pro */
.sos-protected-zone-panel{
	background:#020617;
	border:2px solid #f59e0b;
	border-radius:14px;
	margin:12px 0;
	padding:12px;
	color:#fef3c7;
	box-shadow:0 12px 30px rgba(245,158,11,.18);
}
.sos-protected-zone-title{
	color:#fde68a;
	font-weight:1000;
	text-transform:uppercase;
	letter-spacing:.06em;
	font-size:12px;
	margin-bottom:8px;
}
.sos-protected-card{
	border-radius:12px;
	padding:12px;
}
.sos-protected-card.danger{
	background:#451a03;
	border:1px solid #f59e0b;
}
.sos-protected-kicker{
	color:#fcd34d;
	font-weight:1000;
	font-size:12px;
	text-transform:uppercase;
}
.sos-protected-name{
	color:#fff;
	font-size:18px;
	font-weight:1000;
	margin:5px 0 10px;
}
.sos-protected-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
	gap:8px;
	margin:10px 0;
}
.sos-protected-grid div{
	background:#111827;
	border:1px solid #92400e;
	border-radius:10px;
	padding:9px;
}
.sos-protected-grid strong{
	display:block;
	color:#fde68a;
	font-size:11px;
	text-transform:uppercase;
	margin-bottom:4px;
}
.sos-protected-grid span{
	color:#fff;
	font-weight:900;
}
.sos-protected-card p{
	color:#fef3c7;
	line-height:1.5;
}
.sos-protected-required{
	background:#111827;
	border:1px solid #f59e0b;
	border-radius:10px;
	padding:10px;
}
.sos-protected-required ul{
	margin:8px 0 0 18px;
}
.sos-inline-protected-zone,
.sos-inline-protected-zone-buy{
	background:#451a03;
	border:1px solid #f59e0b;
	color:#fef3c7;
	border-radius:10px;
	padding:9px;
	margin-top:10px;
	font-size:12px;
	line-height:1.45;
}
.sos-inline-protected-zone strong,
.sos-inline-protected-zone-buy strong{
	color:#fff;
}
.sos-inline-protected-zone span{
	color:#fde68a;
	font-weight:900;
}


/* SOS GeoMapa V2.1.9.5 UX Zonas Protegidas */
.sos-protected-zone-panel-v2181{background:#0b1220;border:1px solid #f59e0b;border-radius:16px;padding:14px;margin:12px 0;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.sos-protected-zone-panel-v2181 .sos-protected-zone-title{color:#fde68a;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.sos-protected-exec-card{background:linear-gradient(180deg,#451a03,#111827);border:1px solid #f59e0b;border-radius:14px;padding:16px;color:#fef3c7}
.sos-protected-exec-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid rgba(245,158,11,.45);padding-bottom:12px;margin-bottom:12px}
.sos-protected-exec-head h3{color:#fff;font-size:22px;margin:4px 0 6px;line-height:1.15}.sos-protected-exec-head p{margin:0;line-height:1.45;color:#fef3c7}
.sos-protected-kicker{color:#fcd34d;font-weight:1000;font-size:12px;text-transform:uppercase}.sos-protected-risk-badge{background:#ef4444;color:#fff;border-radius:999px;padding:8px 13px;font-weight:1000;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
.sos-protected-exec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0}.sos-protected-exec-grid div{background:#0f172a;border:1px solid #92400e;border-radius:12px;padding:11px;min-height:72px}
.sos-protected-exec-grid strong{display:block;color:#fde68a;font-size:11px;text-transform:uppercase;margin-bottom:6px}.sos-protected-exec-grid span{color:#fff;font-weight:900;line-height:1.35}
.sos-protected-exec-section{background:#0f172a;border:1px solid #f59e0b;border-radius:12px;padding:12px;margin-top:12px}.sos-protected-exec-section strong{color:#fde68a}.sos-protected-exec-section ul{margin:8px 0 0 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px 16px}
.sos-protected-recommendation{background:#7f1d1d;border:1px solid #fca5a5;color:#fee2e2;border-radius:12px;padding:12px;margin-top:12px;line-height:1.45}.sos-protected-compact-matrix{background:#451a03;border:1px solid #f59e0b;color:#fef3c7;border-radius:12px;padding:10px;margin-top:10px;line-height:1.4}
.sos-protected-compact-matrix strong{display:block;color:#fff;font-size:14px}.sos-protected-compact-matrix span{display:inline-block;background:#7f1d1d;color:#fee2e2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:1000;margin:6px 0}.sos-protected-compact-matrix small{display:block;color:#fde68a}
@media (max-width:760px){.sos-protected-exec-head{flex-direction:column}.sos-protected-exec-head h3{font-size:18px}}


/* SOS GeoMapa V2.1.9.5 Zonas Protegidas Costa Rica Plus */
.sos-protected-zone-panel-v2182 .sos-protected-exec-grid div:first-child{
	border-color:#fbbf24;
	box-shadow:0 0 0 1px rgba(251,191,36,.18) inset;
}
.sos-protected-zone-panel-v2182 .sos-protected-exec-card{
	background:linear-gradient(180deg,#3f1d06,#101827);
}
.sos-protected-zone-panel-v2182 .sos-protected-exec-head h3{
	font-size:23px;
}


/* SOS GeoMapa V2.1.9.5 Full Territorial Catastral */
.sos-v219-territorial-panel{
	background:linear-gradient(180deg,#082f49,#020617);
	border:1px solid #38bdf8;
	border-radius:16px;
	padding:14px;
	margin:12px 0;
	color:#e0f2fe;
	box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.sos-v219-head{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
}
.sos-v219-head strong{display:block;color:#fef3c7;font-size:18px}
.sos-v219-head span{display:block;color:#bae6fd;font-size:12px;margin-top:4px}
.sos-v219-head button,.sos-v219-actions button{
	background:#0ea5e9;
	color:#fff;
	border:0;
	border-radius:8px;
	padding:9px 12px;
	font-weight:1000;
	cursor:pointer;
}
.sos-v219-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sos-v219-output{
	background:#020617;
	border:1px solid #334155;
	border-radius:12px;
	padding:12px;
}
.sos-v219-card h4{color:#fef3c7;margin:0 0 10px}
.sos-v219-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
	gap:10px;
}
.sos-v219-grid div{
	background:#0f172a;
	border:1px solid #334155;
	border-radius:10px;
	padding:10px;
}
.sos-v219-grid strong{
	display:block;
	color:#bfdbfe;
	font-size:11px;
	text-transform:uppercase;
	margin-bottom:5px;
}
.sos-v219-grid span{display:block;color:#fff;font-weight:900;line-height:1.35}
.sos-v219-warning{
	background:#422006;
	border:1px solid #f59e0b;
	color:#fef3c7;
	border-radius:10px;
	padding:10px;
	margin-top:10px;
	font-weight:900;
}
.sos-v219-ok{
	background:#052e16;
	border:1px solid #22c55e;
	color:#bbf7d0;
	border-radius:10px;
	padding:10px;
	font-weight:1000;
}
.sos-protected-zone-panel-v219 .sos-protected-exec-grid div:first-child{
	border-color:#38bdf8;
	box-shadow:0 0 0 1px rgba(56,189,248,.18) inset;
}


/* SOS GeoMapa V2.1.9.5 Shortcode Full Console */
.sos-geomapa-shortcode-full{
	width:100%;
	max-width:100%;
	background:#020617;
	color:#e5e7eb;
	border-radius:16px;
	overflow:hidden;
	position:relative;
}
.sos-geomapa-shortcode-full .wrap{
	margin:0;
	padding:0;
	max-width:none;
}
.sos-geomapa-shortcode-full #wpbody-content,
.sos-geomapa-shortcode-full .wrap{
	background:#020617;
}
.sos-shortcode-full-notice{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	background:linear-gradient(90deg,#0f2f4f,#0f766e);
	border:1px solid #22c55e;
	color:#fff;
	padding:10px 14px;
	margin:0 0 10px;
	border-radius:12px;
}
.sos-shortcode-full-notice strong{
	color:#fef3c7;
	font-weight:1000;
}
.sos-shortcode-full-notice span{
	font-size:12px;
	color:#dbeafe;
}
.sos-geomapa-shortcode-full .leaflet-container{
	min-height:620px;
}
.sos-geomapa-shortcode-full .notice,
.sos-geomapa-shortcode-full .updated,
.sos-geomapa-shortcode-full .error{
	margin:10px;
}
.sos-geomapa-shortcode-full button,
.sos-geomapa-shortcode-full input,
.sos-geomapa-shortcode-full select,
.sos-geomapa-shortcode-full textarea{
	max-width:100%;
}
@media (max-width: 900px){
	.sos-geomapa-shortcode-full{
		border-radius:10px;
	}
	.sos-geomapa-shortcode-full .leaflet-container{
		min-height:520px;
	}
}


/* SOS GeoMapa V2.1.9.5 Identificación Precisa */
.sos-protected-zone-panel-v2193 .sos-protected-exec-card.urban{
	background:linear-gradient(180deg,#064e3b,#0f172a);
	border-color:#22c55e;
}
.sos-protected-zone-panel-v2193 .sos-protected-risk-badge.safe{
	background:#22c55e;
	color:#052e16;
}
.sos-protected-zone-panel-v2193 .sos-protected-recommendation.safe{
	background:#052e16;
	border-color:#22c55e;
	color:#bbf7d0;
}
.sos-protected-zone-panel-v2193 .sos-protected-exec-card.urban .sos-protected-kicker{
	color:#bbf7d0;
}
.sos-protected-zone-panel-v2193 .sos-protected-exec-card.urban .sos-protected-exec-grid div{
	border-color:#22c55e;
}
.sos-protected-zone-panel-v2193 .sos-protected-exec-card.urban .sos-protected-exec-grid strong{
	color:#bbf7d0;
}


/* SOS GeoMapa V2.1.9.5 UX Cliente / Alertas Suaves */
.sos-urban-soft-status{
	background:#052e16;
	border:1px solid #22c55e;
	color:#bbf7d0;
	border-radius:12px;
	padding:10px 12px;
	margin:10px 0;
	font-size:13px;
	line-height:1.45;
	box-shadow:0 8px 22px rgba(34,197,94,.12);
}
.sos-urban-soft-status strong{
	color:#dcfce7;
}
.sos-protected-recommendation.safe{
	background:#052e16 !important;
	border-color:#22c55e !important;
	color:#bbf7d0 !important;
}
.sos-protected-exec-card.urban{
	background:linear-gradient(180deg,#064e3b,#0f172a) !important;
	border-color:#22c55e !important;
}
.sos-protected-exec-card.urban .sos-protected-risk-badge,
.sos-protected-risk-badge.safe{
	background:#22c55e !important;
	color:#052e16 !important;
}


/* SOS GeoMapa V2.1.9.5 Marítimo CR / Islas */
.sos-maritime-cr-panel{
	background:#020617;
	border:1px solid #38bdf8;
	border-radius:16px;
	margin:12px 0;
	padding:14px;
	color:#e0f2fe;
	box-shadow:0 14px 34px rgba(0,0,0,.26);
}
.sos-maritime-title{
	color:#7dd3fc;
	font-weight:1000;
	text-transform:uppercase;
	letter-spacing:.06em;
	font-size:12px;
	margin-bottom:10px;
}
.sos-maritime-card{
	background:linear-gradient(180deg,#082f49,#0f172a);
	border:1px solid #38bdf8;
	border-radius:14px;
	padding:16px;
}
.sos-maritime-card.danger{
	background:linear-gradient(180deg,#450a0a,#0f172a);
	border-color:#ef4444;
}
.sos-maritime-card.warn{
	background:linear-gradient(180deg,#422006,#0f172a);
	border-color:#f59e0b;
}
.sos-maritime-head{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:14px;
	border-bottom:1px solid rgba(125,211,252,.35);
	padding-bottom:12px;
	margin-bottom:12px;
}
.sos-maritime-kicker{
	color:#7dd3fc;
	font-size:12px;
	font-weight:1000;
	text-transform:uppercase;
}
.sos-maritime-head h3{
	color:#fff;
	font-size:21px;
	margin:4px 0 6px;
	line-height:1.15;
}
.sos-maritime-head p{
	margin:0;
	line-height:1.45;
	color:#e0f2fe;
}
.sos-maritime-badge{
	border-radius:999px;
	padding:8px 13px;
	font-weight:1000;
	color:#082f49;
	background:#38bdf8;
}
.sos-maritime-badge.danger{background:#ef4444;color:#fff}
.sos-maritime-badge.warn{background:#f59e0b;color:#111827}
.sos-maritime-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
	gap:10px;
	margin:12px 0;
}
.sos-maritime-grid div{
	background:#0f172a;
	border:1px solid #155e75;
	border-radius:12px;
	padding:11px;
	min-height:74px;
}
.sos-maritime-grid strong{
	display:block;
	color:#7dd3fc;
	font-size:11px;
	text-transform:uppercase;
	margin-bottom:6px;
}
.sos-maritime-grid span{
	color:#fff;
	font-weight:900;
	line-height:1.35;
}
.sos-maritime-required{
	background:#0f172a;
	border:1px solid #38bdf8;
	border-radius:12px;
	padding:12px;
	margin-top:12px;
}
.sos-maritime-required strong{
	color:#bae6fd;
}
.sos-maritime-required ul{
	margin:8px 0 0 18px;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
	gap:4px 16px;
}
.sos-maritime-warning{
	background:#083344;
	border:1px solid #22d3ee;
	color:#cffafe;
	border-radius:12px;
	padding:12px;
	margin-top:12px;
	line-height:1.45;
}
.sos-maritime-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:12px;
}
.sos-maritime-actions button{
	background:#0ea5e9;
	border:0;
	border-radius:8px;
	color:#fff;
	padding:9px 12px;
	font-weight:1000;
	cursor:pointer;
}
.sos-maritime-ok{
	background:#052e16;
	border:1px solid #22c55e;
	color:#bbf7d0;
	border-radius:10px;
	padding:10px;
	margin-bottom:10px;
	font-weight:1000;
}
@media (max-width:760px){
	.sos-maritime-head{flex-direction:column}
	.sos-maritime-head h3{font-size:18px}
}
