    .rsg-wrap-7k3x9 {
      all: initial;
      display: block;
      font-family: 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
      color: #1f2937;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }

    .rsg-wrap-7k3x9 *,
    .rsg-wrap-7k3x9 *::before,
    .rsg-wrap-7k3x9 *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    .rsg-outer-7k3x9 {
      background: #f5f7fa;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
    }

    .rsg-card-7k3x9 {
      background: #ffffff;
      border: 1px solid #e5e7eb;
      border-radius: 24px;
      padding: 32px 28px;
      width: 100%;
      max-width: 640px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.04);
    }

    .rsg-title-7k3x9 {
      font-size: 1.6rem;
      font-weight: 600;
      color: #111827;
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .rsg-badge-7k3x9 {
      background: #eef2ff;
      color: #4f46e5;
      font-size: 0.75rem;
      padding: 3px 10px;
      border-radius: 20px;
      font-weight: 600;
      letter-spacing: 0.3px;
    }

    .rsg-subhead-7k3x9 {
      color: #6b7280;
      margin-bottom: 24px;
      font-size: 0.9rem;
      border-left: 3px solid #4f46e5;
      padding-left: 12px;
    }

    .rsg-selector-7k3x9 {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 22px;
    }

    .rsg-label-7k3x9 {
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.8px;
      color: #4b5563;
      margin-left: 4px;
    }

    .rsg-select-7k3x9 {
      width: 100%;
      padding: 14px 18px;
      font-size: 1rem;
      font-weight: 500;
      font-family: inherit;
      background: #ffffff;
      border: 1.5px solid #d1d5db;
      border-radius: 12px;
      color: #111827;
      outline: none;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 16px center;
      background-size: 18px;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .rsg-select-7k3x9:hover { border-color: #4f46e5; }
    .rsg-select-7k3x9:focus {
      border-color: #4f46e5;
      box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
    }

    .rsg-btn-7k3x9 {
      width: 100%;
      padding: 14px 18px;
      font-size: 1rem;
      font-weight: 600;
      font-family: inherit;
      letter-spacing: 0.3px;
      color: #ffffff;
      background: #4f46e5;
      border: none;
      border-radius: 12px;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-bottom: 22px;
    }

    .rsg-btn-7k3x9:hover:not(:disabled) {
      background: #4338ca;
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(79, 70, 229, 0.25);
    }

    .rsg-btn-7k3x9:active:not(:disabled) {
      transform: translateY(0);
    }

    .rsg-btn-7k3x9:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    .rsg-result-7k3x9 {
      background: #f9fafb;
      border: 1.5px solid #e5e7eb;
      border-radius: 14px;
      padding: 16px 16px 16px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 80px;
      transition: border-color 0.2s ease, background 0.2s ease;
    }

    .rsg-result-7k3x9.rsg-has-value-7k3x9 {
      border-color: #c7d2fe;
      background: #f5f7ff;
    }

    .rsg-state-7k3x9 {
      flex: 1;
      font-size: 1.3rem;
      font-weight: 600;
      color: #111827;
      word-break: break-word;
      line-height: 1.3;
    }

    .rsg-state-7k3x9.rsg-small-7k3x9 {
      font-size: 0.95rem;
      color: #9ca3af;
      font-weight: 400;
    }

    .rsg-country-tag-7k3x9 {
      display: block;
      font-size: 0.75rem;
      font-weight: 500;
      color: #6b7280;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-top: 4px;
    }

    .rsg-icon-btn-7k3x9 {
      background: #ffffff;
      border: 1.5px solid #d1d5db;
      border-radius: 10px;
      width: 42px;
      height: 42px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #4b5563;
      font-size: 1rem;
      transition: all 0.2s ease;
      flex-shrink: 0;
      padding: 0;
    }

    .rsg-icon-btn-7k3x9:hover:not(:disabled) {
      border-color: #4f46e5;
      color: #4f46e5;
      background: #eef2ff;
    }

    .rsg-icon-btn-7k3x9.rsg-copied-7k3x9 {
      border-color: #10b981;
      color: #10b981;
      background: #ecfdf5;
    }

    .rsg-icon-btn-7k3x9:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }

    /* ============ MAP SECTION ============ */
    .rsg-map-section-7k3x9 {
      margin-top: 18px;
      border-radius: 14px;
      overflow: hidden;
      border: 1.5px solid #e5e7eb;
      background: #f9fafb;
      display: none;
      position: relative;
    }

    .rsg-map-section-7k3x9.rsg-show-7k3x9 {
      display: block;
    }

    .rsg-map-header-7k3x9 {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 14px;
      background: #ffffff;
      border-bottom: 1px solid #e5e7eb;
      font-size: 0.8rem;
      color: #6b7280;
      font-weight: 500;
    }

    .rsg-map-header-7k3x9 i {
      color: #4f46e5;
      margin-right: 6px;
    }

    .rsg-map-div-7k3x9 {
      width: 100%;
      height: 320px;
      background: #eef2ff;
      display: none;
      position: relative;
    }

    .rsg-map-div-7k3x9.rsg-visible-7k3x9 {
      display: block;
    }

    /* Recenter button */
    .rsg-recenter-7k3x9 {
      position: absolute;
      bottom: 16px;
      right: 16px;
      z-index: 500;
      width: 44px;
      height: 44px;
      background: #ffffff;
      border: 1.5px solid #d1d5db;
      border-radius: 50%;
      display: none;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #4f46e5;
      font-size: 1.1rem;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.08);
      transition: all 0.2s ease;
      padding: 0;
      font-family: inherit;
    }

    .rsg-recenter-7k3x9.rsg-visible-7k3x9 {
      display: flex;
    }

    .rsg-recenter-7k3x9:hover {
      background: #eef2ff;
      border-color: #4f46e5;
      transform: scale(1.06);
    }

    .rsg-recenter-7k3x9:active {
      transform: scale(0.96);
    }

    .rsg-recenter-7k3x9 i {
      margin: 0;
      color: #4f46e5;
    }

    .rsg-map-loading-7k3x9 {
      padding: 60px 20px;
      text-align: center;
      color: #6b7280;
      font-size: 0.9rem;
    }

    .rsg-map-loading-7k3x9 .rsg-spinner-dark-7k3x9 {
      display: inline-block;
      width: 22px;
      height: 22px;
      border: 3px solid #e5e7eb;
      border-radius: 50%;
      border-top-color: #4f46e5;
      animation: rsg-spin-7k3x9 0.8s linear infinite;
      margin-bottom: 10px;
    }

    .rsg-error-7k3x9 {
      color: #b91c1c;
      background: #fef2f2;
      border: 1px solid #fecaca;
      border-radius: 10px;
      padding: 12px 16px;
      font-weight: 500;
      font-size: 0.9rem;
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .rsg-spinner-7k3x9 {
      display: inline-block;
      width: 16px;
      height: 16px;
      border: 2px solid rgba(255, 255, 255, 0.4);
      border-radius: 50%;
      border-top-color: #ffffff;
      animation: rsg-spin-7k3x9 0.8s linear infinite;
    }

    @keyframes rsg-spin-7k3x9 {
      to { transform: rotate(360deg); }
    }

    .rsg-footer-7k3x9 {
      margin-top: 18px;
      text-align: center;
      font-size: 0.75rem;
      color: #9ca3af;
      letter-spacing: 0.2px;
    }

    .rsg-map-div-7k3x9 .leaflet-control-zoom a {
      color: #111827 !important;
    }

    @media (max-width: 480px) {
      .rsg-card-7k3x9 { padding: 24px 18px; border-radius: 20px; }
      .rsg-title-7k3x9 { font-size: 1.35rem; }
      .rsg-state-7k3x9 { font-size: 1.1rem; }
      .rsg-icon-btn-7k3x9 { width: 38px; height: 38px; font-size: 0.9rem; }
      .rsg-map-div-7k3x9 { height: 240px; }
      .rsg-recenter-7k3x9 { width: 40px; height: 40px; font-size: 1rem; bottom: 12px; right: 12px; }
    }