/* KKN IMPACT INFOGRAPHIC v1.4 — all rules scoped; does not modify global AdminLTE */
.kdi-infographic{margin:0 0 24px;background:#fff;border:1px solid #dfe6ea;border-radius:16px;padding:22px;box-shadow:0 8px 26px rgba(24,39,54,.035);break-inside:avoid;color:#203546}
.kdi-info-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.kdi-info-head h2{font-size:clamp(19px,2.2vw,26px);font-weight:850;margin:4px 0 6px;letter-spacing:-.02em;color:#1c3043}
.kdi-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.kdi-active-filters span{display:inline-block;border:1px solid #dfe7ec;background:#f4f7f9;color:#526779;font-size:10px;padding:4px 8px;border-radius:30px}
.kdi-info-head p{font-size:12px;color:#617486;margin:0;line-height:1.6}
.kdi-print-btn{border:1px solid #cbd5df;background:#fff;border-radius:9px;padding:11px 15px;font-weight:700;font-size:12px;color:#26394b;cursor:pointer;white-space:nowrap;min-height:42px}
.kdi-print-btn:hover,.kdi-map-action:hover{border-color:#b41a2a;background:#fff7f7}
.kdi-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.kdi-stat{padding:17px;border:1px solid #e3e9ee;border-radius:12px;background:#f8fafb;min-width:0}
.kdi-stat span{display:block;color:#526578;font-weight:750;font-size:12px}.kdi-stat strong{display:block;margin:8px 0 4px;font-size:clamp(23px,3vw,31px);line-height:1.2;font-weight:900;color:#142d45}
.kdi-stat small{display:block;font-size:11px;color:#6d7b86;line-height:1.5}
.kdi-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kdi-chart-card{border:1px solid #e2e8ef;border-radius:12px;background:#fff;padding:18px;min-width:0}
.kdi-chart-title{display:flex;align-items:start;justify-content:space-between;gap:10px;margin:0 0 18px}
.kdi-chart-title h3{font-size:15px;font-weight:850;color:#213549;margin:0 0 5px}.kdi-chart-title p{font-size:11px;color:#66788a;margin:0}
.kdi-chart-label{display:inline-flex;color:#a11f35;background:#fff0f1;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:850;white-space:nowrap}
.kdi-chart-label--blue{color:#1c5b83;background:#e8f3fc}
.kdi-bar-row{margin:0 0 15px;break-inside:avoid}
.kdi-bar-top{display:flex;align-items:start;justify-content:space-between;gap:15px;font-size:12px;line-height:1.45}
.kdi-bar-top a{color:#244052;text-decoration:none;overflow-wrap:anywhere}.kdi-bar-top a:hover{text-decoration:underline;color:#a81d30}
.kdi-bar-top strong{font-weight:850;color:#17314b;white-space:nowrap}
.kdi-bar-track{height:9px;border-radius:99px;background:#edf1f5;overflow:hidden;margin:7px 0 3px}
.kdi-bar-fill{height:100%;display:block;border-radius:99px;min-width:0;max-width:100%}
.kdi-fill--social{background:#b42336}.kdi-fill--economic{background:#bf7e13}.kdi-fill--environment{background:#16826a}.kdi-fill--multi{background:#6a50a8}.kdi-fill--other{background:#486a88}.kdi-fill--unclassified{background:#7c8894}.kdi-fill--sdgs{background:#275981}
.kdi-bar-row small{display:block;color:#687987;font-size:10px}
.kdi-goal-number{display:inline-flex;justify-content:center;align-items:center;border-radius:5px;width:22px;height:22px;background:#275981;color:white;font-weight:850;font-size:11px;margin-right:8px}
.kdi-info-empty{font-size:12px;color:#73818d;background:#f4f6f8;padding:15px;border-radius:10px}
.kdi-info-foot{font-size:11px;color:#6a7886;margin:5px 0 0;padding-top:8px;border-top:1px dashed #dfe6ec}
.kdi-info-method{background:#f5f8fa;border-left:3px solid #8c9dab;border-radius:4px;color:#526574;line-height:1.65;font-size:11px;padding:12px;margin:17px 0 0}
.kdi-map-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 10px}
.kdi-map-action{background:#fff;color:#20364b;border:1px solid #cbd5df;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;min-height:38px;padding:8px 11px}
.kdi-zoom-hint{font-size:11px;color:#6d7b86;margin-left:auto}
.kdi-map-legend{display:flex;align-items:center;gap:9px 16px;flex-wrap:wrap;border:1px solid #e0e6eb;border-radius:10px;background:#fafbfc;padding:13px 14px;margin:12px 0 8px;font-size:11px}
.kdi-map-legend>strong{color:#263a4b;margin-right:5px;font-size:12px}
.kdi-legend-item{display:inline-flex;align-items:center;white-space:nowrap;gap:6px;color:#384d5b}
.kdi-legend-item small{color:#778794;font-weight:800}.kdi-legend-swatch{width:12px;height:12px;flex:none;display:inline-block;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c7d0da}
.kdi-swatch--social{background:#b42336}.kdi-swatch--economic{background:#bf7e13}.kdi-swatch--environment{background:#16826a}.kdi-swatch--multi{background:#6a50a8}.kdi-swatch--other{background:#486a88}.kdi-swatch--unclassified{background:#7c8894}
.kdi-legend-desc{flex-basis:100%;color:#71808b;line-height:1.5;font-size:10px}
#kdi-map .kdi-pin-dot{width:28px;height:28px;display:flex;justify-content:center;align-items:center;background:#b42336;color:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 9px rgba(24,39,54,.25);font-weight:900;font-size:11px}
#kdi-map .kdi-map-card{border-top:1px solid #e6ecf0;padding:7px 0;line-height:1.55;font-size:12px}
#kdi-map .kdi-map-card b,#kdi-map .kdi-map-card small{display:block}
#kdi-map .kdi-map-card small{color:#687a88}
#kdi-map .kdi-map-card a{display:inline-block;margin-top:5px;color:#a01c2d;font-weight:800}
@media(max-width:1000px){.kdi-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kdi-chart-grid{grid-template-columns:1fr}}
@media(max-width:600px){.kdi-infographic{padding:15px}.kdi-info-head{flex-direction:column;gap:11px}.kdi-print-btn{width:100%}.kdi-stat-grid{gap:8px}.kdi-stat{padding:12px}.kdi-chart-card{padding:14px}.kdi-zoom-hint{flex-basis:100%;margin:0}.kdi-map-action{flex:1}.kdi-map-legend{gap:10px}.kdi-map-legend>strong{flex-basis:100%}}
@media print {
  @page{size:A4 portrait;margin:13mm}
  body *{visibility:hidden!important}
  .kdi-infographic,.kdi-infographic *{visibility:visible!important}
  .kdi-infographic{position:absolute!important;top:0!important;left:0!important;width:100%!important;margin:0!important;padding:2mm!important;border:0!important;box-shadow:none!important}
  .kdi-print-btn{display:none!important}
  .kdi-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .kdi-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .kdi-stat{padding:8px!important}.kdi-chart-card{padding:10px!important}
  .kdi-chart-title h3{font-size:13px!important}.kdi-chart-card{break-inside:avoid}
  .kdi-bar-row{margin-bottom:10px!important}
  .kdi-bar-fill,.kdi-goal-number{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
