.apukmap-widget {margin:2rem 0}
.apukmap-layout {display:flex;gap:24px;align-items:stretch}
.apukmap-sidebar,
.apukmap-stage {
background:#f7f9fc;
border:1px solid #d9e4f2;
border-radius:18px;
box-shadow:0 10px 30px rgba(49, 95, 151, 0.08);
}
.apukmap-sidebar {width:360px;min-width:320px;padding:24px;display:flex;flex-direction:column;max-height:720px}
.apukmap-sidebar-head h2,
.apukmap-stage-head h2 {
margin:0 0 6px;
font-size:1.35rem;
line-height:1.2;
font-weight:400;
text-transform:uppercase;
}

.apukmap-sidebar-head p,
.apukmap-region-label,
.apukmap-empty,
.apukmap-card-subtitle,
.apukmap-card-region {color:#5f738d}

.apukmap-region-label {margin:18px 0 14px;padding:10px 12px;border-radius:12px;background:#eef4fb;font-weight:600}
.apukmap-cards {overflow:auto;display:grid;gap:14px;padding-right:4px}
.apukmap-card {display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:14px;background:#ffffff;border:1px solid #dde7f5;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}

.apukmap-card:hover,
.apukmap-card.is-active {
border-color:#4b8ce2;
box-shadow:0 10px 24px rgba(75, 140, 226, 0.12);
}

.apukmap-card-marker {
width:14px;
height:14px;
min-width:14px;
border-radius:50%;
margin-top:6px;
box-shadow:0 0 0 3px rgba(75, 140, 226, 0.12);
}

.apukmap-card-content h3 {
margin:0 0 8px;
font-size:1.05rem;
}

.apukmap-card-content p {
margin:8px 0 0;
line-height:1.55;
}

.apukmap-card-link {
display:inline-block;
margin-top:10px;
font-weight:600;
}

.apukmap-stage {
flex:1;
padding:24px;
min-width:0;
}

.apukmap-stage-head {
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
margin-bottom:16px;
}

.apukmap-reset {
border:1px solid #d3dff0;
background:#ffffff;
border-radius:999px;
padding:9px 14px;
cursor:pointer;
transition:background .2s ease, border-color .2s ease;
}

.apukmap-reset:hover {background:#eef4fb;border-color:#4b8ce2}
.apukmap-map-wrap {position:relative;width:100%;border-radius:18px;background:linear-gradient(180deg, #eef4fb 0%, #f8fbff 100%);padding:18px;overflow:hidden}
.apukmap-svg-wrap {position:relative;width:100%;max-width:1180px;margin:0 auto}
.apukmap-svg-wrap svg {display:block;width:100%;height:auto}
.apukmap-region {cursor:pointer;transition:fill .2s ease, filter .2s ease, opacity .2s ease}
.apukmap-region:hover, .apukmap-region.is-active {fill:#b0bcff!important;filter:drop-shadow(0 0 10px rgba(255, 89, 94, 0.25))}
.apukmap-markers {position:absolute;inset:0;pointer-events:none}
.apukmap-marker {position:absolute;width:12px;height:12px;margin-left:-6px;margin-top:-6px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 5px 16px rgba(19, 48, 86, 0.28);cursor:pointer;pointer-events:auto;transition:transform .2s ease, box-shadow .2s ease}
.apukmap-marker span {position:absolute;inset:3px;border-radius:50%;background:rgba(255, 255, 255, 0.35)}
.apukmap-marker:hover,.apukmap-marker.is-active {transform:scale(1.2);box-shadow:0 8px 24px rgba(19, 48, 86, 0.36)}
.apukmap-empty {padding:14px 16px;border-radius:14px;background:#ffffff;border:1px dashed #c7d6ea;margin-top:16px}
@media (max-width:1199px) {
.apukmap-layout {flex-direction:column}
.apukmap-sidebar {width:100%;min-width:0;max-height:520px}
}

@media (max-width:767px) {
.apukmap-sidebar, .apukmap-stage {padding:16px;border-radius:14px}
.apukmap-stage-head {flex-direction:column;align-items:flex-start}
.apukmap-map-wrap {padding:10px}
}
.apukmap-card-content {flex:1 1 auto;min-width:0}
.apukmap-card-top {display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.apukmap-card-summary {min-width:0;flex:1 1 auto}
.apukmap-card-toggle {width:30px;height:30px;min-width:30px;border:1px solid #d7e2f0;border-radius:999px;background:#fff;position:relative;cursor:pointer;transition:transform .2s ease, border-color .2s ease, background .2s ease}
.apukmap-card-toggle:hover {background:#eef4fb;border-color:#4b8ce2}
.apukmap-card-toggle span {position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid #5f738d;border-bottom:2px solid #5f738d;transform:translate(-50%, -65%) rotate(45deg)}
.apukmap-card.is-expanded .apukmap-card-toggle span {transform:translate(-50%, -35%) rotate(-135deg)}
.apukmap-card-extra[hidden] {display:none !important}
.apukmap-card-extra {margin-top:10px;padding-top:10px;border-top:1px solid #e5edf7}
.apukmap-cards::-webkit-scrollbar-thumb {background:transparent;border-radius:999px;transition:background 0.2s ease}
.apukmap-cards:hover::-webkit-scrollbar-thumb {background:rgba(120, 138, 170, 0.45)}
.apukmap-cards::-webkit-scrollbar-thumb:hover {background:rgba(120, 138, 170, 0.7)}
.apukmap-cards {scrollbar-gutter:stable}
.apukmap-cards::-webkit-scrollbar {width:4px}