.kasa-impact-wrap,.kasa-impact-wrap *{box-sizing:border-box}.kasa-impact-wrap{background:var(--kasa-shortcode-bg,var(--kasa-bg));border-radius:18px;padding:var(--kasa-shortcode-padding,18px);margin:var(--kasa-shortcode-margin,0);position:relative;color:var(--kasa-shortcode-text,#173b25);font-family:inherit}.kasa-impact-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0 0 18px;color:var(--kasa-shortcode-text,#173b25)}.kasa-stat-card{background:var(--kasa-card-bg,#fff);border:1px solid var(--kasa-card-border,rgba(0,104,55,.12));border-radius:var(--kasa-card-radius,16px);padding:18px;box-shadow:0 8px 22px rgba(0,0,0,.05)}.kasa-stat-number{display:block;font-size:30px;font-weight:800;color:var(--kasa-primary);line-height:1.1}.kasa-stat-card strong{display:block;margin-top:8px;color:inherit}.kasa-map-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:var(--kasa-card-bg,#fff);border-radius:14px;padding:14px;margin-bottom:12px;border:1px solid var(--kasa-card-border,rgba(0,104,55,.1))}.kasa-map-filters input,.kasa-map-filters select,.kasa-map-filters button{width:100%;min-height:42px;border:1px solid #dfe8df;border-radius:10px;padding:8px 10px;background:#fff}.kasa-map-filters button,.kasa-btn,.kasa-map-toolbar button{background:var(--kasa-button-bg,var(--kasa-primary));color:var(--kasa-button-color,#fff);border:0;border-radius:10px;padding:10px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-weight:700}.kasa-btn-light,.kasa-map-toolbar button:nth-child(2){background:var(--kasa-accent);color:#173b25}.kasa-map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.kasa-impact-map{width:100%;max-width:var(--kasa-map-max-width,520px);min-height:520px;border-radius:var(--kasa-map-radius,0);overflow:hidden;background:var(--kasa-map-bg,#fff);border:var(--kasa-map-border-width,0) solid var(--kasa-map-border-color,transparent);padding:var(--kasa-map-padding,0);margin:var(--kasa-map-margin,0 auto);position:relative;display:flex;align-items:center;justify-content:center}.kasa-svg-map{width:100%;height:100%;max-width:100%;min-height:520px;display:block;background:transparent}.kasa-impact-map svg{flex:1}.kasa-region-shape{transition:fill .16s ease,opacity .16s ease;cursor:pointer;opacity:1}.kasa-region-shape:hover,.kasa-region-shape:focus{opacity:1;outline:none}.kasa-region-label{font-size:9px;fill:#294333;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.kasa-svg-map text{font-size:10px;fill:#173b25;pointer-events:none;font-weight:700;text-shadow:0 1px #fff}.kasa-marker{cursor:pointer;transition:.2s}.kasa-marker:hover{transform:scale(1.15);filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}.kasa-map-tip{position:absolute;z-index:20;display:none;max-width:min(360px,92vw);background:#fff;border-radius:16px;padding:14px;box-shadow:0 18px 50px rgba(0,0,0,.22);border:1px solid rgba(0,104,55,.12);pointer-events:auto}.kasa-map-tip.show{display:block}.kasa-map-tip.pinned{z-index:25}.kasa-popup h3{margin:0 0 8px;color:var(--kasa-primary)}.kasa-popup ul{margin:0 0 10px 18px;padding:0}.kasa-popup img{width:100%;max-height:150px;object-fit:cover;border-radius:12px;margin-bottom:10px}.kasa-popup p{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}.kasa-map-note{display:none}.kasa-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px;background:var(--kasa-shortcode-bg,transparent);color:var(--kasa-shortcode-text,inherit);padding:var(--kasa-shortcode-padding,0);margin:var(--kasa-shortcode-margin,18px 0 0)}.kasa-project-card,.kasa-story-card,.kasa-report-card,.kasa-region-card{background:var(--kasa-card-bg,#fff);border:1px solid var(--kasa-card-border,rgba(0,104,55,.12));border-radius:var(--kasa-card-radius,16px);overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.05);color:inherit}.kasa-project-card img,.kasa-story-card img{width:100%;height:170px;object-fit:cover}.kasa-project-card>div,.kasa-story-card>div,.kasa-report-card,.kasa-region-card{padding:16px}.kasa-project-card h3,.kasa-story-card h3,.kasa-report-card h3,.kasa-region-card h3{margin:0 0 8px;color:var(--kasa-primary)}.kasa-project-card a,.kasa-story-card a{color:var(--kasa-primary);text-decoration:none}.kasa-region-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;background:var(--kasa-shortcode-bg,transparent);color:var(--kasa-shortcode-text,inherit);padding:var(--kasa-shortcode-padding,0);margin:var(--kasa-shortcode-margin,0)}.kasa-region-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kasa-region-metrics span{background:var(--kasa-bg);border-radius:10px;padding:10px}.kasa-fullscreen{position:fixed!important;inset:0;z-index:999999;background:#fff;overflow:auto;padding:20px}.kasa-fullscreen .kasa-impact-map{height:78vh!important;max-width:680px!important}.kasa-loader,.kasa-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--kasa-primary)}.kasa-report-filters{display:flex;gap:10px;flex-wrap:wrap}.kasa-report-filters input{min-height:42px;border:1px solid #dfe8df;border-radius:10px;padding:8px 10px}.kasa-projection-miller .kasa-svg-region-group{transform:scaleX(.98) scaleY(1);transform-origin:center;transform-box:fill-box}.kasa-projection-mercator .kasa-svg-region-group{transform:scaleX(.95) scaleY(1.04);transform-origin:center;transform-box:fill-box}.kasa-projection-web_mercator .kasa-svg-region-group{transform:scaleX(.94) scaleY(1.06);transform-origin:center;transform-box:fill-box}.kasa-projection-equirectangular .kasa-svg-region-group{transform:scaleX(1.02) scaleY(.97);transform-origin:center;transform-box:fill-box}@media(max-width:640px){.kasa-impact-wrap{padding:10px}.kasa-stat-number{font-size:24px}.kasa-impact-map{min-height:360px}.kasa-svg-map{min-height:360px}.kasa-map-tip{left:10px!important;right:10px;top:10px!important;max-width:none}.kasa-popup p{display:grid}.kasa-svg-map text{font-size:8px}.kasa-map-note{display:none}}