/* ==========================================================
   SI PRO UNGGUL
   MAP DASHBOARD
==========================================================*/

/* MAP */

.map-wrapper{

position:relative;

width:100%;

min-height:650px;

display:flex;

justify-content:center;

align-items:center;

background:#f8fafc;

border-radius:20px;

overflow:hidden;

}

/* SVG */

#gorutMap{

width:100%;

height:auto;

max-width:900px;

}

/* TEXT */

#gorutMap text{

font-size:13px;

font-weight:700;

fill:#374151;

pointer-events:none;

user-select:none;

}

/* KECAMATAN */

.kecamatan{

cursor:pointer;

stroke:#ffffff;

stroke-width:3;

transition:.25s ease;

transform-origin:center;

}

/* STATUS */

.kecamatan.success{

fill:#22c55e;

}

.kecamatan.warning{

fill:#f59e0b;

}

.kecamatan.danger{

fill:#ef4444;

}

/* HOVER */

.kecamatan:hover{

filter:brightness(1.08);

stroke:#0D3B66;

stroke-width:5;

transform:scale(1.03);

}

/* ACTIVE */

.kecamatan.active{

stroke:#2563EB;

stroke-width:6;

filter:drop-shadow(0 0 15px rgba(37,99,235,.45));

}

/* TOOLTIP */

#tooltipMap{

position:absolute;

background:#ffffff;

padding:16px;

border-radius:18px;

box-shadow:0 15px 45px rgba(0,0,0,.15);

min-width:240px;

z-index:999;

display:none;

pointer-events:none;

transition:.25s;

}

#tooltipMap h5{

margin-bottom:10px;

font-weight:700;

}

#tooltipMap small{

color:#64748b;

}

/* PANEL */

#executivePanel{

transition:.35s;

}

#executivePanel h3{

font-weight:800;

margin-top:10px;

}

#panelProgress{

font-size:60px;

font-weight:800;

line-height:1;

margin-bottom:10px;

}

/* TABLE */

#programTable td{

vertical-align:middle;

}

/* SUMMARY */

.summary-card{

border-radius:18px;

transition:.3s;

}

.summary-card:hover{

transform:translateY(-4px);

}

/* EXECUTIVE AI */

#executiveAI{

font-size:15px;

line-height:1.7;

}

/* BRIEF */

#briefingAI{

font-size:15px;

line-height:1.8;

}

/* BADGE */

.badge{

padding:8px 14px;

border-radius:999px;

}

/* TABLE */

.table td{

padding:.9rem;

}

/* CARD */

.dashboard-card{

border-radius:24px;

overflow:hidden;

}

/* MAP LEGEND */

.map-legend{

display:flex;

gap:20px;

margin-top:20px;

}

.legend-item{

display:flex;

align-items:center;

gap:8px;

font-size:14px;

}

.legend-color{

width:16px;

height:16px;

border-radius:50%;

}

.legend-success{

background:#22c55e;

}

.legend-warning{

background:#f59e0b;

}

.legend-danger{

background:#ef4444;

}

/* RESPONSIVE */

@media(max-width:991px){

.map-wrapper{

min-height:450px;

}

#panelProgress{

font-size:42px;

}

}

@media(max-width:768px){

#gorutMap{

max-width:100%;

}

#gorutMap text{

font-size:10px;

}

}