
    .decision-popup-shell .leaflet-popup-content-wrapper { border-radius: 16px; padding: 0; }
    .decision-popup-shell .leaflet-popup-content { margin: 8px 10px; width: min(340px, calc(100vw - 150px)) !important; max-width: calc(100vw - 150px) !important; max-height: min(54vh, 460px); overflow-y: auto; overflow-x: hidden; box-sizing: border-box; }
    .decision-popup-shell .leaflet-popup-tip { background: #ffffff; }
    .decision-popup-side { z-index: 1400 !important; }
    .decision-popup-side .leaflet-popup-tip-container { display: block; }
    .decision-popup .dp-header { cursor: default; user-select: text; }
    .decision-popup-dragging { position: fixed !important; transform: none !important; margin: 0 !important; z-index: 2000 !important; }
    .decision-popup { min-width: 0; width: 100%; max-width: 100%; font-family: Arial, sans-serif; color: #16324f; box-sizing: border-box; }
    .decision-popup .dp-header { margin-bottom: 10px; }
    .decision-popup .dp-name { font-size: 16px; font-weight: 700; color: #023047; line-height: 1.2; }
    .decision-popup .dp-sub { margin-top: 4px; font-size: 12px; color: #556b7f; }
    .decision-popup .dp-scorebox { border-radius: 12px; padding: 9px 11px; color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.12); }
    .decision-popup .dp-score-title { font-size: 12px; opacity: .92; letter-spacing: .2px; }
    .decision-popup .dp-score-main { margin-top: 2px; font-size: 18px; font-weight: 700; }
    .decision-popup .dp-score-sub { margin-top: 4px; font-size: 12px; opacity: .95; }
    .decision-popup .dp-section { margin-top: 10px; border-top: 1px solid #e5e7eb; padding-top: 8px; }
    .decision-popup .dp-section-title { font-size: 12.5px; font-weight: 700; color: #023047; margin-bottom: 7px; }
    .decision-popup .dp-bar-row { display: grid; grid-template-columns: minmax(82px, 96px) 1fr minmax(50px, 58px); gap: 6px; align-items: center; margin-bottom: 5px; }
    .decision-popup .dp-bar-label { font-size: 11.5px; line-height: 1.15; color: #23425f; display: flex; align-items: center; gap: 5px; }
    .decision-popup .dp-bar-track { height: 9px; background: #edf2f7; border-radius: 999px; overflow: hidden; border: 1px solid #dbe3eb; }
    .decision-popup .dp-bar-fill { height: 100%; border-radius: 999px; }
    .decision-popup .dp-bar-value { font-size: 11px; text-align: right; color: #4a6074; font-weight: 700; }
    .decision-popup .dp-chip-list { display: flex; flex-wrap: wrap; gap: 6px; max-width: 100%; }
    .decision-popup .dp-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; border: 1px solid #dbe3eb; background: #f8fafc; font-size: 11.5px; line-height: 1.2; max-width: 100%; flex-wrap: wrap; }
    .decision-popup .dp-chip-raw { color: #475569; font-weight: 600; }
    .decision-popup .dp-chip-weight { color: #64748b; font-size: 10.5px; }
    .decision-popup .dp-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
    .decision-popup .dp-badge { display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 999px; font-size: 10.5px; font-weight: 700; color: #fff; }
    .decision-popup .dp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    @media (max-width: 560px) { .decision-popup .dp-grid2 { grid-template-columns: 1fr; } }
    .decision-popup .dp-card { background: #f8fbfd; border: 1px solid #dbe7ef; border-radius: 10px; padding: 8px 9px; }
    .decision-popup .dp-card-title { font-size: 11.5px; font-weight: 700; color: #355070; margin-bottom: 6px; }
    .decision-popup .dp-kv { display: grid; grid-template-columns: 1fr auto; gap: 8px; font-size: 12px; margin-bottom: 4px; }
    .decision-popup .dp-kv:last-child { margin-bottom: 0; }
    .decision-popup .dp-k { color: #51687d; }
    .decision-popup .dp-v { color: #16324f; font-weight: 700; text-align: right; }
    .decision-popup .dp-note { font-size: 11.5px; color: #607588; line-height: 1.35; }
    .decision-popup .dp-empty { font-size: 12px; color: #6b7280; background: #f8fafc; border: 1px dashed #dbe3eb; border-radius: 10px; padding: 8px 10px; }
    .decision-popup .dp-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 2px; }
    .decision-popup .dp-report-btn {
      border: 1px solid #0f5f8f;
      background: #033a63;
      color: #ffd700;
      border-radius: 8px;
      padding: 6px 9px;
      font-size: 11.5px;
      font-weight: 700;
      cursor: pointer;
      line-height: 1.2;
      box-shadow: 0 2px 6px rgba(2,48,71,0.16);
    }
    .decision-popup .dp-report-btn:hover { background: #045a8a; }
    .decision-popup .dp-title-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
    .decision-popup .dp-title-row .dp-section-title { margin-bottom:0; }
    .decision-popup .dp-info-btn { display:inline-flex; align-items:center; justify-content:center; min-width:22px; width:22px; height:22px; border-radius:999px; border:1px solid rgba(2,48,71,0.25); background:#ffffff; color:#023047; font-size:12px; font-weight:700; cursor:pointer; padding:0; line-height:1; }
    .decision-popup .dp-info-btn { display:none !important; }
    .decision-popup .dp-info-btn:hover { background:#f1f5f9; }
    .decision-popup .dp-inline-info{margin:7px 0 2px;padding:9px 10px;border:1px solid #dbe7ef;border-radius:10px;background:#f8fbfd;color:#334e68;font-size:11.5px;line-height:1.42;}
    .decision-popup .dp-inline-info p{margin:0 0 6px;}
    .decision-popup .dp-inline-info p:last-child{margin-bottom:0;}
    .decision-popup .dp-inline-info ul{margin:5px 0 0 17px;padding:0;}
    .decision-popup .dp-inline-info li{margin:3px 0;}
    .map-info-overlay{position:fixed;inset:0;background:rgba(2,18,33,0.58);z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;}
    .map-info-overlay[hidden]{display:none !important;}
    .map-info-box{width:min(560px,calc(100vw - 32px));max-height:min(82vh,720px);overflow:auto;background:#fff;color:#16324f;border-radius:16px;box-shadow:0 18px 52px rgba(0,0,0,.28);padding:16px 18px 14px;font-family:Arial,sans-serif;}
    .map-info-box h3{margin:0 0 8px;font-size:18px;color:#023047;}
    .map-info-box .map-info-body{font-size:13px;line-height:1.5;color:#2b4258;}
    .map-info-box .map-info-body ul{margin:8px 0 0 18px;padding:0;}
    .map-info-box .map-info-body li{margin:4px 0;}
    .map-info-actions{display:flex;justify-content:flex-end;margin-top:12px;}
    .map-info-close{border:1px solid #023047;background:#023047;color:#fff;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px;}
    .map-info-close:hover{background:#045a8a;border-color:#045a8a;}

    .project-info-bottom-overlay{
      position: fixed;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: 999998;
      pointer-events: none;
      box-sizing: border-box;
    }
    .project-info-bottom-overlay[hidden]{display:none !important;}
    .project-info-bottom-box{
      position: absolute;
      pointer-events: auto;
      width: min(390px, calc(100vw - 32px));
      max-height: min(34vh, 245px);
      overflow: auto;
      background: linear-gradient(180deg, #fffdf6 0%, #f5fbff 100%);
      color: #17324d;
      border: 1px solid rgba(255,215,0,0.78);
      border-radius: 15px;
      box-shadow: 0 10px 28px rgba(0,0,0,0.28);
      font-family: Arial, sans-serif;
    }
    .project-info-bottom-box::after{
      content: '';
      position: absolute;
      right: -8px;
      bottom: 18px;
      width: 15px;
      height: 15px;
      transform: rotate(45deg);
      background: #f7fbfe;
      border-right: 1px solid rgba(255,215,0,0.78);
      border-top: 1px solid rgba(255,215,0,0.78);
    }
    .project-info-bottom-head{
      background: linear-gradient(135deg, #083a63 0%, #0a527f 62%, #f2c94c 100%);
      color: #fff;
      padding: 10px 14px 8px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border-radius: 15px 15px 0 0;
    }
    .project-info-bottom-title{font-size:14px;font-weight:700;line-height:1.25;}
    .project-info-bottom-close{
      border: 1px solid rgba(255,255,255,0.72);
      background: rgba(255,255,255,0.15);
      color: #fff;
      border-radius: 999px;
      width: 24px;
      height: 24px;
      cursor: pointer;
      font-size: 16px;
      line-height: 20px;
      flex: 0 0 auto;
    }
    .project-info-bottom-body{padding: 10px 14px 12px;font-size:12.7px;line-height:1.48;}
    .project-info-badges{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px;}
    .project-info-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.15px;border:1px solid rgba(8,58,99,0.12);}
    .project-info-badge.cb{background:#e8f3fb;color:#083a63;}
    .project-info-badge.adb{background:#fff2bf;color:#7b5a00;}
    .project-info-bottom-note{margin:0;}
    @media (max-width: 640px){
      .project-info-bottom-box{width:calc(100vw - 20px);max-height:min(38vh,260px);}
      .project-info-bottom-box::after{display:none;}
      .project-info-bottom-body{font-size:12.3px;line-height:1.45;}
    }

    .historical-fire-div-marker {
      background: transparent;
      border: 0;
    }
    .historical-fire-dot {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background: #ff4d00;
      border: 2px solid #7c2d12;
      box-sizing: border-box;
      box-shadow: 0 0 0 2px rgba(255,255,255,0.95), 0 0 8px rgba(255,77,0,0.85);
    }

    .historical-fire-low .historical-fire-dot { background: #f97316; }
    .historical-fire-nominal .historical-fire-dot { background: #dc2626; }
    .historical-fire-high .historical-fire-dot { background: #991b1b; }
    .historical-fire-dot::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 50%;
      width: 35%;
      height: 35%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background: rgba(255, 205, 86, 0.95);
    }

  