.dashboard-shell{
	display:grid;
	gap:20px;
}

.dashboard-hero{
	margin-bottom:0;
}

.dashboard-role-label{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-bottom:8px;
	padding:5px 10px;
	border-radius:999px;
	border:1px solid rgba(255,255,255,.10);
	background:rgba(255,255,255,.035);
	color:var(--text-soft);
	font-size:12px;
	font-weight:800;
	letter-spacing:.03em;
	text-transform:uppercase;
}

.dashboard-panel{
	border:1px solid rgba(255,255,255,.08);
	background:linear-gradient(145deg, rgba(24,38,66,.82), rgba(12,25,47,.82));
	box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.dashboard-panel-headline{
	align-items:flex-start;
}

.dashboard-summary-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:14px;
}

.dashboard-summary-item{
	padding:18px;
	border-radius:16px;
	border:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.035);
}

.dashboard-summary-item span{
	display:block;
	font-size:12px;
	color:var(--text-soft);
	margin-bottom:8px;
}

.dashboard-summary-item strong{
	display:block;
	font-size:28px;
	line-height:1;
	color:var(--text);
}

.dashboard-dist-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:16px;
}

.dashboard-dist-card,
.dashboard-map-card{
	padding:18px;
	border-radius:16px;
	border:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.035);
}

.dashboard-dist-card h3,
.dashboard-map-card h3{
	margin:0 0 14px;
	font-size:14px;
	color:var(--text);
}

.dashboard-bars{
	display:grid;
	gap:12px;
}

.dashboard-bar-row{
	display:grid;
	gap:6px;
}

.dashboard-bar-meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	font-size:12px;
}

.dashboard-bar-meta span{
	color:var(--text-soft);
}

.dashboard-bar-meta strong{
	color:var(--text);
	font-weight:800;
}

.dashboard-bar-track{
	height:7px;
	border-radius:999px;
	background:rgba(255,255,255,.10);
	overflow:hidden;
}

.dashboard-bar-fill{
	height:100%;
	border-radius:999px;
	background:linear-gradient(90deg, #60a5fa, #3b82f6);
}

.dashboard-maps-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:18px;
}

.mapamex{
	display:grid;
	gap:10px;
}

.mapamex svg{
	width:100%;
	height:auto;
	max-height:330px;
	border-radius:16px;
	background:rgba(255,255,255,.025);
	padding:10px;
}

.mapamex--district svg{
	max-height:360px;
}

.mapamex--district path{
	stroke-width:.85;
}

.dashboard-map-card .mapamex--district{
	min-height:0;
}

.mapamex path{
	transition:filter .16s ease, opacity .16s ease;
}

.mapamex path:hover{
	filter:brightness(1.12);
	opacity:.92;
}

.map-legend{
	display:grid;
	gap:4px;
	color:var(--text-soft);
}

.legend-bar{
	height:9px;
	border-radius:999px;
	border:1px solid rgba(255,255,255,.12);
}

.legend-activos{
	background:linear-gradient(90deg, rgb(215,231,242), rgb(10,74,112));
}

.legend-riesgo{
	background:linear-gradient(90deg, rgb(244,220,231), rgb(134,23,68));
}

.legend-labels{
	display:flex;
	justify-content:space-between;
	font-size:11px;
}

.dashboard-lists-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:16px;
}

.dashboard-list-panel{
	min-width:0;
}

.dashboard-list{
	display:grid;
	gap:10px;
}

.dashboard-list-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:12px;
	border-radius:14px;
	border:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.03);
}

.dashboard-list-row strong,
.dashboard-list-row span,
.dashboard-list-row small{
	display:block;
}

.dashboard-list-row strong{
	font-size:13px;
	color:var(--text);
}

.dashboard-list-row span,
.dashboard-list-row small{
	font-size:12px;
	color:var(--text-soft);
	margin-top:3px;
}

.dashboard-empty{
	margin:0;
	padding:14px;
	border-radius:14px;
	border:1px dashed rgba(255,255,255,.12);
	color:var(--text-soft);
	font-size:13px;
}

@media (max-width:1100px){
	.dashboard-summary-grid,
	.dashboard-dist-grid,
	.dashboard-lists-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:840px){
	.dashboard-maps-grid{
		grid-template-columns:1fr;
	}
}

@media (max-width:680px){
	.dashboard-summary-grid,
	.dashboard-dist-grid,
	.dashboard-lists-grid{
		grid-template-columns:1fr;
	}

	.dashboard-panel-headline{
		gap:14px;
	}
}

/* Ajustes de espaciado interno en paneles del dashboard */
.dashboard-panel > .dashboard-summary-grid,
.dashboard-panel > .dashboard-dist-grid,
.dashboard-panel > .dashboard-maps-grid,
.dashboard-panel > .dashboard-list,
.dashboard-panel > .dashboard-lists-grid{
	padding:18px 22px 22px;
}

.dashboard-panel > .panel-head + .dashboard-summary-grid,
.dashboard-panel > .panel-head + .dashboard-dist-grid,
.dashboard-panel > .panel-head + .dashboard-maps-grid,
.dashboard-panel > .panel-head + .dashboard-list{
	margin-top:0;
}

.dashboard-dist-card,
.dashboard-map-card,
.dashboard-summary-item,
.dashboard-list-row{
	box-sizing:border-box;
}

.dashboard-shell > .metrics-grid:first-child{
	margin-top:0;
}

@media (max-width:680px){
	.dashboard-panel > .dashboard-summary-grid,
	.dashboard-panel > .dashboard-dist-grid,
	.dashboard-panel > .dashboard-maps-grid,
	.dashboard-panel > .dashboard-list,
	.dashboard-panel > .dashboard-lists-grid{
		padding:16px 16px 16px;
	}
}
