/* PNGTPA MSME Dashboard Pro */
.pngtpa-dashboard-shell {font-family: Arial, sans-serif; color:#1f2937;}
.pngtpa-section-title {margin:0 0 4px; font-size:28px; line-height:1.2;}
.pngtpa-current-filter {margin:0; color:#4b5563;}
.pngtpa-dashboard-topbar {display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
.pngtpa-kpis {display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:18px;}
.pngtpa-kpi-card {background:#fff; border:1px solid #e5e7eb; border-radius:18px; padding:18px 20px; box-shadow:0 10px 24px rgba(0,0,0,.05);}
.pngtpa-kpi-card span {display:block; font-size:13px; color:#6b7280; margin-bottom:8px; text-transform:uppercase; letter-spacing:.04em;}
.pngtpa-kpi-card strong {font-size:30px; color:#111827;}
.pngtpa-grid-2 {display:grid; grid-template-columns:1.1fr .9fr; gap:18px; margin-bottom:18px;}
.pngtpa-panel, .pngtpa-map-card {background:#fff; border:1px solid #e5e7eb; border-radius:22px; padding:20px; box-shadow:0 10px 24px rgba(0,0,0,.05); margin-bottom:18px;}
.pngtpa-panel h3, .pngtpa-map-card h3 {margin-top:0; margin-bottom:12px; font-size:20px;}
.pngtpa-stats-table, .pngtpa-directory-table {width:100%; border-collapse:collapse;}
.pngtpa-stats-table th, .pngtpa-stats-table td, .pngtpa-directory-table th, .pngtpa-directory-table td {padding:10px 12px; border-bottom:1px solid #eef2f7; text-align:left; vertical-align:top;}
.pngtpa-stats-table th, .pngtpa-directory-table th {font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#6b7280;}
.pngtpa-table-wrap {overflow:auto;}
.pngtpa-province-summary-box p {margin:10px 0;}
.pngtpa-map-header {display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px;}
.pngtpa-map-header p {margin:4px 0 0; color:#4b5563;}
.pngtpa-map-toolbar {display:flex; gap:12px; align-items:center; margin-bottom:14px; flex-wrap:wrap;}
.pngtpa-map-toolbar select {min-width:260px; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px;}
.pngtpa-svg-map-wrap {overflow:auto; border:1px solid #e5e7eb; border-radius:18px; padding:12px; background:#f8fafc;}
.pngtpa-svg-map-host {min-height:420px;}
.pngtpa-svg-map-host svg, .pngtpa-svg-map {width:100%; height:auto; display:block;}
.pngtpa-map-help {margin-top:10px; font-size:12px; color:#6b7280;}
.pngtpa-map-error {padding:22px; color:#991b1b; background:#fef2f2; border:1px solid #fecaca; border-radius:12px;}
.pngtpa-chart-wrap {position:relative; height:320px; margin-bottom:12px;}
.pngtpa-form-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:1100px;}
.pngtpa-form-grid .full {grid-column:1/-1;}
.pngtpa-form-grid label {display:block; font-weight:600; margin-bottom:6px;}
.pngtpa-form-grid input, .pngtpa-form-grid select, .pngtpa-form-grid textarea {width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px; background:#fff;}
.pngtpa-form-grid textarea {min-height:110px;}
@media (max-width:1100px){
  .pngtpa-kpis {grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .pngtpa-kpis, .pngtpa-grid-2, .pngtpa-form-grid {grid-template-columns:1fr;}
}


/* v1.7.1 compact map + overall cards */
.pngtpa-overall-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:18px;
}
.pngtpa-overall-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}
.pngtpa-overall-card span{
  display:block;
  font-size:13px;
  color:#6b7280;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pngtpa-overall-card strong{
  font-size:30px;
  color:#111827;
}
.pngtpa-map-card-compact{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
.pngtpa-svg-map-wrap{
  max-width:920px;
  margin:0 auto;
}
.pngtpa-svg-map-host{
  min-height:320px;
}
.pngtpa-svg-map-host svg, .pngtpa-svg-map{
  max-height:420px;
  width:100%;
  object-fit:contain;
}
@media (max-width:1100px){
  .pngtpa-overall-cards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .pngtpa-overall-cards{grid-template-columns:1fr;}
  .pngtpa-map-card-compact{max-width:100%;}
  .pngtpa-svg-map-wrap{max-width:100%;}
  .pngtpa-svg-map-host{min-height:240px;}
}


/* v1.7.5 professional full-width layout */
.pngtpa-dashboard-shell{
  max-width:none;
  width:100%;
}
.pngtpa-dashboard-topbar-pro{
  margin-bottom:14px;
}
.pngtpa-topbar-note{
  max-width:440px;
  color:#6b7280;
  font-size:14px;
  line-height:1.5;
  text-align:right;
}
.pngtpa-overall-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.pngtpa-overall-card{
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pngtpa-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.pngtpa-map-card-compact{
  max-width:none;
  margin:0;
}
.pngtpa-svg-map-wrap{
  max-width:none;
  margin:0;
}
.pngtpa-svg-map-host{
  min-height:300px;
}
.pngtpa-svg-map-host svg, .pngtpa-svg-map{
  max-height:360px;
}
.pngtpa-executive-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-content:start;
}
.pngtpa-executive-panel h3{
  grid-column:1/-1;
  margin-bottom:4px;
}
.pngtpa-executive-metric{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px 16px;
}
.pngtpa-executive-metric span{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6b7280;
  margin-bottom:8px;
}
.pngtpa-executive-metric strong{
  display:block;
  font-size:22px;
  line-height:1.2;
  color:#111827;
}
.pngtpa-grid-2{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.pngtpa-chart-wrap{
  height:340px;
}
.pngtpa-province-summary-box p{
  color:#6b7280;
}
@media (max-width:1200px){
  .pngtpa-hero-grid{
    grid-template-columns:1fr;
  }
  .pngtpa-topbar-note{
    text-align:left;
    max-width:none;
  }
}
@media (max-width:900px){
  .pngtpa-executive-panel{
    grid-template-columns:1fr;
  }
}


/* v1.7.5 interactive filter refinements */
.pngtpa-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.pngtpa-filter-hint{
  font-size:12px;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pngtpa-type-filter-badge{
  color:#111827;
}
#pngtpaTypeChart,
#pngtpaProvinceChart{
  cursor:pointer;
}


/* v1.7.5 active filter badges */
.pngtpa-active-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.pngtpa-filter-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid #d1d5db;
  background:#f8fafc;
  border-radius:999px;
  font-size:13px;
  color:#111827;
}
.pngtpa-filter-pill-remove{
  border:none;
  background:transparent;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  color:#6b7280;
  padding:0;
}
.pngtpa-filter-pill-remove:hover{
  color:#111827;
}
.pngtpa-filter-empty{
  font-size:13px;
  color:#6b7280;
}
#pngtpaRegionChart{
  cursor:pointer;
}


/* v1.7.5 active highlights + combined province/region box */
.pngtpa-region-chip-box{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.pngtpa-region-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #d1d5db;
  background:#f8fafc;
  border-radius:12px;
  cursor:pointer;
  transition:all .15s ease;
}
.pngtpa-region-chip span{
  font-size:13px;
  color:#111827;
}
.pngtpa-region-chip strong{
  font-size:13px;
  color:#6b7280;
}
.pngtpa-region-chip:hover{
  transform:translateY(-1px);
  border-color:#9ca3af;
}
.pngtpa-region-chip.is-active{
  background:rgba(255, 209, 0, 0.18);
  border-color:#8a6c00;
}
.pngtpa-province-shape path,
.pngtpa-province-shape polygon,
.pngtpa-province-shape rect,
.pngtpa-province-shape ellipse{
  transition:stroke-width .15s ease, stroke .15s ease, filter .15s ease;
}


/* v1.8.2 province/region integration cleanup */
.pngtpa-integrated-filter-note{
  margin-top:10px;
  font-size:12px;
  color:#6b7280;
}


/* v1.8.3 integrated region chips */
.pngtpa-region-chip-box{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.pngtpa-region-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #d1d5db;
  background:#f8fafc;
  border-radius:12px;
  cursor:pointer;
}
.pngtpa-region-chip.is-active{
  background:rgba(255,209,0,.18);
  border-color:#8a6c00;
}
.pngtpa-region-chip span{
  font-size:13px;
  color:#111827;
}
.pngtpa-region-chip strong{
  font-size:13px;
  color:#6b7280;
}
