.desa-stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.desa-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem;text-align:center}.desa-stat-icon{font-size:1.8rem;margin-bottom:.4rem}.desa-stat-value{font-size:1.6rem;font-weight:700;color:var(--color-primary,#2D8659)}.desa-stat-label{font-size:.78rem;color:#6b7280;margin-top:.2rem}.desa-stat-source{font-size:.78rem;color:#9ca3af;text-align:right}.desa-stat-year-filter{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}.desa-stat-year-btn{padding:.3rem .8rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem;text-decoration:none;color:#374151}.desa-stat-year-btn.active{background:var(--color-primary,#2D8659);color:#fff;border-color:#fff0}.desa-stat-charts{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.desa-stat-chart-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.desa-stat-chart-wrap h3{font-size:.95rem;margin:0 0 .75rem;color:#374151}.desa-idm-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;max-width:560px}.desa-idm-field{margin-bottom:1rem}.desa-idm-field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.3rem}.desa-idm-slider{width:calc(100% - 60px)}.desa-idm-output{display:inline-block;width:50px;text-align:right;font-family:monospace;font-size:.9rem}.desa-idm-btn{background:var(--color-primary,#2D8659);color:#fff;border:none;padding:.55rem 1.2rem;border-radius:7px;cursor:pointer;font-size:.92rem;margin-top:.5rem}.desa-idm-btn:hover{opacity:.9}.desa-idm-result{margin-top:1rem;padding:1rem;background:#f0fdf4;border-radius:8px;font-size:.95rem;display:none}@media(max-width:640px){.desa-stat-charts{grid-template-columns:1fr}}.desa-stat-section-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.dssb-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.875rem 1.25rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.dssb-title{display:flex;align-items:center;gap:.5rem}.dssb-icon{font-size:1.2rem;line-height:1}.dssb-title h3{margin:0;font-size:1rem;font-weight:700;color:#1f2937}.dssb-total-pill{font-size:.8rem;color:#065f46;background:#d1fae5;border-radius:99px;padding:3px 12px}.dssb-total-pill strong{font-size:.875rem}.dssb-body{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:0}.dssb-chart-wrap{padding:1.25rem;border-right:1px solid #f3f4f6;display:flex;align-items:center;justify-content:center}.dssb-chart-wrap canvas{max-height:280px;width:100%!important}.dssb-table-wrap{padding:0}.dssb-table-scroll{overflow-x:auto;width:100%}.dssb-table{width:100%;min-width:380px;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.dssb-table thead tr{background:#f3f4f6;position:sticky;top:0}.dssb-table th{padding:.55rem .875rem;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb}.dssb-table td{padding:.5rem .875rem;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}.dssb-table tbody tr:hover td{background:#fafafa}.dssb-table tfoot td{padding:.55rem .875rem;border-top:2px solid #e5e7eb;font-weight:700;color:#1f2937}.dssb-td-num{color:#9ca3af;text-align:center;width:36px}.dssb-td-label{font-weight:500}.dssb-td-sub{color:#6b7280;font-size:.75rem}.dssb-td-val{text-align:right;font-family:ui-monospace,monospace}.dssb-td-pct{min-width:90px}.dssb-pct-bar{display:flex;align-items:center;gap:6px}.dssb-pct-fill{height:6px;border-radius:99px;background:var(--color-primary,#2D8659);min-width:2px;flex-shrink:0}.dssb-pct-bar span{font-size:.75rem;color:#6b7280;white-space:nowrap}.desa-stat-empty{color:#9ca3af;text-align:center;padding:2rem;font-style:italic}@media (max-width:900px){.dssb-body{grid-template-columns:1fr}.dssb-chart-wrap{border-right:none;border-bottom:1px solid #f3f4f6;padding:1rem}.dssb-chart-wrap canvas{max-height:220px}}@media (max-width:480px){.dssb-header{padding:.75rem 1rem}.dssb-table th,.dssb-table td{padding:.45rem .75rem}}