

#map { height: 500px; }

.marker-label {
    background-color: white;
    border: 1px solid #555;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
}

.polygon-label {
    font-size: 10px;
    font-weight: bold;
    color: #222;
    background: rgba(160, 12, 12, 0);
    padding: 0px 0px;
    border-radius: 0px;
}

/* HTMX Loading  */

/* Loading button styles */
.loading-button {
    position: relative;
}

/* Button becomes disabled during request */
.loading-button.htmx-request {
    pointer-events: none;
    opacity: 0.6;
}

/* Hide loading text by default */
.loading-button .loading-text {
    display: none;
}

/* During HTMX request: hide normal text, show loading text */
.loading-button.htmx-request .normal-text {
    display: none;
}

.loading-button.htmx-request .loading-text {
    display: inline;
}

/* Hide spinner by default */
.loading-button .loading-spinner {
    display: none;
}

/* Show and animate spinner only during HTMX request */
.loading-button.htmx-request .loading-spinner {
    display: inline-block;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Mobile Optimizations */
@media screen and (max-width: 768px) {
  /* Improve touch targets */
  .button {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Better spacing on mobile */
  .section {
    padding: 1.5rem 0;
  }
  
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Mobile-friendly tables */
  .table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  /* Improve form inputs on mobile */
  .input, .textarea, .select select {
    font-size: 16px; /* Prevents zoom on iOS */
  }
  
  /* Better notification display */
  .notification {
    margin-bottom: 1rem;
    border-radius: 0.375rem;
  }
}

/* Navbar improvements */
.navbar {
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-burger {
  height: 3.25rem;
  width: 3.25rem;
}

/* Main content improvements */
.main_content {
  min-height: calc(100vh - 52px - 120px); /* Account for navbar and footer */
}

/* Card hover effects for mobile */
@media screen and (max-width: 768px) {
  .card {
    transition: transform 0.2s ease;
  }
  
  .card:active {
    transform: translateY(1px);
  }
}

