
.menu-icon-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.light-mode-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.beta-toggle-switch-custom {
  width: 40px;
  height: 24px;
  cursor: pointer;
}

.beta-toggle-switch-custom .toggle-circle {
  transition: transform 0.3s ease !important;
  transform: translateX(0px); 
}

.beta-toggle-switch-custom ellipse {
  transition: transform 0.3s ease !important;
}

.beta-profile-icon {
  width: 21px !important;
  height: 21px !important;
  margin-right: 8px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}


body.beta-active.light-mode {
  background-color: #E4EAF2 !important;
}

body.beta-active:not(.light-mode) {
  background-color: #000000 !important;
}

body.beta-active.light-mode .beta-action-pill {
  background-color: #FFFFFF !important;
}

body.beta-active.light-mode .beta-action-pill .beta-messages-text {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-action-pill .beta-datetime-text {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-status-text {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-banner-content,
body.beta-active.light-mode .beta-alerts-container,
body.beta-active.light-mode .beta-action-pill-container,
body.beta-active.light-mode .beta-alerts-banner {
  background-color: #E4EAF2 !important;
}

body.beta-active.light-mode #messagebar {
  background-color: #E4EAF2 !important;
}

body.beta-active.light-mode .messagebar-collapse {
  background-color: #E4EAF2 !important;
}

body.beta-active.light-mode .messagebar-button {
  background-color: #E4EAF2 !important;
  border: none !important;
}

body.beta-active.light-mode .beta-action-pill:not(.action-required) .beta-badge-main {
  background-color: #000000 !important;
  color: #FFFFFF !important;
}
body.beta-active.light-mode .beta-action-pill.action-required .beta-badge-main {
  background-color: #FFFFFF !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-alert-pill {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-alert-title,
body.beta-active.light-mode .beta-alert-time {
  color: #000000 !important;
}


body.beta-active.light-mode .beta-notifications-dropdown {
  background-color: #FFFFFF !important;
  border: 1px solid #CCCCCC !important;
}

body.beta-active.light-mode .beta-notifications-dropdown::-webkit-scrollbar {
  width: 6px;
}

body.beta-active.light-mode .beta-notifications-dropdown::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 3px;
}

body.beta-active.light-mode .beta-notifications-dropdown::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  transition: background 0.2s ease;
}

body.beta-active.light-mode .beta-notifications-dropdown::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.4);
}

body.beta-active.light-mode .beta-notification-pill-dropdown,
body.beta-active.light-mode .beta-notification-title,
body.beta-active.light-mode .beta-notification-time,
body.beta-active.light-mode .beta-notification-main-content {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-notification-left-border {
  display: block !important;
}

body.beta-active.light-mode .beta-alert-pill .beta-alert-left-border {
  display: block !important;
}


body.beta-active.light-mode .beta-alert-left-border[style*="169"],
body.beta-active.light-mode .beta-notification-left-border[style*="169"] {
  background-color: #A90F6B !important;
}

body.beta-active.light-mode .beta-alert-left-border[style*="206"],
body.beta-active.light-mode .beta-notification-left-border[style*="206"] {
  background-color: #CE1215 !important;
}

body.beta-active.light-mode .beta-alert-left-border[style*="245"],
body.beta-active.light-mode .beta-notification-left-border[style*="245"] {
  background-color: #F5D400 !important;
}

body.beta-active.light-mode .beta-alert-left-border[style*="122"],
body.beta-active.light-mode .beta-notification-left-border[style*="122"] {
  background-color: #007AA3 !important;
}


body.beta-active.light-mode .beta-no-notifications-text {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-action-pill:not(.action-required) .beta-dropdown-svg path {
  fill: #000000 !important;
}

body.beta-active.light-mode .beta-action-pill.action-required .beta-dropdown-svg path {
  fill: #FFFFFF !important;
}

.beta-menu-trigger .dropdown-menu {
  background-color: #1a1a1a !important;
  border: 1px solid #444 !important;
  border-radius: 0px 0px 0px 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important;
  min-width: 280px !important;
  width: 280px !important;
  padding: 12px 0 !important;
  margin-top: -1px !important;
  right: -20px !important;
  left: auto !important;
}

.beta-menu-trigger .dropdown-menu li {
  margin: 6px 12px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: none !important;
}

.beta-menu-trigger .dropdown-menu li a {
  display: flex !important;
  padding: 16px !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 75px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  min-height: 52px !important;
  width: 100% !important;
}

.menu-left-content {
  display: flex;
  align-items: center;
  gap: 12px;
}


.beta-alerts-banner {
  background-color: #1a1a1a !important;
  min-height: 105px !important;
  padding: 16px 0 !important;
  width: 100% !important;
}

.beta-action-pill-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 20px;
  width: 100%;
  height: 100%;
}

.beta-action-pill {
  display: flex;
  width: 380px;
  height: 60px;
  padding: 8px 16px;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  justify-content: space-between;
  transition: background-color 0.3s ease;
}

body.beta-active:not(.light-mode) .beta-action-pill.action-required {
  background: rgba(206, 18, 21, 0.9) !important; 
  animation: beta-pulse-red 2s infinite;
}

body.beta-active.light-mode .beta-action-pill.action-required {
  background: rgba(206, 18, 21, 0.9) !important; 
  animation: beta-pulse-red 2s infinite;
  color: #FFFFFF !important; 
}

body.beta-active.light-mode .beta-action-pill.action-required .beta-messages-text,
body.beta-active.light-mode .beta-action-pill.action-required .beta-datetime-text,
body.beta-active.light-mode .beta-action-pill.action-required .beta-status-text {
  color: #FFFFFF !important;
}

@keyframes beta-pulse-red {
  0% { background: rgba(206, 18, 21, 0.9) !important; }
  50% { background: rgba(206, 18, 21, 0.7) !important; }
  100% { background: rgba(206, 18, 21, 0.9) !important; }
}

.beta-action-link {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: inherit !important;
  text-decoration: none !important;
}

.beta-action-link:hover,
.beta-action-link:focus {
  color: inherit !important;
  text-decoration: none !important;
}

.beta-banner-content {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 20px;
}

.beta-left-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.beta-top-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.beta-badge-main {
  display: flex;
  padding: 3px 8px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #FFF;
  color: #000000;
  font-size: 14px;
  font-weight: 600;
  min-width: 24px;
  height: 22px;
}

.beta-messages-text {
  color: #FFF;
  font-family: Solis;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; 
}

.beta-datetime-text {
  color: #FFF;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: Solis;
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.beta-right-section {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  height: 100%;
}

.beta-status-text {
  color: #FFF;
  text-align: right;
  font-family: Solis;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.beta-dropdown-svg {
  display: flex;
  align-items: center;
  justify-content: center;
}

.beta-alerts-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  margin-left: 20px;
  min-width: 0;
}

.beta-alerts-container {
  display: flex;
  gap: 12px;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none; 
  -ms-overflow-style: none; 
  min-width: 0;
  padding: 4px 0;
}

.beta-alerts-container::-webkit-scrollbar {
  display: none; 
}

.beta-alerts-scroll-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: #000000;
  border: none;
  border-radius: 50%;
  color: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s ease, opacity 0.2s ease;
  z-index: 10;
  opacity: 1;
}

.beta-alerts-scroll-btn:hover {
  background: #333333;
  opacity: 1;
}

.beta-alerts-scroll-btn i {
  font-size: 10px;
}

body.beta-active.light-mode .beta-alerts-scroll-btn {
  background: rgba(255, 255, 255, 0.8);
  color: #000000;
}

body.beta-active.light-mode .beta-alerts-scroll-btn:hover {
  background: rgba(255, 255, 255, 1);
}

.beta-alerts-scroll-left {
  /* positioned by flexbox */
}

.beta-alerts-scroll-right {
  /* positioned by flexbox */
}

.beta-alert-sound-icon {
  position: absolute;
  bottom: 8px;
  right: 10px; 
  color: #ff4444;
  animation: beta-headphones-pulse 1.5s infinite;
  z-index: 15;
}

.beta-alert-sound-icon i {
  font-size: 16px;
}

.beta-alert-pill {
  display: flex;
  width: calc(100% / 3);
  min-width: 300px;
  max-width: 360px;
  height: 60px;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  cursor: pointer;
  transition: opacity 0.3s ease;
  background: linear-gradient(0deg, rgba(0, 122, 163, 0.30) 0%, rgba(0, 122, 163, 0.30) 100%), rgba(255, 255, 255, 0.05);
  color: #ffffff;
  box-sizing: border-box;
}

.beta-alert-pill.read {
  opacity: 0.6; 
}

.beta-alert-pill:hover {
  opacity: 0.8;
}

.beta-alert-left-border {
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 100%;
  flex-shrink: 0;
  border-radius: 8px 0 0 8px;
  z-index: 1;
}

.beta-alert-content {
  flex: 1;
  padding: 8px 12px 8px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 2px;
  position: relative;
  z-index: 2;
  min-height: 60px;
  overflow: hidden;
}

.beta-alert-title {
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 2px;
  line-height: 1.3;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; 
  max-width: calc(100% - 50px); /* More room for title, headphone icon is now bottom-right */
  padding-right: 5px;
}

.beta-alert-time {
  color: #cccccc;
  font-size: 11px;
  line-height: 1.2;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.beta-alert-version-pill {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 4px 8px;
  border-radius: 12px;
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  font-family: 'Solis', sans-serif;
  line-height: 1;
  z-index: 10;
}

.beta-notifications-dropdown {
  background-color: #1a1a1a !important; 
  border: 1px solid #444 !important;
  border-radius: 8px !important;
  width: 422px !important; 
  padding: 8px 12px !important;
  margin-top: 8px !important;
  margin-left: -230px !important; 
  max-height: 400px !important;
  overflow-y: auto !important;
  left: auto !important;
  right: auto !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important; 
}

.beta-notifications-dropdown::-webkit-scrollbar {
  width: 6px;
}

.beta-notifications-dropdown::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.beta-notifications-dropdown::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  transition: background 0.2s ease;
}

.beta-notifications-dropdown::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

.beta-notification-dropdown-item {
  border-bottom: none !important; 
  padding: 0 !important;
  margin: 0 !important;
}

.beta-notification-dropdown-item:hover {
  background-color: transparent !important; 
}

.beta-notifications-dropdown li:hover,
.beta-notifications-dropdown a:hover,
.beta-notifications-dropdown div:hover {
  background-color: inherit !important;
  color: inherit !important;
}

.beta-notifications-dropdown .beta-notification-dropdown-item:hover,
.beta-notifications-dropdown .beta-notification-dropdown-item:hover *,
.beta-notifications-dropdown .beta-notification-pill-dropdown:hover,
.beta-notifications-dropdown .beta-notification-main-content:hover,
.beta-notifications-dropdown .beta-notification-header:hover,
.beta-notifications-dropdown .beta-notification-title:hover,
.beta-notifications-dropdown .beta-notification-footer:hover,
.beta-notifications-dropdown .beta-notification-time:hover,
.beta-notifications-dropdown li:hover a *,
.beta-notifications-dropdown li:hover div *,
.beta-notifications-dropdown li:hover span * {
  background-color: transparent !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

body.beta-active:not(.light-mode) .beta-notifications-dropdown .beta-notification-dropdown-item:hover .beta-notification-title,
body.beta-active:not(.light-mode) .beta-notifications-dropdown .beta-notification-dropdown-item:hover .beta-notification-time {
  color: #ffffff !important;
}

body.beta-active.light-mode .beta-notifications-dropdown .beta-notification-dropdown-item:hover .beta-notification-title,
body.beta-active.light-mode .beta-notifications-dropdown .beta-notification-dropdown-item:hover .beta-notification-time {
  color: #000000 !important;
}

.beta-notifications-dropdown .beta-notification-dropdown-item {
  cursor: default !important;
}

.beta-notifications-dropdown .beta-notification-link {
  cursor: pointer !important;
}

.beta-notification-dropdown-item:last-child {
  border-bottom: none;
}

.beta-notification-link {
  display: block !important;
  padding: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.beta-notification-link:hover,
.beta-notification-link:focus,
.beta-notification-link:active {
  color: inherit !important;
  text-decoration: none !important;
  background-color: transparent !important;
}

.beta-notification-link:hover .beta-notification-pill-dropdown,
.beta-notification-link:focus .beta-notification-pill-dropdown,
.beta-notification-link:active .beta-notification-pill-dropdown {
}

.beta-notification-pill-dropdown {
  display: flex !important;
  padding: 12px 20px !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 8px !important;
  flex: 1 0 0 !important;
  align-self: stretch !important;
  border-radius: 6px !important;
  margin: 6px 4px !important;
  position: relative !important;
  min-height: 54px !important;
}

.beta-notification-left-border {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 6px !important;
  height: 100% !important; 
  flex-shrink: 0;
  border-radius: 6px 0 0 6px !important;
}

.beta-notification-main-content {
  flex: 1 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 0 !important;
}

.beta-notification-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important; 
  width: 100% !important;
  gap: 12px !important;
  margin-bottom: 0 !important;
}

.beta-notification-title {
  color: #ffffff !important;
  font-family: Solis !important; 
  font-size: 13px !important; 
  font-weight: 500 !important;
  flex: 1 !important;
  margin-right: 12px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.beta-notification-version-pill {
  padding: 4px 8px !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  font-family: Solis !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.beta-notification-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 2px !important;
}

.beta-notification-time {
  color: #999999 !important; 
  font-family: Solis !important;
  font-size: 11px !important;
  font-weight: 400 !important;
}

.beta-notification-timezone {
  color: #888888 !important;
  font-family: Solis !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.beta-no-notifications-text {
  padding: 24px 16px !important; 
  text-align: center !important;
  color: #888888 !important;
  font-family: Solis !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

body.beta-active:not(.light-mode) .beta-dropdown-footer {
  padding: 12px 16px !important; 
  border-top: 1px solid #2a2a2a !important; 
  text-align: center !important;
  background-color: #1a1a1a !important;
  position: sticky !important;
  bottom: -8px !important;
  margin-top: auto !important;
  margin-bottom: -8px !important;
}

body.beta-active.light-mode .beta-dropdown-footer {
  padding: 12px 16px !important; 
  border-top: 1px solid #CCCCCC !important; 
  text-align: center !important;
  background-color: #FFFFFF !important;
  position: sticky !important;
  bottom: -8px !important;
  margin-top: auto !important;
  margin-bottom: -8px !important;
}

.beta-mark-all-btn {
  border-radius: 6px !important;
  padding: 12px 16px !important;
  font-family: Solis !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-transform: none !important;
  transition: background-color 0.2s ease !important;
  width: calc(100% - 8px) !important;
  margin: 0 4px !important;
}

body.beta-active:not(.light-mode) .beta-mark-all-btn {
  background-color: #2a2a2a !important; 
  border: none !important;
  color: #ffffff !important;
}

body.beta-active.light-mode .beta-mark-all-btn,
body.beta-active.light-mode .beta-mark-all-btn:focus,
body.beta-active.light-mode .beta-mark-all-btn:active {
  background: #E4EAF2 !important;
  background-color: #E4EAF2 !important;
  color: #000000 !important;
  border: 1px solid #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
}

body.beta-active:not(.light-mode) .beta-mark-all-btn:hover {
  background-color: #3a3a3a !important; 
}

body.beta-active.light-mode .beta-mark-all-btn:hover {
  background: #E4EAF2 !important;
  background-color: #E4EAF2 !important;
  border: 1px solid #ffffff !important;
  color: #000000 !important;
}

.vintage-alerts-banner {
  background-color: transparent !important;
  min-height: auto !important;
  padding: 0 !important;
}

.beta-active #map-container {
  margin-top: 105px !important;
}

body.beta-active.light-mode #map-container {
  background: #E4EAF2;
}

.vintage-alerts-banner .alerts-action-pill {
  background-color: #007bff;
  border-radius: 6px;
  color: #ffffff;
  padding: 10px 14px;
}

.vintage-alerts-banner .alerts-status-text {
  font-size: 14px;
  font-weight: 500;
}

.dropdown-menu div[ng-if="!$root.betaActive"] li a {
  color: #333333 !important;
  padding: 8px 15px !important;
  display: block !important;
  text-decoration: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  min-height: auto !important;
  width: auto !important;
  margin: 0 !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

.dropdown-menu div[ng-if="!$root.betaActive"] li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
}

.dropdown-menu div[ng-if="!$root.betaActive"] li a:hover {
  background-color: #f5f5f5 !important;
  color: #333333 !important;
}

.dropdown-menu div[ng-if="!$root.betaActive"] .dropdown-header {
  display: block !important;
  color: #999999 !important;
  font-size: 12px !important;
  padding: 3px 15px !important;
  margin: 0 !important;
}

.alerts-pill-beta {
  border-radius: 12px;
  border: 1px solid #333;
  position: relative;
}

.alerts-pill-vintage {
  border-radius: 8px;
  border: 1px solid #dee2e6;
  position: relative;
}

.alerts-pill-left-border-main {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 2px 0 0 2px;
}

.alerts-pill-main-content {
  padding: 12px 16px 12px 20px;
  border-radius: inherit;
}

.alerts-pill-title-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.alerts-pill-title-text {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  text-align: left;
  line-height: 1.3;
}

.beta-alerts-banner .alerts-pill-title-text {
  color: #ffffff;
}

.alerts-version-pill-inline {
  background-color: inherit;
  color: #ffffff;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.alerts-pill-footer-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #666;
}

.beta-alerts-banner .alerts-pill-footer-info {
  color: #ccc;
}

.alerts-pill-issued {
  font-weight: 500;
}

.alerts-pill-timezone {
  font-style: italic;
  color: #888;
}

.alerts-dropdown-menu {
  min-width: 400px;
  padding: 16px;
}

.alerts-notification-pills-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 300px;
  overflow-y: auto;
}

.alerts-notification-pill {
  margin-bottom: 12px;
}

.alerts-pill-main {
  border-radius: 8px;
  border: 1px solid #ddd;
  position: relative;
  overflow: hidden;
}

.alerts-pill-left-border {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

.alerts-pill-content {
  padding: 12px 16px 12px 20px;
}

.alerts-pill-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6px;
}

.alerts-pill-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  line-height: 1.3;
}

.alerts-version-pill {
  background-color: inherit;
  color: #ffffff;
  padding: 2px 6px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.alerts-pill-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: #666;
}

.alerts-pill-time {
  font-weight: 500;
}

.alerts-mark-all-button {
  margin-top: 16px;
  width: 100%;
}

.alerts-slick-container .slick-prev:before {
  background: linear-gradient(to right, rgba(0,0,0,0.1), transparent);
}

.alerts-slick-container .slick-next:after {
  background: linear-gradient(to left, rgba(0,0,0,0.1), transparent);
}

@media (max-width: 1400px) {
  .alerts-slick-container .slider {
  }
}

@media (max-width: 1024px) {
  .alerts-slick-container .slider {
  }
}

@media (max-width: 768px) {
  .alerts-slick-container .slider {
  }
}

/* =========================
   NAVBAR + BOTÓN BETA (base)
   ========================= */

@font-face {
  font-family: 'Solis';
  src: url('/assets/fonts/solis/Solis-Bold.woff2') format('woff2'),
       url('/assets/fonts/solis/Solis-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.navbar,
.navbar-default,
.navbar-collapse {
  margin: 0;
  padding: 0;
  min-height: 50px;
}

.navbar-nav > li.beta-experience-container {
  display: flex;
  align-items: center;
  height: 50px;
  transition: all 0.3s ease;
}

.navbar .navbar-nav {
  font-size: 14px;
}

.beta-experience-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 14px !important;
  background-color: #242A2E;
  color: #fff !important;
  border-radius: 999px;
  font-family: inherit;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: normal;
  white-space: nowrap;
  text-decoration: none;
  gap: 4px;
  margin: auto 0;
  height: auto !important;
  transition: all 0.3s ease;
}

.navbar-nav > li.beta-experience-container > a.beta-experience-btn:hover,
.navbar-nav > li.beta-experience-container > a.beta-experience-btn:focus,
.navbar-nav > li.beta-experience-container > a.beta-experience-btn:active,
.navbar-default .navbar-nav > li.beta-experience-container > a.beta-experience-btn:visited {
  background-color: #242A2E !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-color: #242A2E !important;
}

/* dark nav */
.navbar.navbar-default.beta-active,
.beta-active .navbar.navbar-default,
.navbar-fixed-top.beta-active,
.beta-active .navbar-fixed-top {
  background: #242A2E !important;
  border: 0 !important;       
  box-shadow: none !important;
  background-image: none !important;
  transition: background-color 0.3s ease;
}

div.navbar.navbar-fixed-top.navbar-default:has(nav.beta-active) {
  background: #242A2E !important;
  border: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}
div.navbar.navbar-fixed-top.navbar-default:has(nav.beta-active)::before,
div.navbar.navbar-fixed-top.navbar-default:has(nav.beta-active)::after {
  content: none !important;
  display: none !important;
}

.navbar-default.beta-active .navbar-collapse,
.navbar-default.beta-active .navbar-form,
.navbar-default.beta-active .navbar-toggle,
.beta-active .navbar-default .navbar-collapse,
.beta-active .navbar-default .navbar-form,
.beta-active .navbar-default .navbar-toggle {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
}

.navbar.navbar-default.beta-active .navbar-nav > li > a:not(.beta-experience-btn) {
  color: #fff !important;
}
.navbar.navbar-default.beta-active .navbar-nav > li > a .caret,
.beta-active .navbar.navbar-default .navbar-nav > li > a .caret {
  border-top-color: #fff !important;
  border-bottom-color: #fff !important;
}

.navbar-default.beta-active .navbar-nav > .open > a,
.navbar-default.beta-active .navbar-nav > .open > a:hover,
.navbar-default.beta-active .navbar-nav > .open > a:focus,
.beta-active .navbar-default .navbar-nav > .open > a,
.beta-active .navbar-default .navbar-nav > .open > a:hover,
.beta-active .navbar-default .navbar-nav > .open > a:focus {
  background: #242A2E !important;
  border: 0 !important;
  box-shadow: none !important;
}

.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container > a.beta-experience-btn,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container.active > a.beta-experience-btn,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container.open > a.beta-experience-btn,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container > a.beta-experience-btn:link,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container > a.beta-experience-btn:visited,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container > a.beta-experience-btn:hover,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container > a.beta-experience-btn:focus,
.navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container > a.beta-experience-btn:active {
  background-color: #fff !important;
  color: #242A2E !important;
  border-color: #fff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.beta-experience-btn[aria-disabled="true"] {
  pointer-events: none;
  cursor: default;
}

.navbar { margin-bottom: 0 !important; min-height: 50px; }
.navbar-default { border-bottom: 0 !important; }

.navbar-collapse { padding: 0 !important; }

/* --- Layout when BETA is ON --- */
.navbar.beta-active .navbar-collapse,
.navbar.navbar-default.beta-active .navbar-collapse {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}

.navbar.beta-active .navbar-nav,
.navbar.navbar-default.beta-active .navbar-nav {
  float: none !important;
  margin: 0 !important;
}


.navbar.beta-active .navbar-collapse > .navbar-nav.scrollable-menu {
  order: 0;
}

.navbar.beta-active .navbar-collapse > .navbar-nav.navbar-right {
  order: 1;
  margin-left: 12px !important; 
}

.navbar.beta-active .navbar-nav > li > a {
  padding-top: 15px;
  padding-bottom: 15px;
  line-height: 20px;
}

.navbar.navbar-default.beta-active {
  background: #242A2E !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.navbar.navbar-default.beta-active::after {
  display: none !important;
  border: 0 !important;
}

.navbar.navbar-default.beta-active .navbar-nav > li > a:not(.beta-experience-btn) {
  color: #fff !important;
}
.navbar.navbar-default.beta-active .navbar-nav > .open > a,
.navbar.navbar-default.beta-active .navbar-nav > .open > a:hover,
.navbar.navbar-default.beta-active .navbar-nav > .open > a:focus {
  background: #242A2E !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* BETA BUTTON */
.navbar.navbar-default.beta-active .beta-experience-btn {
  background-color: #fff !important;
  color: #242A2E !important;
  border-color: #fff !important;
}

.beta-experience-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 14px !important;
  background-color: #242A2E;
  color: #fff !important;
  border-radius: 999px;
  font: inherit;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  line-height: 20px;
  white-space: nowrap;
  text-decoration: none;
  transition: all .3s ease;
}

/* === FONT === */
.navbar.navbar-default.beta-active .navbar-brand,
.navbar.navbar-default.beta-active .navbar-nav > li > a,
.navbar.navbar-default.beta-active .navbar-right > li > a,
.navbar.navbar-default.beta-active .dropdown-menu > li > a {
  font-family: 'Solis', 'Open Sans', Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1;
}

.navbar.navbar-default.beta-active .beta-experience-btn {
  font-family: 'Solis', 'Open Sans', Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1;
  font-size: 16px; 
}

/* ===== NavBar BETA 82px, ===== */
.navbar.navbar-default.beta-active {
  min-height: 82px !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}
.navbar.navbar-default.beta-active::before,
.navbar.navbar-default.beta-active::after {
  content: none !important;
  display: none !important;
}

/* Brand centered 82px */
.navbar.navbar-default.beta-active .navbar-brand {
  height: 82px !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.navbar.navbar-default.beta-active .navbar-brand img {
  max-height: 42px !important;
  height: auto !important;
  width: auto !important;
}

@media (min-width: 768px) {
  .navbar.navbar-default.beta-active .navbar-nav > li > a {
    height: 82px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    line-height: 20px !important;
  }
}

@media (min-width: 768px) {
  .navbar.navbar-default.beta-active .navbar-nav > li.beta-experience-container {
    height: 82px !important;
    display: flex !important;
    align-items: center !important;
  }
  .navbar.navbar-default.beta-active .navbar-nav > li > a.beta-experience-btn {
    display: inline-block !important;
    height: auto !important;
    padding: 8px 14px !important;
    line-height: 20px !important;
    align-self: center !important;
    vertical-align: middle !important;
    border-radius: 9999px !important;
  }
}

.navbar.navbar-default.beta-active .navbar-nav > li.active > a,
.navbar.navbar-default.beta-active .navbar-nav > li.active > a:focus,
.navbar.navbar-default.beta-active .navbar-nav > li.active > a:hover {
  background: #242A2E !important;
  color: #fff !important;
}

/* ====== OFFSET & HEIGHT for NavBar ====== */
body { padding-top: 0 !important; }
body.beta-active { padding-top: 30px !important; }
.navbar, .navbar-default { margin-bottom: 0 !important; }


.navbar.navbar-default.beta-active {
  min-height: 32px;
}
.navbar.navbar-default.beta-active .navbar-collapse {
  min-height: 32px;
}

.navbar.navbar-default.beta-active .navbar-nav > li > a {
  padding-top: 31px;
  padding-bottom: 31px;
  line-height: 20px;
}

.navbar.navbar-default.beta-active .navbar-brand {
  padding-top: 21px;
  padding-bottom: 21px;
}

.navbar.navbar-default.beta-active .navbar-nav > li > a.beta-experience-btn {
  padding: 8px 14px !important; 
  line-height: 20px !important;
  align-self: center;
}

.navbar.navbar-default.beta-active .beta-experience-btn {
  height: auto;
  align-self: center;
}

/* ===== BETA only ===== */
body.beta-active .navbar-right > li:has(i.fa-print),
body.beta-active .navbar-right > li:has(i.fa-gift) {
  display: none !important;
}

body.beta-active .navbar-right > li.dropdown > a strong {
  display: none !important;
}

body.beta-active .navbar-right > li.dropdown > a .caret {
  display: none !important;
}

body.beta-active .navbar-collapse {
  gap: 0px !important;
}

body.beta-active .navbar-collapse > .navbar-nav.navbar-right {
  margin-left: 0 !important;
}

body.beta-active .beta-experience-container {
  margin-right: 0 !important;
}

body.beta-active .beta-experience-btn {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

body.beta-active .navbar-collapse > .navbar-nav.scrollable-menu > li:last-child {
  margin-right: 0 !important;
}
body.beta-active .navbar-collapse > .navbar-nav.navbar-right > li:first-child {
  margin-left: 0 !important;
}

.navbar .dropdown-toggle-right {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.nav-user-icon {
  display: inline-block;
  height: 20px;
  width: auto;
  vertical-align: middle;
}

.navbar.navbar-default.beta-active .nav-user-icon {
  height: 24px;
}

.navbar.navbar-default.beta-active .nav-user-fa {
  display: none !important;
}

.navbar.navbar-default.beta-active .dropdown-toggle-right .nav-user-name {
  display: none !important;
}

.beta-menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 8px;
  text-decoration: none;
}

.nav-menu-icon {
  display: inline-block;
  height: 24px;
  width: auto;
  vertical-align: middle;
}

.navbar.navbar-default.beta-active .navbar-right > li.beta-menu-trigger {
  margin-left: 8px;
}

.navbar.navbar-default.beta-active .beta-menu-btn:hover .nav-menu-icon,
.navbar.navbar-default.beta-active .beta-menu-btn:focus .nav-menu-icon {
  opacity: 0.85;
}

.navbar.navbar-default.beta-active .navbar-collapse {
  overflow: visible !important;
}

.navbar.navbar-default .navbar-right > li.beta-menu-trigger {
  display: list-item !important;
}

.navbar.navbar-default.beta-active .container,
div.navbar.navbar-fixed-top.navbar-default:has(nav.beta-active) .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

.navbar.navbar-default.beta-active .navbar-header,
.navbar.navbar-default.beta-active .navbar-collapse {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.navbar.navbar-default.beta-active .navbar-brand {
  margin-inline-start: 4px;
}

.navbar.navbar-default.beta-active .navbar-brand > img {
  margin-inline-start: 2px;
}

@media (max-width: 767.98px) {
  .navbar.navbar-default.beta-active .navbar-brand {
    margin-inline-start: 2px;
  }
}

.nav-menu-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
}

.beta-menu-btn {
  padding: 15px 10px;
  display: inline-block;
}


/* ===== Beta Experience — Map Controls ===== */
#map-container, #map-new { position: relative; }

:root { --beta-mapbar-w: 48px; }

#map-container .beta-icon{
  display:inline-block; width:44px; height:44px; cursor:pointer;
  background:transparent; border:0; box-shadow:none; border-radius:0;
}
#map-container .beta-icon img{
  display:block; width:44px; height:44px; object-fit:contain; pointer-events:none;
}

#map-container .beta-zoomwrap{ position:relative; width:44px; height:96px; z-index:500; }
#map-container .beta-zoomwrap .beta-zoom-img{ display:block; width:44px; height:96px; pointer-events:none; }
#map-container .beta-zoomwrap .zoom-hit{
  position:absolute; left:0; right:0; height:50%; background:transparent; border:0; cursor:pointer;
}
#map-container .beta-zoomwrap .zoom-hit.plus{ top:0; }
#map-container .beta-zoomwrap .zoom-hit.minus{ bottom:0; }

#map-container .beta-controls-tr{
  position:absolute; top:80px; right:18px;
  display:flex; flex-direction:column; gap:10px; z-index:500; pointer-events:auto;
  transition: right var(--beta-sidebar-transition);
}
#map-container .beta-controls-br{
  position:absolute; right:18px; bottom:16px;
  display:flex; flex-direction:column; gap:10px; z-index:500; pointer-events:auto;
  transition: right var(--beta-sidebar-transition);
}
#map-container .beta-controls-bl{
  position:absolute; left:calc(var(--beta-mapbar-w) + 16px); bottom:16px;
  display:flex; flex-direction:column; gap:10px; z-index:500; pointer-events:auto;
}

#map-container .beta-icon img[src$="expand_view.svg"],
#map-container .beta-icon img[src$="maps_options.svg"]{
  transform: scale(1.50);
  transform-origin: center;
}

/* Responsive */
@media (max-width:640px){
  #map-container .beta-icon,
  #map-container .beta-icon img{ width:40px; height:40px; }
  #map-container .beta-zoomwrap{ width:40px; height:88px; }
  #map-container .beta-zoomwrap .beta-zoom-img{ width:40px; height:88px; }
  #map-container .beta-controls-tr{ top:72px; right:12px; gap:8px; transition: right var(--beta-sidebar-transition); }
  #map-container .beta-controls-br{ right:12px; bottom:12px; gap:8px; transition: right var(--beta-sidebar-transition); }
  #map-container .beta-controls-bl{ left:calc(var(--beta-mapbar-w) + 12px); bottom:12px; gap:8px; }
}

:root{ --beta-bottom-gap: 55px; } 

#map-container .beta-controls-br{
  bottom: calc(16px + var(--beta-bottom-gap));
}
#map-container .beta-controls-bl{
  bottom: calc(16px + var(--beta-bottom-gap));
}


@media (max-width:640px){
  #map-container .beta-controls-br{
    bottom: calc(12px + var(--beta-bottom-gap));
  }
  #map-container .beta-controls-bl{
    bottom: calc(12px + var(--beta-bottom-gap));
  }
}

:root{ --beta-left-extra: 12px; }

#map-container .beta-controls-bl{
  left: calc(var(--beta-mapbar-w) + 16px + var(--beta-left-extra));
  transition: left var(--beta-sidebar-transition);
}

#map-container.left-sidebar-open .beta-controls-bl{
  left: calc(var(--beta-left-sidebar-w) + var(--beta-mapbar-w) + 64px + var(--beta-left-extra));
}

@media (max-width:640px){
  #map-container .beta-controls-bl{
    left: calc(var(--beta-mapbar-w) + 12px + var(--beta-left-extra));
  }
}

:root{
  --beta-top-offset: 112px;
}
:root{
  --beta-mapbar-w: 68px;
}

:root{
  --beta-rail-nudge: 14px;
}

:root{
  --beta-rail-btn-w: 40px;
  --beta-rail-btn-h: 62px;
  --beta-rail-icon: 20px;
}

:root{
  --left-rail-gap: 8px;
}

#map-container .beta-left-rail{
  align-items: center;
}

#map-container .beta-left-rail .beta-rail-btn{
  width: var(--beta-rail-btn-w) !important;
  height: var(--beta-rail-btn-h) !important;
  padding: 0 !important;
}

#map-container .beta-left-rail .beta-rail-btn img{
  width: var(--beta-rail-icon) !important;
  height: var(--beta-rail-icon) !important;
  object-fit: contain;
}

#map-container .beta-left-rail .beta-rail-btn:first-child{
  margin-top: var(--beta-rail-nudge);
}
#map-container .beta-left-rail{
  position: fixed;
  left: 0;
  top: var(--beta-top-offset, 112px);
  bottom: 0;  
  width: var(--beta-mapbar-w);
  background: #131415;
  border-radius: 0;                
  padding: 12px 8px;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 600;
  box-sizing: border-box;
  overflow-y: auto;
}

#map-container .beta-rail-btn{
  width: 100%;
  height: var(--beta-mapbar-w);
  padding: 0;
  border: 0;
  background: #FFFFFF14;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
  cursor: pointer;
}

#map-container .beta-rail-btn:hover{ background: #333333; }
#map-container .beta-rail-btn:active{ transform: translateY(1px); }

#map-container .beta-rail-btn img{
  display: block;
  width: calc(var(--beta-mapbar-w) * 0.56);
  height: calc(var(--beta-mapbar-w) * 0.56);
  object-fit: contain;
  pointer-events: none;
}

#map-container .beta-rail-btn:focus-visible{
  outline: 2px solid #fff;
  outline-offset: 2px;
}

#map-container .map-nav .drawer{
  box-sizing: content-box; 
}


@media (max-width: 640px){
  :root{ --beta-top-offset: 96px; }
  :root { --beta-rail-nudge: 12px; }
  :root{ --left-rail-gap: 6px; }
}

body.beta-active #map-container{
  margin-top: 0 !important;
}

:root{

  --beta-top-offset: 190px !important;
  --beta-sidebar-width: 400px;
  --beta-sidebar-transition: 0.3s ease;
}

#map-container .beta-left-rail{
  top: var(--beta-top-offset) !important;
}

#map-container .beta-controls-tr{
  top: calc(var(--beta-top-offset) - 100px) !important;
}

/* (Opcional) en móviles normalmente el header es menor */
@media (max-width:640px){
  :root{ 
    --beta-top-offset: 168px !important;
    --beta-sidebar-width: 320px;
  }
}

.beta-left-sidebar,
.beta-right-sidebar {
  position: fixed;
  top: var(--beta-top-offset);
  bottom: 0;
  width: var(--beta-sidebar-width);
  background: #1E1F21;
  z-index: 550;
  transform: translateX(-100%);
  transition: transform var(--beta-sidebar-transition);
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
  display: flex;
  flex-direction: column;
}

.beta-left-sidebar {
  left: calc(var(--beta-mapbar-w));
}

.beta-right-sidebar {
  right: 0;
  transform: translateX(100%);
  width: 380px;
  height: calc(100vh - var(--beta-top-offset));
  max-height: calc(100vh - var(--beta-top-offset));
  flex-shrink: 0;
  border-radius: 6px 6px 0 0;
  background: #131415;
  overflow-x: hidden;
  overflow-y: visible;
  box-sizing: border-box;
}

.beta-right-sidebar::-webkit-scrollbar {
  width: 6px;
}

.beta-right-sidebar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.beta-right-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  transition: background 0.2s ease;
}

.beta-right-sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

.beta-left-sidebar.open {
  transform: translateX(0);
}

.beta-right-sidebar.open {
  transform: translateX(0);
}

.beta-sidebar-content {
  flex: 1;
  overflow-y: visible;
  overflow-x: hidden;
  height: 100%;
  padding-bottom: 0;
  box-sizing: border-box;
  min-height: 0;
  width: 100%;
}

.beta-sidebar-content::-webkit-scrollbar {
  width: 6px;
}

.beta-sidebar-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.beta-sidebar-content::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  transition: background 0.2s ease;
}

.beta-sidebar-content::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

.beta-panel-header {
  background: #131415;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.beta-panel-header h3 {
  margin: 0;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
}

.beta-panel-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 6px;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.beta-panel-close-btn:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.3);
  color: #FFFFFF;
}

.beta-panel-body {
  padding: 24px;
  color: #FFFFFF;
}

.beta-empty-state {
  text-align: center;
  padding: 40px 20px;
  color: rgba(255,255,255,0.6);
}

.beta-empty-state p {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.beta-collapse-left {
  position: absolute;
  top: 20px;
  right: calc(-60px);
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.08);
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background 0.2s;
}

.beta-collapse-left:hover {
  background: rgba(255,255,255,0.12);
}

.beta-collapse-right {
  background: transparent !important;
}

.beta-collapse-right svg rect {
  fill: rgba(255,255,255,0.08);
  transition: fill 0.2s;
}

.beta-collapse-right:hover svg rect {
  fill: rgba(255,255,255,0.12);
}

.beta-inspect-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  color: #FFFFFF;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.beta-inspect-close:hover {
  opacity: 1;
}

/* Button States */
.beta-rail-btn.active {
  background: #FFFFFF14 !important;
  box-shadow: 0 0 0 2px #2563EB inset !important;
}

.beta-rail-btn.inactive {
  opacity: 0.5;
}

#map-container.left-sidebar-open #map-new {
  margin-left: calc(var(--beta-sidebar-width));
  transition: margin-left var(--beta-sidebar-transition);
}

#map-container.right-sidebar-open #map-new {
  margin-right: var(--beta-sidebar-width);
  transition: margin-right var(--beta-sidebar-transition);
}

#map-container.right-sidebar-open .beta-controls-tr {
  right: calc(var(--beta-sidebar-width) + 18px);
}

#map-container.right-sidebar-open .beta-controls-br {
  right: calc(var(--beta-sidebar-width) + 18px);
}

@media (max-width:640px){
  #map-container.right-sidebar-open .beta-controls-tr {
    right: calc(var(--beta-sidebar-width) + 12px);
  }
  
  #map-container.right-sidebar-open .beta-controls-br {
    right: calc(var(--beta-sidebar-width) + 12px);
  }
}

#map-container .beta-icon.active {
  background: rgba(255, 255, 255, 0.2) !important;
}

#map-container .beta-icon.active img {
  filter: brightness(1.2);
}

.beta-panel-open-icon {
  width: 44px;
  height: 44px;
  background: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}

.beta-panel-open-icon svg {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
}

.beta-panel-open-icon svg path {
  fill: #000000;
}

/* Dashboard e Inspect siguen igual */
.beta-panel-dashboard,
.beta-panel-inspect {
  padding: 20px;
  height: 100%;
}

/* Notifications: casi sin espacio lateral */
.beta-panel-notifications {
  padding: 0 6px 16px 6px;  /* ← ajusta estos 6px si lo quieres más pegado o más suelto */
  height: 100%;
}

.beta-panel-maps,
.beta-panel-search {
  padding: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: visible;
  flex: 1;
  min-height: 0;
}

body.beta-active.light-mode #map-container .beta-icon.active {
  background: rgba(0, 0, 0, 0.1) !important;
}

.beta-maps-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: visible;
  flex: 1;
  min-height: 0;
}

.beta-maps-sets,
.beta-maps-layers,
.beta-maps-views {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
}

.beta-maps-tabs {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}

.beta-tab-header {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 5;
  background: #131415;
}

.beta-tab {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1 0 0;
  height: 44px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0;
  opacity: 0.6;
}

.beta-tab.active {
  background: #FFFFFF;
  color: #000000;
  opacity: 1;
  border-radius: 6px 6px 0 0;
}

.beta-tab:hover:not(.active) {
  opacity: 0.8;
}

.beta-tab-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  flex-direction: row;
}

.beta-tab-content span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1;
}

.beta-tab svg {
  width: 14px;
  height: 14px;
  color: currentColor;
}

.beta-tab {
  color: #FFFFFF;
}

.beta-tab svg {
  color: #FFFFFF;
}

.beta-tab.active {
  color: #000000;
}

.beta-tab.active svg {
  color: #000000;
}

.beta-tab-content-area {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
}

/* Modern scrollbar for sidebar tabs */
.beta-tab-content-area::-webkit-scrollbar {
  width: 6px !important;
}

.beta-tab-content-area::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 3px !important;
}

.beta-tab-content-area::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: 3px !important;
  transition: background 0.2s ease !important;
}

.beta-tab-content-area::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5) !important;
}

.beta-maps-scroll-area {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px;
  padding-bottom: 8px;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
}

.beta-maps-scroll-area::-webkit-scrollbar {
  width: 6px !important;
}

.beta-maps-scroll-area::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 3px !important;
}

.beta-maps-scroll-area::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: 3px !important;
  transition: background 0.2s ease !important;
}

.beta-maps-scroll-area::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5) !important;
}

.beta-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  align-self: stretch;
  margin-bottom: 0;
}

.beta-section:first-child {
  margin-top: 0;
}

.beta-section-label {
  display: flex;
  height: 46px;
  padding: 20px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.10);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.beta-mapsets-list,
.beta-mapviews-list,
.beta-layers-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  box-sizing: border-box;
}

.beta-mapset-item,
.beta-mapview-item {
  display: flex;
  height: 46px;
  padding: 20px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.05);
  transition: all 0.2s ease;
  cursor: pointer;
}

.beta-mapset-item:hover,
.beta-mapview-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

.beta-mapset-item.active,
.beta-mapview-item.active {
  background: rgba(0, 122, 163, 0.1);
  border-left: 3px solid #007AA3;
}

body.beta-active.light-mode .beta-mapset-item.active,
body.beta-active.light-mode .beta-mapview-item.active {
  background: #FFFFFF !important;
  border-left: 3px solid #000000;
}

.beta-mapset-content,
.beta-mapview-content {
  flex: 1;
  padding: 0;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}

.beta-mapset-name,
.beta-mapview-name {
  color: #FFFFFF;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  font-weight: 400;
  line-height: 1.4;
}

.beta-mapset-item.active .beta-mapset-name,
.beta-mapview-item.active .beta-mapview-name {
  font-weight: 600;
}

.beta-mapset-cog {
  padding: 4px;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
}

.beta-mapset-cog:hover {
  background: rgba(255, 255, 255, 0.1);
  opacity: 1;
}

.beta-mapset-cog svg {
  color: rgba(255, 255, 255, 0.8);
  width: 16px;
  height: 16px;
}

.beta-mapset-item.active .beta-mapset-cog svg {
  color: #FFFFFF;
  opacity: 1;
}

.beta-layers-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  box-sizing: border-box;
}

.beta-layer-item {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0;
  overflow: hidden;
  transition: all 0.2s ease;
}

.beta-layer-header {
  display: flex;
  height: 46px;
  padding: 20px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.beta-layer-header:hover {
  background: rgba(255, 255, 255, 0.05);
}

.beta-layer-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.beta-layer-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: color 0.2s;
  margin-left: 8px;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.beta-layer-info-icon:hover {
  color: rgba(255, 255, 255, 1);
}

body.beta-active.light-mode .beta-layer-info-icon {
  color: rgba(0, 0, 0, 0.6);
}

body.beta-active.light-mode .beta-layer-info-icon:hover {
  color: rgba(0, 0, 0, 1);
}

.beta-layer-expand {
  transition: transform 0.2s ease;
}

.beta-layer-expand.rotated {
  transform: rotate(90deg);
}

.beta-layer-expand svg {
  color: #CCCCCC;
  transition: transform 0.3s ease;
}

.beta-layer-expand svg.rotated {
  transform: rotate(90deg);
}

.beta-layer-name {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 400;
}

.beta-layer-toggle {
  padding: 4px;
}

.beta-toggle {
  width: 40px;
  height: 20px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}

.beta-toggle.active {
  background: #FF6B35;
}

body.beta-active.light-mode .beta-toggle.active {
  background: #FF6B35 !important;
}

.beta-toggle-handle {
  width: 16px;
  height: 16px;
  background: #FFFFFF;
  border-radius: 8px;
  position: absolute;
  top: 2px;
  left: 2px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.beta-toggle.active .beta-toggle-handle {
  left: 22px;
}

.beta-layer-drawer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.beta-layer-drawer.expanded {
  max-height: 1500px;
  overflow: visible;
}

.beta-layer-controls {
  width: 100%;
  padding: 16px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

body.beta-active.light-mode .beta-layer-controls {
  background: #F1F4F8;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.beta-layer-control {
  width: 100%;
  margin-bottom: 16px;
  box-sizing: border-box;
}

.beta-control-label {
  display: block;
  color: #CCCCCC;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 6px;
}

.beta-control-input,
.beta-control-select {
  width: 100%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 14px;
  padding: 8px 12px;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23FFFFFF' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

.beta-control-select option {
  background: #1E1F21 !important;
  color: #FFFFFF !important;
  padding: 8px 12px !important;
}

.beta-control-select:hover {
  border-color: rgba(255, 255, 255, 0.4);
}

.beta-control-input:focus,
.beta-control-select:focus {
  border-color: #FF6B35;
}

.beta-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #FFFFFF;
  font-size: 14px;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}

.beta-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #FF6B35;
}

.beta-input-control,
.beta-checkbox-control,
.beta-checkboxes-control,
.beta-select-control {
  width: 100%;
  box-sizing: border-box;
}

.beta-checkboxes-control {
  margin-bottom: 16px;
}

.beta-checkboxes-control .beta-control-label {
  display: block;
  margin-bottom: 10px;
  color: rgba(255,255,255,0.7);
  font-size: 13px;
  font-weight: 400;
}

.beta-checkboxes-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.beta-checkbox-option {
  display: flex;
  align-items: center;
}

.beta-checkbox-option .beta-checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: rgba(255,255,255,0.9);
}

.beta-checkbox-option .beta-checkbox-label input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid rgba(255,255,255,0.4);
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.beta-checkbox-option .beta-checkbox-label input[type="checkbox"]:checked {
  background: #FF6B35;
  border-color: #FF6B35;
}

.beta-checkbox-option .beta-checkbox-label input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.beta-checkbox-option .beta-checkbox-label input[type="checkbox"]:hover {
  border-color: rgba(255,255,255,0.6);
}

.beta-opacity-control {
  width: 100%;
  margin-bottom: 16px;
  box-sizing: border-box;
}

.beta-opacity-slider-container {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.beta-opacity-slider {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.beta-opacity-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #FF6B35;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.beta-opacity-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #FF6B35;
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.beta-opacity-slider::-webkit-slider-track {
  background: transparent;
  height: 6px;
  border-radius: 3px;
}

.beta-opacity-slider::-moz-range-track {
  background: transparent;
  height: 6px;
  border-radius: 3px;
}

.beta-opacity-value {
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 600;
  min-width: 40px;
  text-align: right;
}

.beta-opacity-number-input {
  width: 60px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.beta-opacity-number-input:focus {
  outline: none;
  border-color: #FF6B35;
  background: rgba(255, 255, 255, 0.12);
}

.beta-opacity-percent {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  margin-left: -6px;
}

body.beta-active.light-mode .beta-opacity-number-input {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.2);
  color: #000000;
}

body.beta-active.light-mode .beta-opacity-number-input:focus {
  border-color: #FF6B35;
  background: rgba(0, 0, 0, 0.08);
}

.beta-legends-drawer {
  position: sticky;
  bottom: 0;
  margin-top: auto;
  background: rgba(0, 0, 0, 0.85);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
  height: 48px;
  min-height: 48px;
  flex-shrink: 0;
  overflow: hidden;
  z-index: 10;
}

.beta-legends-drawer.expanded {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  max-height: 100%;
  z-index: 10;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.beta-legends-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: grab;
  user-select: none;
}

.beta-legends-header:active {
  cursor: grabbing;
}

.beta-legends-title {
  color: #FFFFFF !important;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.beta-legends-handle {
  padding: 4px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s ease;
}

.beta-legends-handle:hover {
  background: rgba(255, 255, 255, 0.1);
}

.beta-legends-handle svg {
  color: #CCCCCC;
  transition: transform 0.3s ease;
}

.beta-legends-handle svg.rotated {
  transform: rotate(180deg);
}

.beta-legends-drawer.expanded .beta-legends-handle svg {
  transform: rotate(180deg);
}

.beta-legends-content {
  padding: 0;
  color: #CCCCCC;
  font-size: 14px;
  overflow-y: auto;
  flex: 1;
  height: calc(100% - 48px);
}

.beta-legends-drawer.expanded .beta-legends-content {
  max-height: calc(100vh - var(--beta-top-offset));
}

.beta-legends-placeholder {
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  padding: 40px 20px;
  font-style: italic;
  opacity: 0.6;
}

.beta-no-legends {
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  padding: 40px 0;
  font-size: 14px;
  font-style: italic;
}

.beta-legends-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.beta-legend-item {
  display: flex;
  flex-direction: column;
}

.beta-legend-header {
  display: flex;
  height: 46px;
  padding: 20px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: background 0.2s ease;
  user-select: none;
}

.beta-legend-header:hover {
  background: rgba(255, 255, 255, 0.08);
}

.beta-legend-expand-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.beta-legend-expand-icon.rotated {
  transform: rotate(180deg);
}

.beta-legend-title {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  flex: 1;
}

.beta-legend-body {
  padding: 16px 20px;
  background: rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.beta-legend-section-title {
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.beta-legend-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.beta-legend-item-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.beta-legend-image {
  max-width: 100%;
  height: auto;
  display: block;
}

.beta-legend-label {
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  line-height: 1.4;
  text-transform: capitalize;
}

.beta-legend-color-box {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.beta-legend-subsection {
  margin-bottom: 16px;
}

.beta-legend-subsection:last-child {
  margin-bottom: 0;
}

.beta-legend-subsection-title {
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 8px;
  text-align: center;
}

.beta-legend-color-scale {
  display: flex;
  gap: 0;
  height: 16px;
  width: 100%;
}

.beta-legend-scale-bar {
  height: 16px;
  flex: 1 0 0;
}

.beta-legend-simple-row {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

.beta-legend-pattern-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}

.beta-legend-solid-rect {
  width: 100%;
  max-width: 70px;
  height: 16px;
  border-radius: 2px;
}

.beta-legend-single-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}

.beta-legend-tropical-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 50%;
  font-family: monospace;
  flex-shrink: 0;
}

.beta-legend-tropical-icon.green {
  background: #7CEE51;
  color: black;
}

.beta-legend-tropical-icon.blue {
  background: #000192;
  color: white;
}

.beta-legend-tropical-icon.yellow {
  background: #FBEF51;
  color: black;
}

.beta-legend-gradient-bar {
  width: 100%;
  border-radius: 10px;
}

.beta-legend-scale-labels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.beta-legend-scale-label-left,
.beta-legend-scale-label-right {
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 500;
}

body.beta-active.light-mode .beta-legend-scale-label-left,
body.beta-active.light-mode .beta-legend-scale-label-right {
  color: rgba(0, 0, 0, 0.8);
}

.beta-legend-dbz-labels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.8);
}

.beta-legend-dbz-labels span {
  flex-shrink: 0;
}

.beta-legend-category-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.beta-legend-category-labels span {
  flex: 1;
  text-align: center;
}

body.beta-active.light-mode .beta-legend-dbz-labels,
body.beta-active.light-mode .beta-legend-category-labels {
  color: rgba(0, 0, 0, 0.7);
}

.beta-legends-content::-webkit-scrollbar {
  width: 6px !important;
}

.beta-legends-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 3px !important;
}

.beta-legends-content::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: 3px !important;
  transition: background 0.2s ease !important;
}

.beta-legends-content::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5) !important;
}

body.beta-active.light-mode .beta-legends-drawer {
  background: #FFFFFF;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

body.beta-active.light-mode .beta-legends-drawer.expanded {
  background: #FFFFFF;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
}

body.beta-active.light-mode .beta-legends-title {
  color: #FFFFFF !important;
}

body.beta-active.light-mode .beta-legends-header {
  background: #131415;
}

body.beta-active.light-mode .beta-legends-handle svg {
  color: #FFFFFF;
}

body.beta-active.light-mode .beta-no-legends {
  color: rgba(0, 0, 0, 0.5);
}

body.beta-active.light-mode .beta-legend-header {
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

body.beta-active.light-mode .beta-legend-header:hover {
  background: rgba(0, 0, 0, 0.05);
}

body.beta-active.light-mode .beta-legend-expand-icon path {
  fill: #333333;
}

body.beta-active.light-mode .beta-legend-title {
  color: #000000;
}

body.beta-active.light-mode .beta-legend-body {
  background: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

body.beta-active.light-mode .beta-legend-section-title {
  color: rgba(0, 0, 0, 0.7);
}

body.beta-active.light-mode .beta-legend-label {
  color: rgba(0, 0, 0, 0.8);
}

body.beta-active.light-mode .beta-legend-color-box {
  border: 1px solid rgba(0, 0, 0, 0.2);
}

body.beta-active.light-mode .beta-legend-subsection-title {
  color: rgba(0, 0, 0, 0.8);
}

body.beta-active.light-mode .beta-tab-header {
  background: #FFFFFF;
}

body.beta-active.light-mode .beta-tab {
  color: #666666;
  opacity: 0.6;
  background: #FFFFFF !important;
}

body.beta-active.light-mode .beta-tab.active {
  background: #000000 !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
}

body.beta-active.light-mode .beta-tab:hover:not(.active) {
  opacity: 0.8;
}

body.beta-active.light-mode .beta-tab svg {
  color: #666666;
}

body.beta-active.light-mode .beta-tab.active svg {
  color: #FFFFFF !important;
}

body.beta-active.light-mode .beta-section-label {
  color: #666666;
  background: #F1F4F8;
  padding: 8px 20px;
  margin: 0 0 1px 0;
}

body.beta-active.light-mode .beta-mapset-item {
  background: #FFFFFF;
}

body.beta-active.light-mode .beta-mapview-item {
  background: #FFFFFF;
}

body.beta-active.light-mode .beta-layer-item {
  background: #FFFFFF;
}

body.beta-active.light-mode .beta-mapset-item:hover {
  background: rgba(0, 0, 0, 0.05);
}

body.beta-active.light-mode .beta-mapset-item.active {
  background: rgba(0, 122, 163, 0.08);
  border-left-color: #007AA3;
}

body.beta-active.light-mode .beta-mapset-name,
body.beta-active.light-mode .beta-mapview-name,
body.beta-active.light-mode .beta-layer-name {
  color: #000000;
}

body.beta-active.light-mode .beta-mapset-cog svg,
body.beta-active.light-mode .beta-layer-expand svg {
  color: #000000;
  stroke: #000000;
}

body.beta-active.light-mode .beta-mapset-cog path,
body.beta-active.light-mode .beta-layer-expand path {
  fill: #000000;
  stroke: #000000;
}

body.beta-active.light-mode .beta-mapset-item.active .beta-mapset-cog svg,
body.beta-active.light-mode .beta-layer-expand svg {
  color: #000000;
}


body.beta-active.light-mode .beta-mapview-item:hover,
body.beta-active.light-mode .beta-layer-header:hover {
  background: rgba(0, 0, 0, 0.05);
}

body.beta-active.light-mode .beta-mapview-item.active {
  background: rgba(0, 122, 163, 0.08);
  border-left-color: #007AA3;
}

body.beta-active.light-mode .beta-mapset-cog svg {
  color: #666666;
}

body.beta-active.light-mode .beta-mapset-item.active .beta-mapset-cog svg {
  color: #000000;
}

body.beta-active.light-mode .beta-toggle {
  background: rgba(0, 0, 0, 0.2);
}

.beta-footer-btn {
  display: flex;
  align-items: center;
  flex: 1;
  height: 34px;
  padding: 0 20px;
  background: rgba(255, 255, 255, 0.05);
  border: none;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s ease;
  gap: 10px;
  justify-content: center;
  box-sizing: border-box;
}

.beta-footer-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 1);
}

.beta-footer-btn:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 0;
}

.beta-footer-btn:last-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 6px;
}

.beta-footer-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.6);
}

.beta-footer-btn:hover svg {
  color: rgba(255, 255, 255, 1);
}

.beta-maps-footer {
  display: flex;
  width: 100%;
  gap: 1px;
  margin: 0;
  padding: 0;
  margin-top: 1px;
}

.beta-section {
  width: 100%;
  box-sizing: border-box;
}

body.beta-active.light-mode .beta-footer-btn {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.6);
}

body.beta-active.light-mode .beta-footer-btn:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #000000;
}

body.beta-active.light-mode .beta-footer-btn svg {
  color: rgba(0, 0, 0, 0.6);
}

body.beta-active.light-mode .beta-footer-btn:hover svg {
  color: #000000;
}

body.beta-active.light-mode .beta-legends-drawer {
  background: rgba(0, 0, 0, 0.03);
  border-top-color: rgba(0, 0, 0, 0.1);
}

body.beta-active.light-mode .beta-legends-title {
  color: #000000;
}

body.beta-active.light-mode .beta-legends-handle svg,
body.beta-active.light-mode .beta-legends-content {
  color: #666666;
}

body.beta-active.light-mode .beta-control-input,
body.beta-active.light-mode .beta-control-select {
  background: #FFFFFF !important;
  border-color: rgba(0, 0, 0, 0.2);
  color: #000000;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000000' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

body.beta-active.light-mode .beta-control-select option {
  background: #FFFFFF !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-control-label {
  color: #666666;
}

body.beta-active.light-mode .beta-checkbox-label {
  color: #000000;
}

body.beta-active.light-mode .beta-checkboxes-control .beta-control-label {
  color: rgba(0,0,0,0.6);
}

body.beta-active.light-mode .beta-checkbox-option .beta-checkbox-label {
  color: rgba(0,0,0,0.85);
}

body.beta-active.light-mode .beta-checkbox-option .beta-checkbox-label input[type="checkbox"] {
  border-color: rgba(0,0,0,0.3);
}

body.beta-active.light-mode .beta-checkbox-option .beta-checkbox-label input[type="checkbox"]:hover {
  border-color: rgba(0,0,0,0.5);
}

.beta-right-sidebar .beta-collapse-right {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
  border-radius: 6px !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  z-index: 10 !important;
}

.beta-right-sidebar .beta-collapse-right:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.beta-right-sidebar .beta-collapse-right svg {
  color: white !important;
}

body.beta-active.light-mode .beta-right-sidebar .beta-collapse-right {
  background: rgba(0, 0, 0, 0.1) !important;
}

body.beta-active.light-mode .beta-right-sidebar .beta-collapse-right:hover {
  background: rgba(0, 0, 0, 0.2) !important;
}

body.beta-active.light-mode .beta-right-sidebar .beta-collapse-right svg {
  color: #000000 !important;
}

#map-container #map-new {
  margin-left: 0;
  margin-right: 0;
  transition: margin-left var(--beta-sidebar-transition), margin-right var(--beta-sidebar-transition);
}

.beta-search-input-wrapper {
  position: relative;
  margin-bottom: 20px;
}

.beta-search-input {
  width: 100%;
  padding: 12px 40px 12px 16px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;
  color: #FFFFFF;
  font-size: 14px;
  transition: all 0.2s;
}

.beta-search-input:focus {
  background: rgba(255,255,255,0.12);
  border-color: #2563EB;
  outline: none;
}

.beta-search-clear {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5);
  cursor: pointer;
  font-size: 18px;
}

.beta-search-clear:hover {
  color: rgba(255,255,255,0.8);
}

.beta-search-heading {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 8px;
  padding: 0 8px;
}

.beta-search-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.beta-search-item {
  padding: 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
  color: rgba(255,255,255,0.9);
  font-size: 14px;
}

.beta-search-item:hover {
  background: rgba(255,255,255,0.08);
}

.beta-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.5);
  pointer-events: none;
  z-index: 1;
}

.beta-search-input-wrapper .beta-search-input {
  padding-left: 48px;
}

.beta-use-current-location {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 20px;
}

.beta-use-current-location:hover {
  background: rgba(255, 255, 255, 0.08);
}

.beta-use-current-location svg {
  color: rgba(255, 255, 255, 0.7);
  flex-shrink: 0;
}

.beta-search-section-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.5);
  margin: 20px 0 12px 0;
}

.beta-search-results-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.beta-search-result-item {
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.2s;
  border-left: 3px solid rgba(255, 255, 255, 0.05);
}

.beta-search-result-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

.beta-search-result-item.selected {
  border-left-color: #FFFFFF;
  background: rgba(255, 255, 255, 0.1);
}

.beta-search-result-name {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}

.beta-search-result-address {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
}

.beta-favorites-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.beta-favorite-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.2s;
  border-left: 3px solid rgba(255, 255, 255, 0.05);
}

.beta-favorite-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

.beta-favorite-item.selected {
  border-left-color: #FFFFFF;
  background: rgba(255, 255, 255, 0.1);
}

.beta-favorite-content {
  flex: 1;
}

.beta-favorite-name {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}

.beta-favorite-address {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
}

.beta-favorite-weather {
  display: flex;
  align-items: center;
  gap: 8px;
}

.beta-weather-icon {
  width: 24px;
  height: 24px;
}

.beta-temperature {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
}

.beta-search-no-results {
  text-align: center;
  padding: 40px 20px;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
}

.beta-search-no-results p {
  margin: 0;
}

body.beta-active.light-mode #map-container .beta-left-rail {
  background: #E4EAF2 !important;
}

body.beta-active.light-mode #map-container .beta-rail-btn {
  background: #FFFFFF !important;
  border: none !important; 
  box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
}

body.beta-active.light-mode #map-container .beta-rail-btn:hover {
  background: #F8F9FA !important;
  border: none !important;
}

body.beta-active.light-mode #map-container .beta-rail-btn.active {
  background: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 0 0 2px #2563EB inset !important;
}

body.beta-active.light-mode #map-container .beta-rail-btn.inactive {
  opacity: 0.7;
  background: #F0F0F0 !important;
  border: none !important;
}

body.beta-active.light-mode #map-container .beta-rail-btn img {
  filter: invert(1) !important;
}

body.beta-active.light-mode .beta-left-sidebar,
body.beta-active.light-mode .beta-right-sidebar {
  background: #E4EAF2 !important;
  box-shadow: 0 0 20px rgba(0,0,0,0.15) !important;
}

body.beta-active.light-mode .beta-panel-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid rgba(0,0,0,0.1) !important;
}

body.beta-active.light-mode .beta-panel-header h3 {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-panel-body {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-panel-body p {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-collapse-left {
  background: #FFFFFF !important;
  border: 2px solid #000000 !important;
}

body.beta-active.light-mode .beta-collapse-left:hover {
  background: #F8F9FA !important;
}

body.beta-active.light-mode .beta-collapse-left svg path {
  stroke: #000000 !important;
}

body.beta-active.light-mode .beta-collapse-right svg rect {
  fill: #FFFFFF !important;
  stroke: #000000 !important;
  stroke-width: 2 !important;
}

body.beta-active.light-mode .beta-collapse-right svg path {
  stroke: #000000 !important;
}

body.beta-active.light-mode .beta-collapse-right:hover svg rect {
  fill: #F8F9FA !important;
}

body.beta-active.light-mode .beta-inspect-close {
  color: #000000 !important;
  background: #FFFFFF !important;
  border-radius: 4px !important;
  border: 1px solid #000000 !important;
}

body.beta-active.light-mode .beta-inspect-close:hover {
  background: #F8F9FA !important;
}

body.beta-active.light-mode .beta-search-input {
  background: #FFFFFF !important;
  border: 2px solid #000000 !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-search-input:focus {
  background: #FFFFFF !important;
  border-color: #2563EB !important;
  outline: none !important;
}

body.beta-active.light-mode .beta-search-input::placeholder {
  color: #666666 !important;
}

body.beta-active.light-mode .beta-search-clear {
  color: #000000 !important;
  background: #FFFFFF !important;
  border-radius: 50% !important;
  width: 20px !important;
  height: 20px !important;
  line-height: 18px !important;
  text-align: center !important;
}

body.beta-active.light-mode .beta-search-clear:hover {
  background: #F8F9FA !important;
}

body.beta-active.light-mode .beta-search-heading {
  color: #000000 !important;  
  font-weight: bold !important;
}

body.beta-active.light-mode .beta-search-item {
  color: #000000 !important;  
  background: rgba(0,0,0,0.05) !important;
}

body.beta-active.light-mode .beta-search-item:hover {
  background: rgba(0,0,0,0.1) !important;
}

body.beta-active.light-mode .beta-empty-state {
  color: #000000 !important; 
}

body.beta-active.light-mode .beta-empty-state p {
  color: #000000 !important;  
}

body.beta-active.light-mode .beta-empty-section {
  color: #000000 !important;
}

.beta-alert-pill.beta-severity-critical {
  background: linear-gradient(0deg, rgba(169, 15, 107, 0.30) 0%, rgba(169, 15, 107, 0.30) 100%), rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
}

.beta-alert-pill.beta-severity-severe {
  background: linear-gradient(0deg, rgba(206, 18, 21, 0.30) 0%, rgba(206, 18, 21, 0.30) 100%), rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
}

.beta-alert-pill.beta-severity-moderate {
  background: linear-gradient(0deg, rgba(245, 212, 0, 0.30) 0%, rgba(245, 212, 0, 0.30) 100%), rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
}

.beta-alert-pill.beta-severity-low {
  background: linear-gradient(0deg, rgba(0, 122, 163, 0.30) 0%, rgba(0, 122, 163, 0.30) 100%), rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
}

body.beta-active.light-mode .beta-alert-pill.beta-severity-critical {
  background: linear-gradient(0deg, rgba(169, 15, 107, 0.20) 0%, rgba(169, 15, 107, 0.20) 100%), #FFF !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-alert-pill.beta-severity-severe {
  background: linear-gradient(0deg, rgba(206, 18, 21, 0.20) 0%, rgba(206, 18, 21, 0.20) 100%), #FFF !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-alert-pill.beta-severity-moderate {
  background: linear-gradient(0deg, rgba(245, 212, 0, 0.20) 0%, rgba(245, 212, 0, 0.20) 100%), #FFF !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-alert-pill.beta-severity-low {
  background: linear-gradient(0deg, rgba(0, 122, 163, 0.20) 0%, rgba(0, 122, 163, 0.20) 100%), #FFF !important;
  color: #000000 !important;
}

/* ======================= Beta Play Bar — FINAL ======================= */

#map-container{
  --beta-left-sidebar-w: 340px;
  --beta-right-sidebar-w: 360px;
  --beta-map-padding: 20px;
  --pb-min: 560px;
  --pb-max: 880px;
  --pb-ideal: 56vw;
  --pb-rail-h: 12px;
  --pb-track-h: 28px;
}

.beta-playbar-wrap{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 56px;
  width: min(
    clamp(var(--pb-min), var(--pb-ideal), var(--pb-max)),
    calc(100% - (var(--beta-map-padding) * 2))
  );
  pointer-events: none;
  z-index: 520;
  transition: width .28s cubic-bezier(.2,.8,.2,1),
              bottom .28s cubic-bezier(.2,.8,.2,1),
              transform .28s ease;
}

#map-container.left-sidebar-open:not(.right-sidebar-open) .beta-playbar-wrap{
  width: min(
    clamp(var(--pb-min), var(--pb-ideal), var(--pb-max)),
    calc(100% - var(--beta-left-sidebar-w) - (var(--beta-map-padding) * 2))
  );
  left: calc(50% + (var(--beta-left-sidebar-w) / 2));
}

#map-container.right-sidebar-open:not(.left-sidebar-open) .beta-playbar-wrap{
  width: min(
    clamp(var(--pb-min), var(--pb-ideal), var(--pb-max)),
    calc(100% - var(--beta-right-sidebar-w) - (var(--beta-map-padding) * 2))
  );
  left: calc(50% - (var(--beta-right-sidebar-w) / 2));
}

#map-container.left-sidebar-open.right-sidebar-open .beta-playbar-wrap{
  width: min(
    clamp(260px, 38vw, 380px),
    calc(100% - var(--beta-left-sidebar-w) - var(--beta-right-sidebar-w) - (var(--beta-map-padding) * 2))
  ) !important;
  left: 50% !important;
}

.beta-playbar-row{
  display: flex;
  align-items: center;
  gap: 12px;
  pointer-events: auto;
}

.pb-fab{
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 0;
  background: #fff; color: #111;
  box-shadow: 0 10px 28px rgba(0,0,0,.38);
  cursor: pointer;
  line-height: 0;
}
.pb-fab .pb-icon{
  display: block;
  width: 18px; height: 18px;
  fill: currentColor;
}

.pb-rail{
  flex: 1; min-width: 0;
  background: transparent; box-shadow: none; padding: 0;
}

.pb-track{
  position: relative;
  height: var(--pb-track-h);
  overflow: visible;
}

.pb-track::before{
  content: '';
  position: absolute; left: 0; right: 0; top: 50%;
  height: var(--pb-rail-h);
  transform: translateY(-50%);
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 1px 0 rgba(0,0,0,.06) inset;
  z-index: 0;
}

.pb-progress{
  position: absolute;
  left: 0; top: 50%;
  height: var(--pb-rail-h);
  transform: translateY(-50%);
  background: #FF6B35;
  border-radius: 999px;
  width: 0%;
  z-index: 1;
  transition: width .12s linear;
  pointer-events: none;
  opacity: 1;
}


.pb-tick{
  position: absolute;
  top: 50%;
  width: 2px; height: 10px;
  transform: translate(-1px,-50%);
  background: #000;
  z-index: 3;
}

.pb-range{
  position: absolute; left: 0; right: 0; top: 0; bottom: 0;
  width: 100%; height: 100%;
  background: transparent; margin: 0; opacity: 0;
  pointer-events: auto;
}
.pb-range:focus{ outline: none; }
.pb-range::-webkit-slider-runnable-track{ height: 100%; background: transparent; }
.pb-range::-webkit-slider-thumb{ -webkit-appearance: none; width: 0; height: 0; opacity: 0; }
.pb-range::-moz-range-thumb{ width: 0; height: 0; opacity: 0; border: none; }


.pb-tooltip{
  position: absolute;
  bottom: 32px;
  transform: translateX(-50%);
  background: #fff; color: #111318;
  font-size: 12px; line-height: 1;
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
  box-shadow: 0 10px 24px rgba(0,0,0,.28), 0 1px 0 rgba(0,0,0,.06) inset;
  opacity: 0; pointer-events: none;
  transition: opacity .12s ease, transform .12s ease;
  z-index: 5;
}
.pb-tooltip::after{
  content: '';
  position: absolute; left: 50%; transform: translateX(-50%);
  bottom: -6px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #fff;
}
.pb-tooltip.visible{ opacity: 1; transform: translateX(-50%) translateY(-2px); }


.pb-labels{
  margin-top: 8px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  font-size: 12px;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.65), 0 0 8px rgba(0,0,0,.35);
  font-weight: 600;
}
.pb-labels .lbl.left  { justify-self: start; }
.pb-labels .lbl.center{ justify-self: center; letter-spacing: .02em; }
.pb-labels .lbl.right { justify-self: end; }

@media (max-width: 680px){
  #map-container{ --pb-min: 360px; --pb-ideal: 70vw; }
}

#map-container{
  --pb-ideal: 56vw;
  --pb-ideal-narrow: 42vw;
  --pb-min: 520px;
  --pb-max: 880px;
  --beta-left-sidebar-w: 340px;
  --beta-right-sidebar-w: 420px;
}

#map-container.left-sidebar-open:not(.right-sidebar-open) .beta-playbar-wrap,
#map-container.right-sidebar-open:not(.left-sidebar-open) .beta-playbar-wrap{
  width: min(
    clamp(var(--pb-min), var(--pb-ideal-narrow), var(--pb-max)),
    calc(100% - max(var(--beta-left-sidebar-w), var(--beta-right-sidebar-w)) - (var(--beta-map-padding) * 2))
  );
}


.beta-playbar-wrap{ pointer-events:none; z-index: 800; }
.beta-playbar-row{  pointer-events:none; }
.pb-fab, .pb-rail{ pointer-events:auto; }

.beta-controls-br{
  position: absolute;
  z-index: 1200;
  pointer-events: auto;
}

.beta-controls-br .beta-icon{
  position: relative;
  z-index: 1210;
}

.beta-controls-br .beta-icon,
.beta-controls-br .beta-zoomwrap{
  pointer-events: auto !important;
}

.beta-playbar-wrap .pb-tooltip{
  position:absolute;
  bottom:22px;
  transform:translateX(-50%);
  background:#fff; color:#000;
  border-radius:6px; padding:6px 10px;
  font-size:12px; line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  pointer-events:none;
  opacity:1;
  white-space:nowrap;
}

.pb-progress{
  position: absolute;
  left: 0;
  top: 50%;
  height: var(--pb-rail-h);
  transform: translateY(-50%);
  background: #FF6B35;
  border-radius: 999px;
  width: 0%;
  z-index: 1;
  transition: width .12s linear;
  pointer-events: none;
}

.beta-playbar-wrap { pointer-events: none; }
.beta-playbar-row{
  display:flex;
  align-items:center;
  gap:12px;
  pointer-events:auto;
  min-height:40px;
  padding:0 8px;
}

.pb-fab{
  flex:0 0 auto;
  width:40px; height:40px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; padding:0; border:0; cursor:pointer;
}

.pb-icon{ width:20px; height:20px; fill:currentColor; }

.pb-rail{
  flex:1 1 auto;
  display:flex; flex-direction:column;
  min-width:0;
}

.pb-track{
  position:relative;
  width:100%;
  height:28px;
}

.pb-bar{
  position:absolute; left:0; right:0; top:50%;
  height:6px; transform:translateY(-50%);
  border-radius:999px; background:rgba(255,255,255,.18);
}
.pb-progress{
  position:absolute; left:0; top:50%;
  transform:translateY(-50%);
  height:6px; border-radius:999px;
  background:rgba(255,255,255,.45);
}

.pb-tick{
  position:absolute; top:50%; transform:translate(-50%, -50%);
  width:2px; height:10px; background:rgba(255,255,255,.35);
  pointer-events:none;
}

.pb-range{
  position:absolute; inset:0;
  width:100%; height:100%;
  opacity:0; pointer-events:auto; z-index:3;
  -webkit-appearance:none; appearance:none;
}
.pb-range::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; }
.pb-range::-moz-range-thumb{ appearance:none; }

.pb-tooltip{
  position:absolute; bottom:calc(100% + 8px);
  transform:translateX(-50%);
  z-index:10; white-space:nowrap;
  font-size:12px; background:rgba(0,0,0,.85); color:#fff;
  padding:4px 8px; border-radius:6px; pointer-events:none;
}

.pb-labels{
  display:flex; justify-content:space-between; align-items:center;
  width:100%; margin-top:6px; font-size:12px; line-height:1; opacity:.85;
}
.pb-labels .lbl.center{ text-align:center; flex:0 0 auto; }

.pb-bar{
  position:absolute; left:0; right:0; top:50%;
  height:6px; transform:translateY(-50%);
  border-radius:999px;
  background: rgba(255,255,255,.85);
  z-index: 1;
}

.pb-progress{
  position:absolute; left:0; top:50%;
  transform:translateY(-50%);
  height:6px; border-radius:999px;
  background: var(--pb-progress, #f05514);
  z-index: 2;
}

.pb-tick{
  position:absolute; top:50%;
  transform:translate(-50%, -50%);
  width:2px; height:10px;
  background: rgba(0,0,0,.45);
  z-index: 2;
  pointer-events:none;
}

.pb-range{
  position:absolute; inset:0;
  width:100%; height:100%;
  opacity:0; pointer-events:auto;
  -webkit-appearance:none; appearance:none;
  z-index: 3;
}

.pb-tooltip{ z-index: 10; }

.pb-bar{
  position:absolute; left:0; right:0; top:50%;
  height:6px; transform:translateY(-50%);
  border-radius:999px;
  background:#fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.05) inset;
  z-index:1;
}

.pb-progress{
  position:absolute; left:0; top:50%;
  transform:translateY(-50%);
  height:6px; border-radius:999px;
  background:#f05514;
  z-index:2;
}

.pb-tick{
  position:absolute; top:50%;
  transform:translate(-50%,-50%);
  width:2px; height:10px;
  background:rgba(0,0,0,.45);
  z-index:3;
  pointer-events:none;
}

.pb-cursor{
  position:absolute; top:50%;
  transform:translate(-50%,-50%);
  width:10px; height:10px; border-radius:50%;
  background:#fff;
  box-shadow: 0 0 0 2px #f05514;
  z-index:4;
}


.pb-range{
  position:absolute; inset:0;
  width:100%; height:100%;
  opacity:0; pointer-events:auto;
  -webkit-appearance:none; appearance:none;
  z-index:5;
}

.pb-tooltip{ z-index:10; }

:root { --pb-thickness: 6px; }

.pb-bar{
  position:absolute; left:0; right:0; top:50%;
  height:var(--pb-thickness);
  transform:translateY(-50%);
  border-radius:999px;
  background:#fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.05) inset;
  z-index:1;
}

.pb-progress{
  position:absolute; left:0; top:50%;
  height:var(--pb-thickness);
  transform:translateY(-50%);
  border-radius:999px;
  background:#f05514;
  box-shadow: 0 0 0 1px rgba(0,0,0,.05) inset;
  z-index:2;
  pointer-events:none;
}


#map-container { --pb-rail-h: 12px; }
.beta-playbar-wrap .pb-track::before,
.beta-playbar-wrap .pb-bar {
  top: 50% !important;
  height: var(--pb-rail-h) !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.06) inset !important;
  z-index: 1 !important;
}

.beta-playbar-wrap .pb-progress {
  top: 50% !important;
  height: var(--pb-rail-h) !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background: #FF6B35 !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.06) inset !important;
  z-index: 2 !important;
}

.beta-playbar-wrap .pb-tick {
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3 !important;
}

.beta-playbar-wrap .pb-cursor { z-index: 4 !important; }
.beta-playbar-wrap .pb-range  { z-index: 5 !important; }

.beta-playbar-wrap .pb-tooltip { z-index: 10 !important; }

:root{
  --beta-vignette-h: 110px;
  --beta-vignette-opa: 0.60;
}

#map-container{ position: relative; }

body.beta-active #map-container::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--beta-vignette-h);
  pointer-events: none;
  z-index: 700;

  background: linear-gradient(
    to top,
    rgba(0,0,0, var(--beta-vignette-opa))            0%,
    rgba(0,0,0, calc(var(--beta-vignette-opa)*0.70)) 22%,
    rgba(0,0,0, calc(var(--beta-vignette-opa)*0.36)) 58%,
    rgba(0,0,0, 0)                                   100%
  );
}

body.beta-active.light-mode #map-container::after{
  --beta-vignette-opa: 0.50;
}

@media (max-width: 1024px){
  :root{ --beta-vignette-h: 120px; }
}
@media (max-width: 680px){
  :root{ --beta-vignette-h: 130px; }
}

:root{
  --pb-fab-size: 44px;
  --pb-track-h: 28px;
  --pb-align-dy: -2px;
}

.beta-playbar-wrap .beta-playbar-row{ align-items: center; }
.beta-playbar-wrap .pb-fab{
  position: relative;
  top: calc( (var(--pb-track-h) - var(--pb-fab-size)) / 2 + var(--pb-align-dy) );
}

.beta-playbar-wrap .pb-fab .pb-icon{
  width: 20px; height: 20px;
  transform: translateY(-1px);
}

.beta-playbar-wrap .pb-track::before,
.beta-playbar-wrap .pb-progress{
  top: 50%;
  transform: translateY(-50%);
}

/* ========================================================== */
/* ========== BETA NOTIFICATIONS — LEFT SIDEBAR (DARK) ====== */
/* ========================================================== */

body.beta-active .beta-panel-notifications {
  background-color: #131415; 
  color: #ffffff;
  padding: 20px;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border-left: none !important;
}

body.beta-active .beta-notifications-header {
  background-color: #000000;
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 12px;
}

body.beta-active .beta-notifications-header h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

body.beta-active .beta-notifications-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  overflow-y: auto;
}

body.beta-active .beta-notification-drawer {
  background-color: #FFFFFF0D;
  border-radius: 8px;
  border: 1px solid #FFFFFF0D;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
}

body.beta-active .beta-notification-drawer-header {
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: #f5f5f5;
}

body.beta-active .beta-notification-drawer-header:hover {
  background-color: #222325;
}

body.beta-active .beta-notification-drawer-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.beta-active .beta-notification-drawer-meta {
  display: flex;
  align-items: center;
  gap: 6px;
}

body.beta-active .beta-notification-count-pill {
  min-width: 24px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 999px;
  background-color: #ffffff;
  color: #111111;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

body.beta-active .beta-notification-count-pill.has-notifications {
  background-color: #ffffff;
  color: #111111;
  font-weight: 700;
}

body.beta-active .beta-notification-drawer-chevron {
  width: 10px;
  height: 10px;
  display: inline-block;
  position: relative;
  font-size: 0;
}

body.beta-active .beta-notification-drawer-chevron::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255, 255, 255, 0.85);
  border-bottom: 2px solid rgba(255, 255, 255, 0.85);
  transform: translate(-50%, -60%) rotate(45deg);
  transition: transform 0.2s ease;
}

body.beta-active .beta-notification-drawer-chevron.open::before {
  transform: translate(-50%, -40%) rotate(-135deg);
}

body.beta-active .beta-notification-drawer-body {
  max-height: 0;
  overflow: hidden;
  padding: 0 10px;
  transition: max-height 0.25s ease, padding-bottom 0.25s ease;
}

body.beta-active .beta-notification-drawer-body.open {
  max-height: 400px;
  overflow-y: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}

body.beta-active .beta-notification-drawer-body.open::-webkit-scrollbar {
  width: 6px;
}

body.beta-active .beta-notification-drawer-body.open::-webkit-scrollbar-track {
  background: transparent;
}

body.beta-active .beta-notification-drawer-body.open::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

body.beta-active.light-mode .beta-notification-drawer-body.open {
  scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
}

body.beta-active.light-mode .beta-notification-drawer-body.open::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
}

body.beta-active .beta-notification-empty {
  font-size: 12px;
  color: #a0a0a0;
  padding-top: 6px;
}

body.beta-active .beta-notification-item {
  position: relative;
  display: flex;
  margin-top: 8px;
  padding: 10px 12px 10px 14px;
  border-radius: 6px;
  background-color: #1f2022;
}

body.beta-active .beta-notification-item .beta-notification-left-border {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  height: auto !important;
  border-radius: 3px 0 0 3px !important;
  background-color: #CE1215 !important;
}

body.beta-active .beta-notification-left-border {
  width: 3px;
  border-radius: 3px;
  margin-right: 10px;
  background-color: #CE1215;
}

body.beta-active .beta-notification-content {
  flex: 1;
  min-width: 0;
}

body.beta-active .beta-notification-title {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.beta-active .beta-notification-meta {
  font-size: 11px;
  color: #b8b8b8;
  display: flex;
  align-items: center;
  gap: 4px;
}

body.beta-active .beta-notification-dot {
  font-size: 10px;
}

body.beta-active .beta-panel-notifications .beta-empty-state p {
  font-size: 13px;
  color: #b8b8b8;
  margin: 0;
}

body.beta-active .beta-panel.beta-panel-notifications,
body.beta-active .beta-panel-notifications {
  border-left: none !important;
}

body.beta-active .beta-panel.beta-panel-notifications,
body.beta-active .beta-panel-notifications {
  border-left: none !important;
  padding-left: 20px;
}

body.beta-active .beta-notifications-header {
  display: none;
}

body.beta-active.light-mode .beta-panel-notifications {
  background-color: #E4EAF2 !important;
}

body.beta-active.light-mode .beta-notifications-body {
  background-color: #E4EAF2 !important;
}

body.beta-active.light-mode .beta-notification-drawer-label {
  color: #333333 !important;
}

body.beta-active.light-mode .beta-notification-count-pill,
body.beta-active.light-mode .beta-notification-count-pill.has-notifications {
  background-color: #333333 !important;
  color: #ffffff !important;
}

body.beta-active.light-mode .beta-notification-drawer-chevron {
  color: #333333 !important;
}

body.beta-active.light-mode .beta-card-time-label {
  color: #666666 !important;
}

body.beta-active.light-mode .beta-card-time-value {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-card-jump-btn {
  background: rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  color: #000000 !important;
}

body.beta-active.light-mode .beta-card-jump-btn:hover {
  background: rgba(0, 0, 0, 0.1) !important;
}

body.beta-active .beta-notification-count-pill {
  min-width: 32px;
  padding: 2px 14px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 999px;
  background-color: #ffffff;
  color: #111111;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

body.beta-active .beta-notification-count-pill.has-notifications {
  background-color: #ffffff;
  color: #111111;
  font-weight: 700;
}

body.beta-active .beta-panel-notifications .beta-panel-body {
  padding: 4px 4px 16px;
}

.beta-panel-notifications .beta-panel-body {
  padding: 0px 0px 12px 0px;
}

body.beta-active .beta-notifications-body .beta-notification-drawer + .beta-notification-drawer {
  margin-top: 6px; 
}

.beta-notification-drawer-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9E9E9E !important;
}

.beta-notification-count-pill,
.beta-notification-count-pill.has-notifications {
  box-sizing: border-box !important;

  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;

  padding: 0 !important;
  margin: 0 !important;

  border-radius: 50% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background-color: #ffffff !important;
  color: #000000 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  border: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.beta-notification-drawer-meta {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Severity background colors - Dark mode */
body.beta-active .beta-notification-item.beta-card-severity-critical { background-color: rgba(169, 15, 107, 0.15) !important; }
body.beta-active .beta-notification-item.beta-card-severity-severe { background-color: rgba(206, 18, 21, 0.15) !important; }
body.beta-active .beta-notification-item.beta-card-severity-moderate { background-color: rgba(245, 212, 0, 0.15) !important; }
body.beta-active .beta-notification-item.beta-card-severity-low { background-color: rgba(0, 122, 163, 0.15) !important; }

/* Fallback for empty severity - use low severity styling */
body.beta-active .beta-notification-item.beta-card-severity- { background-color: rgba(0, 122, 163, 0.15) !important; }
body.beta-active .beta-notification-item:not([class*="beta-card-severity-"]) { background-color: #1f2022 !important; }

body.beta-active .beta-notification-item.beta-card-severity-critical .beta-notification-left-border { background-color: #A90F6B !important; }
body.beta-active .beta-notification-item.beta-card-severity-severe .beta-notification-left-border { background-color: #CE1215 !important; }
body.beta-active .beta-notification-item.beta-card-severity-moderate .beta-notification-left-border { background-color: #F5D400 !important; }
body.beta-active .beta-notification-item.beta-card-severity-low .beta-notification-left-border { background-color: #007AA3 !important; }
body.beta-active .beta-notification-item.beta-card-severity- .beta-notification-left-border { background-color: #007AA3 !important; }

body.beta-active.light-mode .beta-notification-item.beta-card-severity-critical { background-color: rgba(169, 15, 107, 0.08) !important; }
body.beta-active.light-mode .beta-notification-item.beta-card-severity-severe { background-color: rgba(206, 18, 21, 0.08) !important; }
body.beta-active.light-mode .beta-notification-item.beta-card-severity-moderate { background-color: rgba(245, 212, 0, 0.08) !important; }
body.beta-active.light-mode .beta-notification-item.beta-card-severity-low { background-color: rgba(0, 122, 163, 0.08) !important; }
body.beta-active.light-mode .beta-notification-item.beta-card-severity- { background-color: rgba(0, 122, 163, 0.08) !important; }
body.beta-active.light-mode .beta-notification-item:not([class*="beta-card-severity-"]) { background-color: #f5f5f5 !important; }

body.beta-active.light-mode .beta-notification-item .beta-notification-title {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-notification-drawer-label {
  color: #000000 !important;
}

body.beta-active.light-mode .beta-notification-drawer-header {
  background-color: rgba(0, 0, 0, 0.05) !important;
}

body.beta-active.light-mode .beta-notification-drawer-header:hover {
  background-color: rgba(0, 0, 0, 0.08) !important;
}

body.beta-active.light-mode .beta-notification-empty {
  color: #666666 !important;
}

.beta-notification-item {
  cursor: pointer !important;
  transition: filter 0.2s ease !important;
}

.beta-notification-item:hover {
  filter: brightness(1.1);
}

body.beta-active.light-mode .beta-notification-item:hover {
  filter: brightness(0.95);
}

.beta-card-top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  width: 100%;
}

.beta-card-header-left {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.beta-card-headphones-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: #ff4444;
  animation: beta-headphones-pulse 1.5s infinite;
}

.beta-card-headphones-icon i {
  font-size: 14px;
}

body.beta-active.light-mode .beta-card-headphones-icon {
  color: #cc0000;
}

@keyframes beta-headphones-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.beta-card-type-number {
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.beta-active.light-mode .beta-card-type-number {
  color: #000000;
}

.beta-card-version-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
  font-family: 'Solis', sans-serif;
}

/* Version pill severity colors */
.beta-card-version-pill.severity-critical,
body.beta-active .beta-card-version-pill.severity-critical {
  background-color: #A90F6B !important;
  color: #ffffff !important;
}

.beta-card-version-pill.severity-severe,
body.beta-active .beta-card-version-pill.severity-severe {
  background-color: #CE1215 !important;
  color: #ffffff !important;
}

.beta-card-version-pill.severity-moderate,
body.beta-active .beta-card-version-pill.severity-moderate {
  background-color: #F5D400 !important;
  color: #000000 !important;
}

.beta-card-version-pill.severity-low,
body.beta-active .beta-card-version-pill.severity-low {
  background-color: #007AA3 !important;
  color: #ffffff !important;
}

body.beta-active.light-mode .beta-card-version-pill {
  background-color: rgba(0, 0, 0, 0.1);
  color: #000000;
}

.beta-card-version-pill.moderate-text {
  color: #000000 !important;
}

.beta-notification-item .beta-notification-title {
  margin-bottom: 6px !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal !important; 
  line-height: 1.3 !important;
}

.beta-card-issue-time {
  font-size: 11px;
  color: #999999;
  margin-bottom: 12px;
}

body.beta-active.light-mode .beta-card-issue-time {
  color: #666666;
}

.beta-card-times-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  width: 100%;
}

.beta-card-time-block {
  display: flex;
  flex-direction: column;
  min-width: 60px;
}

.beta-card-time-label {
  font-size: 9px;
  text-transform: uppercase;
  color: #888888;
  font-weight: 600;
  margin-bottom: 2px;
}

.beta-card-time-value {
  font-size: 11px;
  color: #ffffff;
  line-height: 1.2;
}

body.beta-active.light-mode .beta-card-time-value {
  color: #000000;
}

.beta-card-progress-container {
  flex: 1;
  min-width: 80px;
  height: 20px; 
  background: transparent; 
  position: relative;
  margin-top: 8px;
  display: flex;
  align-items: center;
}

body.beta-active.light-mode .beta-card-progress-container {
  background: transparent;
}

/* Progress bar directive host element */
beta-progress-bar {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.beta-progress-start-dot {
  width: 6px;
  height: 6px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  z-index: 1;
}

body.beta-active.light-mode .beta-progress-start-dot {
  background: rgba(0, 0, 0, 0.4);
}

.beta-progress-end-dot {
  width: 6px;
  height: 6px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  z-index: 1;
}

body.beta-active.light-mode .beta-progress-end-dot {
  background: rgba(0, 0, 0, 0.4);
}

.beta-progress-track-line {
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 2px;
  background: transparent;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.4) 50%, transparent 50%);
  background-position: bottom;
  background-size: 6px 2px;
  background-repeat: repeat-x;
}

body.beta-active.light-mode .beta-progress-track-line {
  background: transparent;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25) 50%, transparent 50%);
  background-position: bottom;
  background-size: 6px 2px;
  background-repeat: repeat-x;
}

/* Main progress dot - larger, moving indicator */
.beta-progress-dot {
  width: 10px;
  height: 10px;
  background: #FFFFFF;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 0%;
  transition: left 1s linear;
  z-index: 2;
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
}

body.beta-active.light-mode .beta-progress-dot {
  background: #333333;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}

.beta-progress-dot.pulsing::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: inherit;
  opacity: 0.6;
  animation: beta-dot-pulse 2s infinite;
}

@keyframes beta-dot-pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.6;
  }
  70% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
}

.beta-card-progress-track {
  display: none; 
}

.beta-card-more-details {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
  margin-top: 0;
}

.beta-notification-item:hover .beta-card-more-details {
  max-height: 40px;
  margin-top: 8px;
}

.beta-card-jump-btn {
  width: 100%;
  padding: 6px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
}

.beta-card-jump-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}

body.beta-active.light-mode .beta-card-jump-btn {
  background: #ffffff;
  border: 1px solid #cccccc;
  color: #000000;
}

body.beta-active.light-mode .beta-card-jump-btn:hover {
  background: #f0f0f0;
}

/* =========================================================
   BETA EXPERIENCE — INSPECT REFRESH (UI-ONLY, LIGHT MODE)
   ========================================================= */

body.beta-active.light-mode .beta-panel-inspect {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #F8F9FA;
}

body.beta-active.light-mode .beta-inspect-body {
  overflow-y: auto;
  padding: 8px 10px 16px;
}

body.beta-active.light-mode .inspect-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 14px;

  box-shadow:
    0 1px 2px rgba(0,0,0,0.06),
    0 0 0 1px rgba(0,0,0,0.08);
}

body.beta-active.light-mode .inspect-title-section {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

body.beta-active.light-mode .inspect-title-section-icon {
  width: 22px;
  height: 22px;
  margin-right: 8px;
}

body.beta-active.light-mode .inspect-title-section-title {
  font-size: 14px;
  font-weight: 600;
  color: #0F172A;
  margin: 0;
}

body.beta-active.light-mode .inspect-body-section {
  font-size: 13px;
  color: #111827;
}

body.beta-active.light-mode .inspect-body-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
}

body.beta-active.light-mode .inspect-body-row-title {
  font-weight: 500;
  color: #4B5563;
}

body.beta-active.light-mode .inspect-body-row-value {
  font-weight: 600;
  color: #111827;
}

body.beta-active.light-mode .inspect-list hr {
  border: 0;
  border-top: 1px solid #E5E7EB;
  margin: 10px 0;
}

body.beta-active.light-mode .inspect-expand-button,
body.beta-active.light-mode .inspect-collapse-button {
  background: none;
  border: none;
  font-size: 12px;
  font-weight: 500;
  color: #2563EB;
  padding: 6px 2px 0 0;
  cursor: pointer;
}

body.beta-active.light-mode .inspect-expand-button:hover,
body.beta-active.light-mode .inspect-collapse-button:hover {
  text-decoration: underline;
}

body.beta-active.light-mode .beta-inspect-body::-webkit-scrollbar {
  width: 6px;
}

body.beta-active.light-mode .beta-inspect-body::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.20);
  border-radius: 10px;
}

/* =========================================================
   BETA EXPERIENCE – INSPECT (tarjetas tipo módulo – DARK)
   ========================================================= */

body.beta-active .beta-panel-inspect {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: transparent !important;
}

body.beta-active .beta-panel-inspect .beta-panel-header {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

body.beta-active .beta-panel-inspect .beta-inspect-body {
  padding: 8px 10px 16px;
  overflow-y: auto;
}

body.beta-active .beta-panel-inspect .beta-inspect-body::-webkit-scrollbar {
  width: 6px;
}
body.beta-active .beta-panel-inspect .beta-inspect-body::-webkit-scrollbar-thumb {
  background: rgba(148,163,184,0.6);
  border-radius: 999px;
}

body.beta-active .beta-panel-inspect .beta-inspect-header {
  padding: 0 8px 8px;
  background: transparent;
}

body.beta-active .beta-panel-inspect .beta-inspect-location-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 46px;
  padding: 0 16px;
  border-radius: 10px;
  background: #FFFFFF1A;
}

body.beta-active .beta-panel-inspect .beta-inspect-location-main {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}

body.beta-active .beta-panel-inspect .beta-inspect-location-icon {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  flex-shrink: 0;

  border: 2px solid #E5E7EB;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-sizing: border-box;
}

body.beta-active .beta-panel-inspect .beta-inspect-location-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #E5E7EB;
  transform: translate(-50%, -50%) rotate(45deg);
}

body.beta-active .beta-panel-inspect .beta-inspect-location-text {
  flex: 1;
  font-family: "Solis", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #F9FAFB;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.beta-active .beta-panel-inspect .beta-inspect-close {
  position: relative;
  top: auto;
  right: auto;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

body.beta-active .beta-panel-inspect .beta-inspect-close::before,
body.beta-active .beta-panel-inspect .beta-inspect-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1.5px;
  background: #E5E7EB;
  transform-origin: center;
}

body.beta-active .beta-panel-inspect .beta-inspect-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

body.beta-active .beta-panel-inspect .beta-inspect-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.beta-active .beta-panel-inspect .beta-inspect-close:hover,
body.beta-active .beta-panel-inspect .beta-inspect-close:focus {
  opacity: 0.8;
  outline: none;
}

body.beta-active .beta-panel-inspect .inspect-container {
  padding: 0 8px 16px;
}

body.beta-active .beta-panel-inspect .inspect-container h3 {
  margin: 0 0 2px 0;
  padding: 0 16px;
  height: 46px;
  display: flex;
  align-items: center;
  background: #FFFFFF1A;
  color: #F9FAFB;

  font-family: "Solis", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0.5px;
  text-transform: uppercase;

  border-radius: 10px 10px 0 0;
}

body.beta-active .beta-panel-inspect .inspect-list {
  margin: 0;
}

body.beta-active .beta-panel-inspect .inspect-card {
  margin: 0 0 20px 0;
  padding: 8px 16px 14px;
  background: #FFFFFF0D !important;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

body.beta-active .beta-panel-inspect .inspect-list + .inspect-list .inspect-card {
  border-top: 1px solid rgba(15,23,42,0.8);
  margin-top: -1px;
}

body.beta-active .beta-panel-inspect .inspect-list hr {
  display: none !important;
}

body.beta-active .beta-panel-inspect .inspect-title-section {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}

body.beta-active .beta-panel-inspect .inspect-title-section-icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

body.beta-active .beta-panel-inspect .inspect-title-section-title {
  font-size: 13px;
  font-weight: 600;
  color: #F9FAFB;
  margin: 0;
}

body.beta-active .beta-panel-inspect .inspect-body-section {
  font-family: "Solis", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #FFFFFF;
}

body.beta-active .beta-panel-inspect .inspect-body-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
}

body.beta-active .beta-panel-inspect .inspect-body-row-title {
  flex: 1 1 0;
  padding-right: 16px;

  font-family: "Solis", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0;
  text-align: left;
  color: #D1D5DB;
}

body.beta-active .beta-panel-inspect .inspect-body-row-value,
body.beta-active .beta-panel-inspect .inspect-body-row-label {
  flex: 0 0 auto;
  max-width: 55%;

  font-family: "Solis", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: right;
  color: #FFFFFF;
}

body.beta-active .beta-panel-inspect .inspect-button {
  background: none;
  border: none;
  font-size: 11px;
  font-weight: 500;
  color: #60A5FA;
  padding: 4px 0 0;
  cursor: pointer;
}

body.beta-active .beta-panel-inspect .inspect-button:hover,
body.beta-active .beta-panel-inspect .inspect-button:focus {
  text-decoration: underline;
  outline: none;
}

body.beta-active .beta-panel-inspect
  .inspect-container [ng-repeat="layer in results"] > div {
  position: relative;
}

body.beta-active .beta-panel-inspect
  .inspect-container [ng-repeat="layer in results"] > div > h3 {
  padding-right: 28px;
}

body.beta-active .beta-panel-inspect
  .inspect-container [ng-repeat="layer in results"] > div
  .inspect-list:first-of-type .inspect-title-section-title .pull-right {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
  float: none;
}

body.beta-active .beta-panel-inspect
  .inspect-container [ng-repeat="layer in results"] > div
  .inspect-list:first-of-type .inspect-title-section-title .pull-right .fa-external-link {
  color: #FFFFFF;
  font-size: 13px;
}

body.beta-active .beta-panel-inspect
  .inspect-container [ng-repeat="layer in results"] > div
  .inspect-list:not(:first-of-type) .inspect-title-section-title .pull-right {
  display: none;
}

body.beta-active .beta-panel-inspect .beta-inspect-body {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

body.beta-active .beta-panel-inspect .beta-inspect-header {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

body.beta-active .beta-panel-inspect .inspect-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.beta-active .beta-panel-inspect .beta-inspect-location-pill {
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}

body.beta-active .beta-panel-inspect .inspect-card {
  overflow: hidden;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body.beta-active .beta-panel-inspect .inspect-body-section {
  overflow: hidden;
  word-wrap: break-word;
}

body.beta-active .beta-panel-inspect .inspect-body-row {
  overflow: hidden;
  word-wrap: break-word;
  flex-wrap: wrap;
}

body.beta-active .beta-panel-inspect .inspect-body-row-title {
  word-wrap: break-word;
  overflow-wrap: break-word;
  min-width: 0;
}

body.beta-active .beta-panel-inspect .inspect-body-row-value,
body.beta-active .beta-panel-inspect .inspect-body-row-label {
  word-wrap: break-word;
  overflow-wrap: break-word;
  min-width: 0;
  word-break: break-word;
}

body.beta-active .beta-panel-inspect .inspect-title-section-title {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  line-height: 1.3;
}

body.beta-active .beta-panel-inspect .inspect-container h3 {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  height: auto;
  min-height: 46px;
  padding-top: 12px;
  padding-bottom: 12px;
}

body.beta-active.light-mode .inspect-card {
  overflow: hidden;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body.beta-active.light-mode .inspect-body-row {
  overflow: hidden;
  word-wrap: break-word;
  flex-wrap: wrap;
}

body.beta-active.light-mode .inspect-body-row-title,
body.beta-active.light-mode .inspect-body-row-value {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}

/* SkyGuard Notification Locations & Locations */
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--skyguard {
  padding-top: 12px;
  padding-bottom: 12px;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--skyguard .inspect-body-row {
  padding: 2px 0;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--skyguard .inspect-body-row-title {
  flex-basis: 40%;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--skyguard
  .inspect-body-row-value,
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--skyguard
  .inspect-body-row-label {
  font-weight: 700;
}

/* Impact Indicator */
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--impact-indicator {
  padding-top: 10px;
  padding-bottom: 10px;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--impact-indicator .inspect-body-row {
  padding: 2px 0;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--impact-indicator
  .inspect-body-row-title {
  color: #9CA3AF;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--impact-indicator
  .inspect-body-row-value,
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--impact-indicator
  .inspect-body-row-label {
  font-weight: 700;
}

/* Impact Indicator – ajustar iconos y alineación */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row {
  display: flex;
  align-items: center;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row-icon {
  width: 10px;
  height: 10px;
  margin-right: 6px;
  flex-shrink: 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row-icon img {
  width: 100%;
  height: 100%;
  border-radius: 999px;
  display: block;
}

/* Impact Indicator*/

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row {
  display: flex;
  align-items: center;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row-icon {
  width: 10px;
  height: 10px;
  margin-right: 1px !important;
  flex-shrink: 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row-icon img {
  width: 100%;
  height: 100%;
  border-radius: 999px;
  display: block;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator .inspect-body-row-title {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Storm Paths */
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--storm-paths {
  padding-top: 12px;
  padding-bottom: 12px;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--storm-paths
  .inspect-body-section + .inspect-body-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(15,23,42,0.7);
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--storm-paths
  .inspect-body-row-title {
  color: #E5E7EB;
}
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--storm-paths
  .inspect-body-row-value,
body.beta-active .beta-panel-inspect .inspect-card.inspect-card--storm-paths
  .inspect-body-row-label {
  font-weight: 700;
}

/* ---------------- Tropical Impact Forecast(s) ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--tropical-impact {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--tropical-impact .inspect-body-row {
  align-items: flex-start;
  padding: 3px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--tropical-impact .inspect-body-row-title {
  flex-basis: 32%;
  max-width: 32%;
  padding-right: 12px;

  font-family: "Solis", sans-serif;
  font-weight: 600;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--tropical-impact .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--tropical-impact .inspect-body-row-label {
  flex-basis: 68%;
  max-width: 68%;

  font-family: "Solis", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  text-align: left;
  color: #F9FAFB;
}

/* ---------------- National Hurricane Center Forecast ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--nhc-forecast {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--nhc-forecast .inspect-body-row {
  padding: 3px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--nhc-forecast .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--nhc-forecast .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--nhc-forecast .inspect-body-row-label {
  font-weight: 700;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--nhc-forecast .inspect-body-section + .inspect-body-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(15,23,42,0.7);
}

/* ---------------- Joint Typhoon Warning Center Forecast ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--jtwc-forecast {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--jtwc-forecast .inspect-body-row {
  padding: 3px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--jtwc-forecast .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--jtwc-forecast .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--jtwc-forecast .inspect-body-row-label {
  font-weight: 700;
}

/* ---------------- Earthquakes ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--earthquakes {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--earthquakes .inspect-body-section + .inspect-body-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(15,23,42,0.7);
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--earthquakes .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--earthquakes .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--earthquakes .inspect-body-row-label {
  font-weight: 700;
}

/* ---------------- Hail / Rainfall / Past Precipitation ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--hail-estimates,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--rainfall-estimates,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--past-precip {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--hail-estimates .inspect-body-row,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--rainfall-estimates .inspect-body-row,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--past-precip .inspect-body-row {
  padding: 3px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--hail-estimates .inspect-body-row-title,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--rainfall-estimates .inspect-body-row-title,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--past-precip .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--hail-estimates .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--hail-estimates .inspect-body-row-label,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--rainfall-estimates .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--rainfall-estimates .inspect-body-row-label,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--past-precip .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--past-precip .inspect-body-row-label {
  font-weight: 700;
}

/* ---------------- Wildfire Incidents / Wildfire Burn Areas ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-incidents,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-burn-areas {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-incidents .inspect-body-row,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-burn-areas .inspect-body-row {
  padding: 3px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-incidents .inspect-body-row-title,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-burn-areas .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-incidents .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-incidents .inspect-body-row-label,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-burn-areas .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-burn-areas .inspect-body-row-label {
  font-weight: 700;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-incidents .inspect-body-section + .inspect-body-section,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--wildfire-burn-areas .inspect-body-section + .inspect-body-section {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(15,23,42,0.7);
}

/* ---------------- Storm Reports ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row {
  padding: 6px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.7);
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row:last-child {
  border-bottom: none;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row-title {
  font-weight: 700;
  color: #F9FAFB;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row-label {
  font-size: 11px;
  line-height: 16px;
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row-value {
  text-align: left;
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  color: #E5E7EB;
}


body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row {
  display: flex;
  align-items: flex-start;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row-icon {
  width: 18px;
  height: 18px;
  margin-left: 8px;
  flex-shrink: 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--storm-reports .inspect-body-row-icon img {
  width: 100%;
  height: 100%;
  border-radius: 999px;
  display: block;
}


/* ---------------- Air Quality Index (PM2.5) ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--air-quality {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--air-quality .inspect-body-row {
  padding: 4px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--air-quality .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--air-quality .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--air-quality .inspect-body-row-label {
  font-weight: 700;
}

/* ---------------- Client Observations ---------------- */

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--client-observations {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--client-observations .inspect-body-row {
  padding: 3px 0;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--client-observations .inspect-body-row-title {
  color: #9CA3AF;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--client-observations .inspect-body-row-value,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--client-observations .inspect-body-row-label {
  font-weight: 700;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator a {
  display: inline-block;
  margin-top: 4px;
  padding: 4px 0 0;

  font-family: "Solis", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  color: white;
  text-decoration: none;
  cursor: pointer;
}

body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator a:hover,
body.beta-active .beta-panel-inspect
  .inspect-card.inspect-card--impact-indicator a:focus {
  text-decoration: underline;
  outline: none;
}

/* ====== "Show more / Show less" ====== */

body.beta-active .beta-panel-inspect .inspect-card .clearfix {
  text-align: center;
  padding-top: 6px;
}

body.beta-active .beta-panel-inspect .inspect-button {
  background: none;
  border: none;
  font-family: "Solis", sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: #E5E7EB;
  padding: 4px 0 6px;
  cursor: pointer;
}

body.beta-active .beta-panel-inspect .inspect-expand-button::after {
  content: " \25BE";
  font-size: 10px;
}

body.beta-active .beta-panel-inspect .inspect-collapse-button::after {
  content: " \25B4";
  font-size: 10px;
}

body.beta-active .beta-panel-inspect .inspect-button:hover,
body.beta-active .beta-panel-inspect .inspect-button:focus {
  color: #FFFFFF;
  text-decoration: underline;
  outline: none;
}
.beta-inspect-container {
  padding: 0;
}

.beta-inspect-layer {
  margin-bottom: 16px;
}

.beta-inspect-layer:last-child {
  margin-bottom: 0;
}

.beta-inspect-layer-title {
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0 8px 0;
  padding: 0;
}

.beta-inspect-list {
  margin-bottom: 12px;
}

.beta-inspect-list:last-child {
  margin-bottom: 0;
}

.beta-inspect-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: box-shadow 0.2s ease;
}

.beta-inspect-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.beta-inspect-card.beta-inspect-severity-critical {
  background: rgba(169, 15, 107, 0.12);
  border-color: rgba(169, 15, 107, 0.2);
}

.beta-inspect-card.beta-inspect-severity-severe {
  background: rgba(206, 18, 21, 0.12);
  border-color: rgba(206, 18, 21, 0.2);
}

.beta-inspect-card.beta-inspect-severity-moderate {
  background: rgba(245, 212, 0, 0.12);
  border-color: rgba(245, 212, 0, 0.2);
}

.beta-inspect-card.beta-inspect-severity-low {
  background: rgba(0, 122, 163, 0.12);
  border-color: rgba(0, 122, 163, 0.2);
}

.beta-inspect-card-header {
  display: flex;
  position: relative;
  padding: 12px 14px 10px;
}

.beta-inspect-card-severity-bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #007AA3;
  border-radius: 8px 0 0 0;
}

.beta-inspect-severity-critical .beta-inspect-card-severity-bar {
  background: #A90F6B;
}

.beta-inspect-severity-severe .beta-inspect-card-severity-bar {
  background: #CE1215;
}

.beta-inspect-severity-moderate .beta-inspect-card-severity-bar {
  background: #F5D400;
}

.beta-inspect-severity-low .beta-inspect-card-severity-bar {
  background: #007AA3;
}

.beta-inspect-card-header-content {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.beta-inspect-card-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.beta-inspect-card-title {
  flex: 1;
  margin: 0;
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.beta-inspect-card-link {
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  transition: color 0.2s ease;
}

.beta-inspect-card-link:hover {
  color: #ffffff;
  text-decoration: none;
}

.beta-inspect-card-summary {
  padding: 0 14px 12px;
}

.beta-inspect-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.beta-inspect-row:last-child {
  border-bottom: none;
}

.beta-inspect-row-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.beta-inspect-row-icon img {
  width: 100%;
  height: 100%;
}

.beta-inspect-row-title {
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
}

.beta-inspect-row-label {
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  flex-shrink: 0;
}

.beta-inspect-row-value {
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  text-align: right;
  flex: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.beta-inspect-progress-section {
  padding: 12px 14px;
  background: rgba(0, 0, 0, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.beta-inspect-times-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.beta-inspect-time-block {
  flex-shrink: 0;
  text-align: center;
  min-width: 70px;
}

.beta-inspect-time-block.end {
  text-align: right;
}

.beta-inspect-time-block.start {
  text-align: left;
}

.beta-inspect-time-label {
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 2px;
}

.beta-inspect-time-value {
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}

.beta-inspect-progress-container {
  flex: 1;
  height: 16px;
  position: relative;
  min-width: 60px;
}

.beta-inspect-card-body {
  padding: 0 14px 14px;
}

.beta-inspect-version-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  background: rgba(0, 122, 163, 0.15);
  color: #007AA3;
}

.beta-inspect-version-pill.severity-critical {
  background: rgba(169, 15, 107, 0.15);
  color: #A90F6B;
}

.beta-inspect-version-pill.severity-severe {
  background: rgba(206, 18, 21, 0.15);
  color: #CE1215;
}

.beta-inspect-version-pill.severity-moderate {
  background: rgba(245, 212, 0, 0.2);
  color: #B8A000;
}

.beta-inspect-version-pill.severity-low {
  background: rgba(0, 122, 163, 0.15);
  color: #007AA3;
}

.beta-inspect-issued-time {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.beta-inspect-times-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.beta-inspect-time-block {
  display: flex;
  flex-direction: column;
  min-width: 80px;
}

.beta-inspect-time-block.end {
  text-align: right;
}

.beta-inspect-time-label {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.beta-inspect-time-value {
  font-size: 12px;
  color: #FFFFFF;
  font-weight: 500;
}

.beta-inspect-more-details {
  margin-top: 8px;
}

.beta-inspect-details-btn {
  display: inline-block;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}

.beta-inspect-details-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  text-decoration: none;
}

body.beta-active.light-mode .beta-inspect-version-pill {
  background: rgba(0, 122, 163, 0.1);
  color: #007AA3;
}

body.beta-active.light-mode .beta-inspect-version-pill.severity-critical {
  background: rgba(169, 15, 107, 0.1);
  color: #A90F6B;
}

body.beta-active.light-mode .beta-inspect-version-pill.severity-severe {
  background: rgba(206, 18, 21, 0.1);
  color: #CE1215;
}

body.beta-active.light-mode .beta-inspect-version-pill.severity-moderate {
  background: rgba(180, 160, 0, 0.15);
  color: #8B7500;
}

body.beta-active.light-mode .beta-inspect-issued-time {
  color: rgba(0, 0, 0, 0.5);
}

body.beta-active.light-mode .beta-inspect-time-label {
  color: rgba(0, 0, 0, 0.5);
}

body.beta-active.light-mode .beta-inspect-time-value {
  color: #111827;
}

body.beta-active.light-mode .beta-inspect-details-btn {
  background: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.15);
  color: #111827;
}

body.beta-active.light-mode .beta-inspect-details-btn:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #111827;
}

.beta-inspect-card-details {
  overflow: hidden;
  transition: max-height 0.35s ease-out, opacity 0.25s ease-out;
  max-height: 0;
  opacity: 0;
}

.beta-inspect-card-details.expanded {
  max-height: 1000px;
  opacity: 1;
  transition: max-height 0.4s ease-in, opacity 0.3s ease-in;
}

.beta-inspect-card-details.collapsed {
  max-height: 0;
  opacity: 0;
}

.beta-inspect-details-content {
  padding: 12px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.beta-inspect-discussion {
  padding: 0 14px 12px;
}

.beta-inspect-discussion-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 12px 0;
}

.beta-inspect-discussion-text {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  white-space: pre-wrap;
}

.beta-inspect-collapse-toggle {
  padding: 8px 14px 12px;
  text-align: center;
}

.beta-inspect-toggle-btn {
  background: transparent;
  border: none;
  color: #60A5FA;
  font-family: 'Solis', 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 4px;
  transition: background 0.2s ease, color 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.beta-inspect-toggle-btn:hover {
  background: rgba(96, 165, 250, 0.1);
  color: #93C5FD;
}

.beta-inspect-toggle-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3);
}

.beta-inspect-toggle-btn i {
  font-size: 10px;
  transition: transform 0.2s ease;
}


body.beta-active.light-mode .beta-inspect-layer-title {
  color: rgba(0, 0, 0, 0.5);
}

body.beta-active.light-mode .beta-inspect-card {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

body.beta-active.light-mode .beta-inspect-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

body.beta-active.light-mode .beta-inspect-card.beta-inspect-severity-critical {
  background: rgba(169, 15, 107, 0.06);
  border-color: rgba(169, 15, 107, 0.15);
}

body.beta-active.light-mode .beta-inspect-card.beta-inspect-severity-severe {
  background: rgba(206, 18, 21, 0.06);
  border-color: rgba(206, 18, 21, 0.15);
}

body.beta-active.light-mode .beta-inspect-card.beta-inspect-severity-moderate {
  background: rgba(245, 212, 0, 0.08);
  border-color: rgba(245, 212, 0, 0.2);
}

body.beta-active.light-mode .beta-inspect-card.beta-inspect-severity-low {
  background: rgba(0, 122, 163, 0.06);
  border-color: rgba(0, 122, 163, 0.15);
}

body.beta-active.light-mode .beta-inspect-card-title {
  color: #0F172A;
}

body.beta-active.light-mode .beta-inspect-card-link {
  color: rgba(0, 0, 0, 0.5);
}

body.beta-active.light-mode .beta-inspect-card-link:hover {
  color: #0F172A;
}

body.beta-active.light-mode .beta-inspect-row {
  border-bottom-color: rgba(0, 0, 0, 0.05);
}

body.beta-active.light-mode .beta-inspect-row-title {
  color: #0F172A;
}

body.beta-active.light-mode .beta-inspect-row-label {
  color: rgba(0, 0, 0, 0.6);
}

body.beta-active.light-mode .beta-inspect-row-value {
  color: #0F172A;
}

body.beta-active.light-mode .beta-inspect-severity-moderate .beta-inspect-card-title,
body.beta-active.light-mode .beta-inspect-severity-moderate .beta-inspect-row-title,
body.beta-active.light-mode .beta-inspect-severity-moderate .beta-inspect-row-value,
body.beta-active.light-mode .beta-inspect-severity-moderate .beta-inspect-time-value {
  color: #000000;
}

body.beta-active.light-mode .beta-inspect-progress-section {
  background: rgba(0, 0, 0, 0.03);
  border-top-color: rgba(0, 0, 0, 0.05);
}

body.beta-active.light-mode .beta-inspect-time-label {
  color: rgba(0, 0, 0, 0.5);
}

body.beta-active.light-mode .beta-inspect-time-value {
  color: #0F172A;
}

body.beta-active.light-mode .beta-inspect-details-content {
  border-top-color: rgba(0, 0, 0, 0.05);
}

body.beta-active.light-mode .beta-inspect-discussion-divider {
  background: rgba(0, 0, 0, 0.08);
}

body.beta-active.light-mode .beta-inspect-discussion-text {
  color: rgba(0, 0, 0, 0.75);
}

body.beta-active.light-mode .beta-inspect-toggle-btn {
  color: #2563EB;
}

body.beta-active.light-mode .beta-inspect-toggle-btn:hover {
  background: rgba(37, 99, 235, 0.08);
  color: #1D4ED8;
}

body.beta-active.light-mode .beta-inspect-toggle-btn:focus {
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

/* ===================== Current Conditions ===================== */
.beta-cc-module{
  border-radius: 8px;
  padding: 12px;
  margin: 10px 0 14px;
  background: rgba(255,255,255,0.06);
}

body.beta-active .beta-cc-module{
  background: rgba(255,255,255,0.06);
}

.beta-cc-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: 10px;
}

.beta-cc-title{
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .75;
}

.beta-cc-meta{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
}

.beta-cc-header-actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

.beta-cc-time{
  font-size: 11px;
  opacity: .8;
  white-space: nowrap;
}

.beta-cc-jump{
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.18);
  background: transparent;
  color: inherit;
  line-height: 1;
  cursor: pointer;
}

.beta-cc-state{
  font-size: 12px;
  padding: 10px 0;
  opacity: .85;
}

.beta-cc-primary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 10px 0 12px;
}

body.beta-active .beta-cc-primary{
  flex-wrap: wrap;
}

body.beta-active .beta-cc-primary-left{
  min-width: 0;
  flex: 1 1 auto;
}

body.beta-active .beta-cc-primary-right{
  flex: 0 1 auto;
  min-width: 120px;
}

.beta-cc-primary-left{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 160px;
}

.beta-cc-icon{
  width: 34px;
  height: 34px;
  display:block;
}

.beta-cc-temp{
  display:flex;
  align-items:flex-start;
  gap: 4px;
}

.beta-cc-temp-val{
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
}

body.beta-active .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val{
  font-size: 40px;
}

body.beta-active .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val{
  font-size: 34px;
}

body.beta-active .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val{
  font-size: 40px;
}

body.beta-active .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val{
  font-size: 34px;
}

.beta-cc-temp-unit{
  font-size: 14px;
  font-weight: 600;
  opacity: .85;
  margin-top: 6px;
}

.beta-cc-primary-right{
  display:flex;
  flex-direction:column;
  gap: 6px;
  text-align:right;
}

.beta-cc-kv .beta-cc-k{
  font-size: 11px;
  opacity: .75;
}

.beta-cc-kv .beta-cc-v{
  font-size: 12px;
  font-weight: 600;
}

.beta-cc-unit{
  margin-left: 2px;
  opacity: .85;
}

.beta-cc-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.beta-cc-card{
  border-radius: 8px;
  padding: 10px;
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.10);
  min-height: 60px;
}

.beta-cc-card-k{
  font-size: 11px;
  opacity: .75;
  margin-bottom: 6px;
}

.beta-cc-card-v{
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
}

.beta-cc-subval{
  font-size: 12px;
  font-weight: 600;
  opacity: .9;
  margin-left: 6px;
}

.beta-cc-module{
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 14px;
}

.beta-cc-header-storm{
  padding: 12px 14px 10px;
}

.beta-cc-header-storm-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.beta-cc-header-storm-title{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  opacity: .95;
}

.beta-cc-header-storm-actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

.beta-cc-header-storm-time{
  font-size: 12px;
  font-weight: 600;
  opacity: .85;
}

.beta-cc-header-storm-jump{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  text-decoration: none;
}

.beta-cc-header-storm-loc{
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  opacity: .9;
  display:flex;
  align-items:center;
  gap: 8px;
}

.beta-cc-content{
  padding: 12px 14px 14px;
}


body.beta-active.light-mode .beta-cc-module{
  background: #FFFFFF;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.06),
    0 0 0 1px rgba(0,0,0,0.08);
}

body.beta-active.light-mode .beta-cc-header-storm{
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

body.beta-active.light-mode .beta-cc-header-storm-title{
  color: #0F172A;
  opacity: 1;
}

body.beta-active.light-mode .beta-cc-header-storm-time{
  color: #111827;
  opacity: .85;
}

body.beta-active.light-mode .beta-cc-header-storm-loc{
  color: #111827;
  opacity: .9;
}

body.beta-active.light-mode .beta-cc-header-storm-jump{
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  color: #111827;
}
body.beta-active.light-mode .beta-cc-header-storm-jump:hover{
  background: #F3F4F6;
}

body.beta-active.light-mode .beta-cc-card{
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  box-shadow: 0 1px 1px rgba(0,0,0,0.04);
}

body.beta-active.light-mode .beta-cc-card-k{
  color: #6B7280;
  opacity: 1;
}

body.beta-active.light-mode .beta-cc-card-v{
  color: #111827;
}

body.beta-active.light-mode .beta-cc-kv .beta-cc-k{
  color: #6B7280;
  opacity: 1;
}

body.beta-active.light-mode .beta-cc-kv .beta-cc-v{
  color: #111827;
}

body.beta-active.light-mode .beta-cc-temp-val{
  color: #0F172A;
}

body.beta-active.light-mode .beta-cc-temp-unit{
  color: #334155;
  opacity: .9;
}

.beta-cc-module{
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 16px;
}

.beta-cc-header-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.beta-cc-header-time{
  font-size: 12px;
  font-weight: 600;
  opacity: .9;
}

.beta-cc-header-jump{
  color: #fff !important;
  opacity: .9;
}
.beta-cc-header-jump:hover{ opacity: 1; }

.beta-cc-header-subline{
  margin-top: 6px;
  font-size: 12px;
  opacity: .9;
  display:flex;
  align-items:center;
  gap: 6px;
}

.beta-cc-body{
  background: rgba(255,255,255,0.06);
  padding: 12px;
}

body.beta-active .beta-cc-module{
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin: 0 0 20px 0 !important;
}

body.beta-active:not(.light-mode) .beta-cc-header-storm-row{
  margin: 0 !important;
  padding: 0 16px !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  background: #FFFFFF1A !important;
  color: #F9FAFB !important;

  border-radius: 10px 10px 0 0 !important;
}

body.beta-active .beta-cc-header-storm-title{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 100% !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

body.beta-active .beta-cc-header-storm-time{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 100% !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}

body.beta-active:not(.light-mode) .beta-cc-header-storm-jump,
body.beta-active:not(.light-mode) .beta-cc-header-storm-jump i{
  color: #FFFFFF !important;
}

body.beta-active:not(.light-mode) .beta-cc-header-storm-jump{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 6px !important;
}

body.beta-active:not(.light-mode) .beta-cc-header-storm-loc{
  background: #FFFFFF0D !important;
  padding: 8px 16px 0 !important;
  margin: 0 !important;
  color: #F9FAFB !important;
}

body.beta-active:not(.light-mode) .beta-cc-content{
  background: #FFFFFF0D !important;
  padding: 10px 16px 14px !important;
  border-radius: 0 0 10px 10px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.4) !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header,
body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm{
  background: transparent !important;
  border-bottom: none !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row{
  background: rgba(0,0,0,0.06) !important;
  color: #111827 !important;
  border-radius: 10px 10px 0 0 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-jump,
body.beta-active.light-mode .beta-cc-header-storm-jump i{
  color: #111827 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-loc{
  background: #FFFFFF !important;
  padding: 8px 16px 0 !important;
  color: #111827 !important;
}

body.beta-active.light-mode .beta-cc-content{
  background: #FFFFFF !important;
  padding: 10px 16px 14px !important;
  border-radius: 0 0 10px 10px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08) !important;
}

body.beta-active:not(.light-mode) .beta-cc-header-storm-loc{
  background: transparent !important;
  padding: 10px 16px 0 !important;
  opacity: .9;
}

body.beta-active:not(.light-mode) .beta-cc-body{
  background: #FFFFFF0D !important;
  border-radius: 0 0 10px 10px !important;
  padding: 0 !important;
}

body.beta-active:not(.light-mode) .beta-cc-content{
  background: transparent !important;
  padding: 10px 16px 14px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.beta-active:not(.light-mode) .beta-cc-header-storm-row{
  border-radius: 10px 10px 0 0 !important;
}

body.beta-active:not(.light-mode) .beta-cc-module{
  border-radius: 10px !important;
  overflow: hidden !important;
}

body.beta-active:not(.light-mode) .beta-cc-module{
  border-radius: 10px !important;
  overflow: hidden !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm-row{
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  background: #FFFFFF1A !important;
  border-radius: 0 !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm-loc{
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 16px 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-body{
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: #FFFFFF0D !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-content{
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 16px 14px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm-jump,
body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm-jump i{
  color: #FFFFFF !important;
}

body.beta-active:not(.light-mode) .beta-cc-module{
  background: #FFFFFF0D !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 0 14px 0 !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm-row{
  background: #FFFFFF1A !important;
}

body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm-loc,
body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-content{
  background: transparent !important;
}
body.beta-active:not(.light-mode) .beta-cc-module .beta-cc-header-storm{
  background: transparent !important;
}

body.beta-active .beta-cc-temp-val{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 60px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
}

body.beta-active .beta-cc-deg{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 60px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
}

body.beta-active .beta-cc-temp{
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
}

body.beta-active .beta-cc-degcol{
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  margin-top: 6px;
}

body.beta-active .beta-cc-deg{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
}

body.beta-active .beta-cc-temp-unit-under{
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
  margin-top: 2px;
}

body.beta-active .beta-cc-feels-lines{
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

body.beta-active .beta-cc-feels-line{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
  white-space: nowrap;
}

body.beta-active .beta-cc-feels-k{
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  letter-spacing: 0px !important;
  text-align: right !important;
  opacity: 0.95;
}

body.beta-active .beta-cc-feels-v{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  letter-spacing: 0px !important;
  text-align: right !important;
}

body.beta-active .beta-cc-primary-right{
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
}

body.beta-active .beta-cc-feels-lines{
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  width: 100%;
}

body.beta-active .beta-cc-feels-line{
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 10px;
  width: 100%;
  white-space: nowrap;
  text-align: right;
}

body.beta-active .beta-cc-feels-k{
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  letter-spacing: 0px !important;
}

body.beta-active .beta-cc-feels-v,
body.beta-active .beta-cc-deg16{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  letter-spacing: 0px !important;
}

body.beta-active:not(.light-mode) .beta-cc-card{
  background: #FFFFFF05 !important;
}
body.beta-active.light-mode .beta-cc-card{
  background: rgba(0,0,0,0.03) !important;
}

body.beta-active .beta-cc-card{
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

body.beta-active .beta-cc-card-k{
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
}

body.beta-active .beta-cc-card-v{
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 30px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
}

body.beta-active .beta-cc-card-v .beta-cc-unit-small{
  font-family: "Solis", sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 100% !important;
  letter-spacing: 0 !important;
}

body.beta-active .beta-cc-subval{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

body.beta-active .beta-cc-unit-small{
  display: inline !important;
  white-space: nowrap !important;
}

body.beta-active .beta-cc-card-v.beta-cc-windline{
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

body.beta-active .beta-cc-card-v.beta-cc-windline .beta-cc-unit-small{
  display: inline !important;
  white-space: nowrap !important;
}
body.beta-active .beta-cc-card-v.beta-cc-windline .beta-cc-wind-spd{
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 100% !important;
}

body.beta-active .beta-cc-card-v.beta-cc-windline{
  display: flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

body.beta-active .beta-cc-unit-small{
  white-space: nowrap;
}

body.beta-active .beta-cc-card-v.beta-cc-one-line{
  display: flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
}

body.beta-active .beta-cc-deg30{
  font-size: 30px;
  font-weight: 700;
  line-height: 100%;
  position: relative;
  top: -2px;
}

/* ===================== HOURLY FORECAST (Beta) ===================== */
.beta-hf-module {
  margin: 10px 0 14px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
}
body.beta-active .beta-hf-module {
  background: rgba(0,0,0,0.2);
}

.beta-hf-header {
  padding: 10px 12px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.beta-hf-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.beta-hf-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  opacity: 0.9;
}
.beta-hf-actions { display: flex; align-items: center; gap: 8px; }
.beta-hf-jump { color: inherit; opacity: 0.85; }
.beta-hf-jump:hover { opacity: 1; }

.beta-hf-loc {
  margin-top: 6px;
  font-size: 12px;
  opacity: 0.9;
  display: flex;
  gap: 6px;
  align-items: center;
}

.beta-hf-state {
  padding: 10px 12px;
  font-size: 12px;
  opacity: 0.9;
}

.beta-hf-content { padding: 6px 0 0; }
.beta-hf-list { padding: 0 8px; }

.beta-hf-divider {
  padding: 8px 6px 6px;
  font-size: 11px;
  font-weight: 700;
  opacity: 0.75;
}

.beta-hf-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 6px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.beta-hf-row:first-child { border-top: none; }

.beta-hf-time {
  width: 52px;
  font-size: 11px;
  opacity: 0.85;
  flex: 0 0 auto;
}

.beta-hf-mid {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}

.beta-hf-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.beta-hf-temp { display: flex; align-items: baseline; gap: 2px; min-width: 54px; }
.beta-hf-temp-val { font-size: 16px; font-weight: 700; }
.beta-hf-temp-unit { font-size: 12px; opacity: 0.9; }

.beta-hf-realfeel {
  display: flex;
  gap: 6px;
  align-items: baseline;
  font-size: 11px;
  opacity: 0.9;
  white-space: nowrap;
}
.beta-hf-rf-k { opacity: 0.85; }

.beta-hf-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex: 0 0 auto;
  min-width: 52px;
  font-size: 11px;
  opacity: 0.9;
}
.beta-hf-precip { display: flex; gap: 4px; align-items: center; }
.beta-hf-liquid { opacity: 0.85; }

.beta-hf-toggle {
  width: 100%;
  border: none;
  background: transparent;
  color: inherit;
  padding: 10px 12px 12px;
  font-size: 12px;
  opacity: 0.9;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.beta-hf-toggle:hover { opacity: 1; }
body.beta-active .beta-hf-module .beta-hf-header-row {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.beta-active .beta-hf-module .beta-hf-header {
  width: 100%;
}

body.beta-active .beta-hf-module .beta-hf-header {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.beta-active .beta-hf-module .beta-hf-header-row {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #FFFFFF1A !important;
  padding: 8px 12px !important;
}

body.beta-active .beta-hf-module {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.beta-active .beta-hf-module .beta-hf-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.beta-active .beta-hf-module .beta-hf-header-row {
  margin-top: 0 !important;
}

body.beta-active .beta-hf-module .beta-hf-header-row {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  min-height: 46px;
}

body.beta-active .beta-hf-module .beta-hf-row {
  background: #FFFFFF0D;
  margin-bottom: 2px;
}

body.beta-active .beta-hf-module .beta-hf-content,
body.beta-active .beta-hf-module .beta-hf-list {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.beta-active .beta-hf-module .beta-hf-row {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  padding-left: 12px;
  padding-right: 12px;
}

body.beta-active .beta-hf-module .beta-hf-divider {
  font-family: 'Solis', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 11px;
  line-height: 100%;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #FFFFFF;
  padding: 8px 12px;
}

body.beta-active .beta-hf-module .beta-hf-time {
  font-family: 'Solis', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.5px;
  text-align: center;
  text-transform: uppercase;

  color: #FFFFFF;
}

body.beta-active .beta-hf-module .beta-hf-temp-val {
  font-family: 'Solis', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0px;

  color: #FFFFFF;
}

body.beta-active .beta-hf-module .beta-hf-temp-unit {
  display: none;
}

body.beta-active .beta-hf-module .beta-hf-temp-val::after {
  content: "°";
}

body.beta-active .beta-hf-module .beta-hf-rf-k {
  font-family: 'Solis', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0px;

  color: #FFFFFF;
}

body.beta-active .beta-hf-module .beta-hf-precip span {
  font-family: 'Solis', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0px;
  text-align: right;

  color: #FFFFFF;
}
body.beta-active .beta-hf-module .beta-hf-toggle {
  background: #FFFFFF0D;
}

body.beta-active .beta-hf-module .beta-hf-toggle span {
  font-family: 'Solis', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0px;

  color: #FFFFFF;
}

.beta-df-module {
  margin: 10px 0 14px;
  border-radius: 10px;
  overflow: visible;
  background: rgba(255,255,255,0.06);
}

body.beta-active .beta-df-module {
  background: rgba(0,0,0,0.2);
  overflow: visible;
}

.beta-df-header {
  padding: 0;
}

.beta-df-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,0.1);
  padding: 12px;
  border-radius: 10px 10px 0 0;
}

.beta-df-title {
  font-family: 'Solis', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #FFFFFF;
}

.beta-df-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.beta-df-jump {
  color: #FFFFFF;
  opacity: 0.85;
  font-size: 14px;
}

.beta-df-jump:hover {
  opacity: 1;
}

.beta-df-state {
  padding: 12px;
  font-size: 13px;
  color: #FFFFFF;
}

.beta-df-content {
  padding: 0;
}

.beta-df-body {
  padding: 0;
}

.beta-df-location {
  padding: 10px 16px 14px;
  font-family: 'Solis', sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255,255,255,0.85);
  display: flex;
  align-items: center;
  gap: 8px;
}

.beta-df-location::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14' fill='%236366f1'%3E%3Cpath d='M5 0C2.24 0 0 2.24 0 5c0 3.75 5 9 5 9s5-5.25 5-9c0-2.76-2.24-5-5-5zm0 7.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.beta-df-loading,
.beta-df-error {
  padding: 16px 14px;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  text-align: center;
}

.beta-df-error {
  color: rgba(255,100,100,0.85);
}

.beta-df-list {
  padding: 0 12px;
}

.beta-df-day-title {
  font-family: 'Solis', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 12px;
}

.beta-df-day {
  padding: 14px 16px;
}

.beta-df-day-alt {
  background: rgba(255,255,255,0.06);
}

.beta-df-entry {
  margin-bottom: 8px;
}

.beta-df-entry:last-child {
  margin-bottom: 0;
}

.beta-df-entry-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.beta-df-label {
  font-family: 'Solis', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.5);
  min-width: 32px;
}

.beta-df-temp {
  font-family: 'Solis', sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1;
}

.beta-df-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  margin-left: 4px;
}

.beta-df-phrase {
  font-family: 'Solis', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
  line-height: 1.45;
  padding-left: 0;
  margin-bottom: 14px;
  padding-left: 0;
}

.beta-df-night-phrase {
  margin-bottom: 0;
}

.beta-df-toggle {
  padding: 0;
  background: transparent;
}

.beta-df-toggle button {
  width: 100%;
  border: none;
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.7);
  padding: 12px 16px;
  font-family: 'Solis', sans-serif;
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 0 0 10px 10px;
  margin-top: 0;
}

.beta-df-toggle button:hover {
  background: rgba(255,255,255,0.1);
}

.beta-df-toggle button i {
  font-size: 12px;
}

body.beta-active .beta-df-module .beta-df-header-row {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #FFFFFF1A !important;
  padding: 12px !important;
}

body.beta-active.light-mode .beta-df-module {
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(0,0,0,0.08);
}

body.beta-active.light-mode .beta-df-header-row {
  background: rgba(0,0,0,0.06) !important;
}

body.beta-active.light-mode .beta-df-title {
  color: #111827;
}

body.beta-active.light-mode .beta-df-jump {
  color: #111827;
}

body.beta-active.light-mode .beta-df-state {
  color: #111827;
}

body.beta-active.light-mode .beta-df-day-alt {
  background: rgba(0,0,0,0.03);
}

body.beta-active.light-mode .beta-df-label {
  color: rgba(17,24,39,0.5);
}

body.beta-active.light-mode .beta-df-location {
  color: rgba(17,24,39,0.7);
}

body.beta-active.light-mode .beta-df-day-title {
  color: rgba(17,24,39,0.6);
}

body.beta-active.light-mode .beta-df-label {
  color: rgba(17,24,39,0.65);
}

body.beta-active.light-mode .beta-df-temp {
  color: #111827;
}

body.beta-active.light-mode .beta-df-deg {
  color: #111827;
}

body.beta-active.light-mode .beta-df-phrase {
  color: rgba(17,24,39,0.85);
}

body.beta-active.light-mode .beta-df-temp-value,
body.beta-active.light-mode .beta-df-temp-unit {
  color: #111827;
}

body.beta-active.light-mode .beta-df-loading {
  color: rgba(17,24,39,0.65);
}

body.beta-active.light-mode .beta-df-error {
  color: rgba(200,50,50,0.85);
}

body.beta-active.light-mode .beta-df-toggle button {
  background: rgba(0,0,0,0.04);
  color: rgba(17,24,39,0.7);
}

body.beta-active.light-mode .beta-df-toggle button:hover {
  background: rgba(0,0,0,0.08);
}

body.beta-active.light-mode .beta-df-icon-fallback {
  background: rgba(0,0,0,0.1);
}

/* =========================================================
   BETA EXPERIENCE — SEARCH (LIGHT MODE FIX)
   Ensures text + icons are visible in light-mode Search panel
   ========================================================= */

body.beta-active.light-mode .beta-panel-search {
  background: transparent;
}

body.beta-active.light-mode .beta-search-section-label {
  color: #111827 !important;
  opacity: 0.85;
}

body.beta-active.light-mode .beta-search-input-wrapper {
  background: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.beta-active.light-mode .beta-search-input {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-search-input::placeholder {
  color: rgba(17, 24, 39, 0.55) !important;
}

/* Iconos / acciones */
body.beta-active.light-mode .beta-search-icon {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-search-icon svg {
  fill: none !important;
}

body.beta-active.light-mode .beta-search-icon svg path {
  stroke: #111827 !important;
  fill: none !important;
}

body.beta-active.light-mode .beta-search-clear {
  color: #111827 !important;
  opacity: 0.7;
}

body.beta-active.light-mode .beta-search-results-list {
  background: transparent !important;
}

body.beta-active.light-mode .beta-search-result-item {
  background: rgba(255, 255, 255, 0.55) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

body.beta-active.light-mode .beta-search-result-item:hover {
  background: rgba(255, 255, 255, 0.85) !important;
}

body.beta-active.light-mode .beta-search-result-name {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-search-result-address {
  color: rgba(17, 24, 39, 0.7) !important;
}

body.beta-active.light-mode .beta-search-no-results {
  color: rgba(17, 24, 39, 0.75) !important;
}

/* Use current location button - light mode */
body.beta-active.light-mode .beta-use-current-location {
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #111827 !important;
}

body.beta-active.light-mode .beta-use-current-location:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}

body.beta-active.light-mode .beta-use-current-location svg,
body.beta-active.light-mode .beta-use-current-location svg path {
  fill: #111827 !important;
  color: #111827 !important;
}

/* Section labels - light mode */
body.beta-active.light-mode .beta-search-section-label {
  color: #374151 !important;
}

/* Favorites list - light mode */
body.beta-active.light-mode .beta-favorites-list {
  background: transparent !important;
}

body.beta-active.light-mode .beta-favorite-item {
  background: rgba(0, 0, 0, 0.02) !important;
  border-left: 3px solid rgba(0, 0, 0, 0.08) !important;
}

body.beta-active.light-mode .beta-favorite-item:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}

body.beta-active.light-mode .beta-favorite-item.selected {
  border-left-color: #2563EB !important;
  background: rgba(37, 99, 235, 0.08) !important;
}

body.beta-active.light-mode .beta-favorite-name {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-favorite-address {
  color: #6B7280 !important;
}

body.beta-active.light-mode .beta-favorite-weather {
  color: #374151 !important;
}

body.beta-active.light-mode .beta-temperature {
  color: #111827 !important;
}

/* Search panel header - light mode */
body.beta-active.light-mode .beta-panel-search .beta-panel-header h3,
body.beta-active.light-mode .beta-panel-search h3 {
  color: #111827 !important;
}

/* =========================================================
   BETA (LIGHT MODE) — INSPECT / DAILY FORECASTS TEXT FIX
   Fixes white text coming from dark-mode selectors like:
   body.beta-active .beta-panel-inspect .inspect-title-section-title { color: #F9FAFB; }
   ========================================================= */

body.beta-active.light-mode .beta-panel-inspect {
  color: #111827; /* base readable text */
}

body.beta-active.light-mode .beta-panel-inspect .inspect-title-section-title {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-panel-inspect .inspect-title-section-subtitle,
body.beta-active.light-mode .beta-panel-inspect .inspect-title-section-meta {
  color: rgba(17, 24, 39, 0.72) !important;
}

body.beta-active.light-mode .beta-panel-inspect .inspect-card,
body.beta-active.light-mode .beta-panel-inspect .inspect-card .inspect-body-section {
  color: #111827;
}

body.beta-active.light-mode .beta-panel-inspect .inspect-card :is(h1,h2,h3,h4,h5,h6,p,span,div,small,strong,em) {
  color: inherit !important;
}

body.beta-active.light-mode .beta-panel-inspect .inspect-card {
  background: rgba(255, 255, 255, 0.65) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* =========================================================
   BETA (LIGHT MODE) — DAILY FORECASTS / INSPECT h3 HEADER FIX
   Overrides dark header styles:
   body.beta-active .beta-panel-inspect .inspect-container h3 { color:#F9FAFB; background:#FFFFFF1A; }
   ========================================================= */

body.beta-active.light-mode .beta-panel-inspect .inspect-container h3 {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #111827 !important;
}

body.beta-active.light-mode .beta-panel-inspect .inspect-container [ng-repeat="layer in results"] > div > h3 {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #111827 !important;
}

/* =========================================================
   BETA (LIGHT MODE) — HOURLY FORECAST ROW BACKGROUND FIX
   Overrides dark background: #FFFFFF0D
   ========================================================= */

body.beta-active.light-mode .beta-hf-module .beta-hf-row {
  background: #FFFFFF !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-row:hover {
  background: rgba(0, 0, 0, 0.03) !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

body.beta-active.light-mode .beta-hf-module .beta-hf-row:last-child {
  border-bottom: none;
}


/* =========================================================
   BETA (LIGHT MODE) — HOURLY FORECAST TEXT COLOR FIX
   Ensures labels/text are visible on white rows
   ========================================================= */

body.beta-active.light-mode .beta-hf-module .beta-hf-row {
  color: #111827;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-row
:is(span, div, p, small, strong, em) {
  color: inherit !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-time {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-temp {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-realfeel,
body.beta-active.light-mode .beta-hf-module .beta-hf-realfeel-value {
  color: rgba(17, 24, 39, 0.75) !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-precip,
body.beta-active.light-mode .beta-hf-module .beta-hf-precip-value {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-row svg {
  fill: currentColor;
}

/* =========================================================
   BETA (LIGHT MODE) — CURRENT CONDITIONS HEADER MATCH HOURLY HEADER
   Makes CC header bar look like the Hourly Forecast header.
   ========================================================= */

body.beta-active.light-mode .beta-cc-header-storm-row {
  background: rgba(0, 0, 0, 0.12) !important;  /* más fuerte que 0.06 */
  color: #111827 !important;

  padding: 12px 16px !important;
  border-radius: 10px 10px 0 0 !important;

  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 100% !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.beta-active.light-mode .beta-cc-header-storm-row * {
  color: inherit !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row .beta-cc-open,
body.beta-active.light-mode .beta-cc-header-storm-row .beta-cc-open svg {
  color: #111827 !important;
  fill: #111827 !important;
  stroke: #111827 !important;
}

/* =========================================================
   BETA (LIGHT MODE) — CURRENT CONDITIONS HEADER FULL WIDTH
   ========================================================= */

body.beta-active.light-mode .beta-cc-header-storm-row {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
}

body.beta-active.light-mode .beta-cc-header,
body.beta-active.light-mode .beta-cc-module,
body.beta-active.light-mode .beta-cc-card {
  width: 100% !important;
  box-sizing: border-box !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row > * {
  flex: 0 0 auto;
}

body.beta-active.light-mode .beta-cc-header-storm-row .beta-cc-header-left,
body.beta-active.light-mode .beta-cc-header-storm-row .beta-cc-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.beta-active.light-mode .beta-cc-header-storm-row .beta-cc-header-right {
  margin-left: auto;
}

/* =========================================================
   BETA (LIGHT MODE) — CURRENT CONDITIONS HEADER FULL-BLEED
   Makes the CC header bar span the full card width like Hourly.
   Assumes parent padding is 24px (same as .beta-panel-body).
   ========================================================= */

body.beta-active.light-mode .beta-cc-header-storm {
  margin-left: -24px !important;
  margin-right: -24px !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row {
  width: 100% !important;
  box-sizing: border-box !important;

  background: rgba(0, 0, 0, 0.12) !important;
  color: #111827 !important;

  padding: 12px 24px !important;

  border-radius: 10px 10px 0 0 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-lock {
  margin-left: -24px !important;
  margin-right: -24px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row * {
  color: inherit !important;
}

/* =========================================================
   BETA (LIGHT MODE) — CURRENT CONDITIONS HEADER: NO TOP GAP + ROUNDED CORNERS
   ========================================================= */

body.beta-active.light-mode .beta-cc-header-storm {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.beta-active.light-mode .beta-cc-module {
  padding-top: 0 !important;
}

body.beta-active.light-mode .beta-cc-header-storm {
  border-radius: 10px 10px 0 0 !important;
  overflow: hidden !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row {
  border-radius: 10px 10px 0 0 !important;
}

/* =========================================================
   BETA (LIGHT MODE) — FORCE ROUNDED TOP CORNERS (CURRENT CONDITIONS)
   ========================================================= */

body.beta-active.light-mode .beta-cc-header-storm {
  border-radius: 10px 10px 0 0 !important;
  overflow: hidden !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row {
  border-radius: 10px 10px 0 0 !important;
}

body.beta-active.light-mode .beta-cc-module {
  border-radius: 10px !important;
  overflow: hidden !important;
}

body.beta-active .beta-loc-pin{
  margin-right: 6px;
  opacity: 0.9;
}
body.beta-active.light-mode .beta-loc-pin{ color:#111827; }
body.beta-active:not(.light-mode) .beta-loc-pin{ color:#F9FAFB; }

/* =========================================================
   BETA (LIGHT MODE) — INSPECT HEADER: location title + pin + header background
   ========================================================= */

body.beta-active.light-mode .beta-panel-inspect .beta-panel-header.beta-inspect-header,
body.beta-active.light-mode .beta-panel-inspect .beta-panel-header {
  background: rgba(0, 0, 0, 0.06) !important;
  border-radius: 10px 10px 0 0 !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-header {
  padding: 0 8px 8px !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-pill {
  background: transparent !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-text {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-icon {
  border-color: #111827 !important;
  opacity: 0.9;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close {
  color: #111827 !important;
}
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close svg,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close path {
  fill: #111827 !important;
  stroke: #111827 !important;
}

/* =========================================================
   BETA (LIGHT MODE) — INSPECT LOCATION PILL (match dark sizing)
   ========================================================= */

body.beta-active.light-mode .beta-panel-inspect .beta-panel-header.beta-inspect-header,
body.beta-active.light-mode .beta-panel-inspect .beta-panel-header {
  padding: 8px !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-pill {
  background: rgba(0, 0, 0, 0.06) !important;
  border-radius: 10px !important;

  padding: 10px 12px !important;
  min-height: 40px !important;

  display: flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-main {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-text {
  color: #111827 !important;
  line-height: 18px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-location-icon {
  border-color: #111827 !important;
  opacity: 0.9;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.75) !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 6px !important;
  box-sizing: border-box;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close svg,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close path {
  fill: #111827 !important;
  stroke: #111827 !important;
}

/* =========================================================
   Beta Inspect - Consistent Header Shading (Dark/Light)
   Reference: DAILY FORECAST (inspect-container > h3)
   ========================================================= */

body.beta-active .beta-panel-inspect .inspect-container h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;

  min-height: 46px;
  padding: 12px 16px;
  margin: 0;

  border-radius: 10px 10px 0 0;

  font-family: "Solis", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0.5px;
  text-transform: uppercase;

  background: rgba(255, 255, 255, 0.10);
  color: #F9FAFB;
}

body.beta-active.light-mode .beta-panel-inspect .inspect-container h3 {
  background: rgba(0, 0, 0, 0.06);
  color: #111827;
}

body.beta-active .beta-cc-header-storm-row,
body.beta-active .beta-hf-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;

  min-height: 46px;
  padding: 12px 16px;

  border-radius: 10px 10px 0 0;

  font-family: "Solis", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0.5px;
  text-transform: uppercase;

  background: rgba(255, 255, 255, 0.10);
  color: #F9FAFB;
}

body.beta-active.light-mode .beta-cc-header-storm-row,
body.beta-active.light-mode .beta-hf-header-row {
  background: rgba(0, 0, 0, 0.06);
  color: #111827;
}

body.beta-active .beta-cc-header-storm-title,
body.beta-active .beta-hf-title {
  color: inherit;
}

body.beta-active .beta-cc-header-storm-jump i,
body.beta-active .beta-hf-jump i {
  color: inherit;
  opacity: 0.9;
}

body.beta-active .beta-cc-header-storm-jump:hover i,
body.beta-active .beta-hf-jump:hover i {
  opacity: 1;
}

body.beta-active .beta-cc-header-storm,
body.beta-active .beta-hf-header {
  margin: 0;
  padding: 0;
}

body.beta-active .beta-cc-module,
body.beta-active .beta-hf-module {
  border-radius: 10px;
  overflow: hidden;
}

/* =========================================================
   Beta Light Mode: Match DAILY FORECAST header + Show More
   ========================================================= */

body.beta-active.light-mode .beta-panel-inspect .inspect-container h3.beta-inspect-layer-title,
body.beta-active.light-mode .beta-panel-inspect .inspect-container h3 {
  
  background: #E9EDF2 !important;
  color: #111827 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-row,
body.beta-active.light-mode .beta-hf-header-row {
  background: #E9EDF2 !important;
  color: #111827 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-title,
body.beta-active.light-mode .beta-hf-title,
body.beta-active.light-mode .beta-cc-header-storm-time {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-jump i,
body.beta-active.light-mode .beta-hf-jump i {
  color: #111827 !important;
  opacity: 0.9;
}

body.beta-active.light-mode .beta-hf-toggle {
  background: #E9EDF2 !important;
  color: #111827 !important;
  border-top: 1px solid rgba(17, 24, 39, 0.10) !important;
}

body.beta-active.light-mode .beta-hf-toggle i {
  color: #111827 !important;
}

/* =========================================================
   Beta – Match DAILY FORECAST "Show more" button
   ========================================================= */

body.beta-active .beta-panel-inspect .inspect-container .inspect-button,
body.beta-active .beta-panel-inspect .inspect-container .inspect-expand-button,
body.beta-active .beta-panel-inspect .inspect-container .inspect-collapse-button {
  font-family: "Solis", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0px;

  height: 40px;
  padding: 10px 16px;

  border-radius: 10px;
  background: #FFFFFF0D;
  color: #111827;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  border: none;
}

body.beta-active .beta-hf-toggle {
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;

  height: 40px !important;
  padding: 10px 16px !important;

  border-radius: 10px !important;
  background: #FFFFFF0D !important;
  color: #111827 !important;

  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;

  border: none !important;
}

body.beta-active .beta-hf-toggle i {
  font-size: 16px;
  color: inherit;
  opacity: 0.9;
}

body.beta-active .beta-hf-toggle:hover {
  background: #FFFFFF14; 
}

/* =========================================================
   Beta – HOURLY FORECAST "Show more" match DAILY FORECAST
   (font + arrow color in light / dark)
   ========================================================= */

/* ---------- Base typography (same as Daily Forecast) ---------- */
body.beta-active .beta-hf-toggle {
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  border: none !important;
}

/* ---------- LIGHT MODE ---------- */
body.beta-active.light-mode .beta-hf-toggle {
  color: #111827 !important;
  background: #FFFFFF0D !important;
}

body.beta-active.light-mode .beta-hf-toggle i {
  color: #111827 !important;
  opacity: 1;
}

/* ---------- DARK MODE ---------- */
body.beta-active:not(.light-mode) .beta-hf-toggle {
  color: #FFFFFF !important;
  background: #FFFFFF0D !important;
}

body.beta-active:not(.light-mode) .beta-hf-toggle i {
  color: #FFFFFF !important;
  opacity: 1;
}

/* ---------- Hover (same feel as Daily Forecast) ---------- */
body.beta-active .beta-hf-toggle:hover {
  background: #FFFFFF14 !important;
}

/* =========================================================
   Beta – HOURLY FORECAST "Show more" EXACT match to DAILY
   ========================================================= */

/* -------- LIGHT MODE (match Daily Forecast button) -------- */
body.beta-active.light-mode .beta-hf-toggle {
  background: #FFFFFF !important;
  color: #111827 !important;
  border-radius: 10px;
}

body.beta-active.light-mode .beta-hf-toggle i {
  color: #111827 !important;
}

/* -------- DARK MODE (keep white on dark) -------- */
body.beta-active:not(.light-mode) .beta-hf-toggle {
  background: #FFFFFF0D !important;
  color: #FFFFFF !important;
}

body.beta-active:not(.light-mode) .beta-hf-toggle i {
  color: #FFFFFF !important;
}

/* -------- Typography (same as Daily Forecast) -------- */
body.beta-active .beta-hf-toggle {
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;

  height: 40px;
  padding: 10px 16px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  border: none !important;
}

body.beta-active.light-mode .beta-hf-toggle:hover {
  background: #F3F4F6 !important;
}

/* =========================================================
   FIX: Hourly Forecast "Show more" text color (Light mode)
   Override winning rule that forces white text
   ========================================================= */

body.beta-active.light-mode .beta-hf-module .beta-hf-toggle span {
  color: #111827 !important;
}

body.beta-active.light-mode .beta-hf-module .beta-hf-toggle i {
  color: #111827 !important; 
}

body.beta-active.light-mode .beta-hf-module .beta-hf-toggle {
  color: #111827 !important;
}

/* ===============================
   Hourly Forecast - Show more button
   Only bottom rounded corners
   =============================== */

body.beta-active .beta-hf-toggle {
  border-radius: 0 0 10px 10px !important;
}

body.beta-active .beta-hf-toggle {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/* ===============================
   Current Conditions - Jump button
   Light mode fix (no background)
   =============================== */

body.beta-active.light_mode
.beta-cc-header-storm-jump {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.beta-active.light_mode
.beta-cc-header-storm-jump i {
  background: transparent !important;
}

body.beta-active.light_mode
.beta-cc-header-storm-jump:hover,
body.beta-active.light_mode
.beta-cc-header-storm-jump:focus,
body.beta-active.light_mode
.beta-cc-header-storm-jump:active {
  background: transparent !important;
  box-shadow: none !important;
}

/* ===============================
   FIX: CC Jump button icon-only (Light mode)
   =============================== */

body.beta-active.light-mode .beta-cc-header-storm-jump {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.beta-active.light-mode .beta-cc-header-storm-jump:hover,
body.beta-active.light-mode .beta-cc-header-storm-jump:focus,
body.beta-active.light-mode .beta-cc-header-storm-jump:active {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

body.beta-active.light-mode .beta-cc-header-storm-jump i {
  background: transparent !important;
}

/* =========================================================
   CURRENT CONDITIONS: force single-line layout always
   (shrink temperature font when needed, never drop RealFeel)
   ========================================================= */

body.beta-active .beta-cc-content .beta-cc-primary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap !important;
  gap: 16px;
}

body.beta-active .beta-cc-content .beta-cc-primary-left {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1 1 auto;
}

body.beta-active .beta-cc-content .beta-cc-primary-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  flex: 0 0 auto;
}

body.beta-active .beta-cc-content .beta-cc-temp {
  display: flex;
  align-items: baseline;
  min-width: 0;
}

body.beta-active .beta-cc-content .beta-cc-temp-val {
  font-size: clamp(44px, 6.5vw, 72px);
  line-height: 1;
  white-space: nowrap;
}

body.beta-active .beta-cc-content .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val {
  font-size: clamp(40px, 6vw, 62px);
}

body.beta-active .beta-cc-content .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val {
  font-size: clamp(34px, 5.5vw, 54px);
}

body.beta-active .beta-cc-content .beta-cc-degcol {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* =========================================================
   Current Conditions – keep single line, shrink temp if long
   ========================================================= */

body.beta-active .beta-cc-primary {
  display: flex;
  align-items: center;
  flex-wrap: nowrap !important;
}

body.beta-active .beta-cc-primary-left {
  min-width: 0;
  flex: 1 1 auto;
}

body.beta-active .beta-cc-primary-right {
  flex: 0 0 auto;
  align-items: center;
}

body.beta-active .beta-cc-temp-val {
  font-size: 64px;
  line-height: 1;
  white-space: nowrap;
}

body.beta-active .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val {
  font-size: 54px;
}

body.beta-active .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val {
  font-size: 46px;
}

/* =========================================================
   Current Conditions – fix unit (° + F) vertical alignment
   and restore right padding for RealFeel block (beta-only)
   ========================================================= */

body.beta-active .beta-cc-content .beta-cc-primary {
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  padding-right: 12px;
}

body.beta-active .beta-cc-content .beta-cc-temp {
  display: flex;
  align-items: flex-start !important; /* <- key */
  gap: 2px;
}

body.beta-active .beta-cc-content .beta-cc-temp-val {
  line-height: 1 !important;
}

body.beta-active .beta-cc-content .beta-cc-degcol {
  display: flex;
  flex-direction: column;
  line-height: 1 !important;
  margin-top: 6px;
}

body.beta-active .beta-cc-content .beta-cc-deg,
body.beta-active .beta-cc-content .beta-cc-temp-unit-under {
  line-height: 1 !important;
}

body.beta-active .beta-cc-content .beta-cc-primary-right {
  margin-right: 8px;
  text-align: right;
  align-self: flex-start;
}

body.beta-active .beta-cc-grid .beta-cc-card-v {
  line-height: 30px;
  display: flex;
  align-items: baseline;
}

body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline {
  align-items: baseline;
  gap: 6px;
}

body.beta-active .beta-cc-deg,
body.beta-active .beta-cc-deg16,
body.beta-active .beta-cc-deg30 {
  font-size: 30px !important;
  line-height: 30px !important;
  position: relative;
  top: 0px;
}

body.beta-active .beta-cc-degcol {
  margin-top: 0 !important;
}

body.beta-active .beta-cc-primary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap !important;
  gap: 16px;
}

body.beta-active .beta-cc-primary-left {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  flex: 1 1 auto;
}

body.beta-active .beta-cc-primary-right {
  flex: 0 0 auto;
  margin-right: 8px;
}

body.beta-active .beta-cc-temp-val {
  font-size: 64px;
  line-height: 1;
  white-space: nowrap;
}

body.beta-active .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val {
  font-size: 56px;
}

body.beta-active .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val {
  font-size: 48px;
}

body.beta-active .beta-cc-module .beta-cc-deg16 {
  font-size: 16px !important;
  line-height: 16px !important;
  top: 0 !important;
}

body.beta-active .beta-cc-module .beta-cc-deg,
body.beta-active .beta-cc-module .beta-cc-deg30 {
  font-size: 30px !important;
  line-height: 30px !important;
  position: relative;
  top: 0 !important;
}

body.beta-active .beta-hf-module .beta-hf-icon,
body.beta-active .beta-hf-module .beta-hf-icon-fallback {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px;
}

body.beta-active .beta-hf-module .beta-hf-mid {
  align-items: center;
  gap: 10px;
}

body.beta-active .beta-hf-module .beta-hf-icon,
body.beta-active .beta-hf-module .beta-hf-icon-fallback {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px;
}

body.beta-active .beta-hf-module .beta-hf-mid {
  align-items: center;
  gap: 10px;
}

/* ===============================
   Inspect Close "X" – Light mode
   =============================== */
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close {
  background: transparent !important;
  border: 1px solid rgba(17, 24, 39, 0.35) !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close::before,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close::after {
  background-color: #111827 !important;
  opacity: 1 !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close:hover {
  background: rgba(17, 24, 39, 0.06) !important;
}

/* ======================================
   Impact Indicator – color square border
   ====================================== */

/* Dark mode → White */
body.beta-active:not(.light-mode)
  .beta-impact-indicator-swatch {
  stroke: #FFFFFF;
  stroke-width: 1.25px;
}

/* Light mode → black */
body.beta-active.light-mode
  .beta-impact-indicator-swatch {
  stroke: #111827;
  stroke-width: 1.25px;
}

body.beta-active.light_mode
.beta-panel-inspect
.beta-inspect-close {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;

  border-radius: 0 !important;
}

/* =========================================================
   Inspect Close (X) — Light Mode (icon only, no box)
   ========================================================= */
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close:hover,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close:focus,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close:active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 0 !important;

  width: auto !important;
  height: auto !important;
  padding: 0 !important;
}

body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close,
body.beta-active.light-mode .beta-panel-inspect .beta-inspect-close i {
  color: #111827 !important;
}

/* =========================================================
   Inspect location pill — add right inset for the close "X"
   (beta only)
   ========================================================= */

body.beta-active .beta-inspect-location-pill {
  padding-right: 12px !important;
}

body.beta-active .beta-inspect-location-pill .beta-inspect-close {
  margin-left: auto !important;
  margin-right: 4px !important;
}

body.beta-active.light-mode .beta-inspect-location-pill {
  padding-right: 12px !important;
}
body.beta-active.light-mode .beta-inspect-location-pill .beta-inspect-close {
  margin-right: 4px !important;
}
body.beta-active .beta-inspect-location-pill .beta-inspect-close {
  position: relative !important;
  right: auto !important;
}

/* =========================================================
   Light mode: Current Conditions header — indent title only
   (do NOT shift time/jump)
   ========================================================= */

body.beta-active.light-mode .beta-cc-header-storm-row{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.beta-active.light-mode .beta-cc-header-storm-title{
  margin-left: 16px !important;
}

body.beta-active.light-mode .beta-cc-header-storm-actions{
  margin-right: 12px !important;
}

/* =========================================================
   Impact Indicator – border for color-coded square icons
   The "square" is wrapped by: div.inspect-body-row-icon
   ========================================================= */

/* Base: border on wrapper so it works even if <img> has no class */
body.beta-active .beta-panel-inspect .inspect-body-row-icon {
  box-sizing: border-box !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent !important;
}

/* Dark mode: white border */
body.beta-active:not(.light-mode) .beta-panel-inspect .inspect-body-row-icon {
  border-color: #ffffff !important;
}

/* Light mode: black border */
body.beta-active.light-mode .beta-panel-inspect .inspect-body-row-icon {
  border-color: #000000 !important;
}

/* Optional: if the img exists (with or without class), keep it crisp */
body.beta-active .beta-panel-inspect .inspect-body-row-icon img {
  display: block;
}

/* Impact Indicator (and any identify-card rows with an icon) - add border to the color square */
body.beta-active .beta-panel-inspect .inspect-body-row-icon img {
  border: 1px solid #FFFFFF;
  box-sizing: border-box;
  border-radius: 2px;
}

/* Light mode: border should be black */
body.beta-active.light_mode .beta-panel-inspect .inspect-body-row-icon img {
  border-color: #111827;
}

/* Make rows a stable 3-column flex layout: [icon][label(date/day)][value(impact)] */
body.beta-active .beta-panel-inspect .inspect-body-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* icon column */
body.beta-active .beta-panel-inspect .inspect-body-row-icon {
  flex: 0 0 auto;
}

/* label column (date/day): take remaining space and DON'T right-align */
body.beta-active .beta-panel-inspect .inspect-body-row-label {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  text-align: left;
  padding-left: 8px;
}

/* value column (impact text): fixed-ish width, right aligned */
body.beta-active .beta-panel-inspect .inspect-body-row-value {
  flex: 0 0 180px;
  text-align: right;
  white-space: nowrap;
}

/* ===================== IMPACT INDICATOR (Beta) ===================== */
/* Force a stable 3-col layout: [icon] [date/day] [impact score] */
body.beta-active .beta-panel-inspect .impact-indicator-row.inspect-body-row{
  display: grid !important;
  grid-template-columns: 16px 1fr auto !important;
  column-gap: 10px !important;
  align-items: center !important;
}

/* Prevent the label from reflowing based on value length */
body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-label{
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: none !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Keep the score/value aligned to the right consistently */
body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-value{
  grid-column: 3 !important;
  justify-self: end !important;
  min-width: 120px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Icon column sizing */
body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon{
  grid-column: 1 !important;
  width: 16px !important;
  height: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Border around the color-coded square */
body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon img{
  width: 10px !important;
  height: 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #FFFFFF !important;
}

/* Light mode: border should be black */
body.beta-active.light-mode .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon img{
  border-color: #111827 !important;
}

/* ===================== Impact Indicator: colored square border ===================== */
body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: block !important;
}

/* Put the border on the wrapper only */
body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon {
  width: 10px !important;
  height: 10px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border-radius: 2px !important;
  border: 1px solid #FFFFFF !important;
}

body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon img {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

body.beta-active.light-mode .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon {
  border-color: #000000 !important;
}

body.beta-active .beta-panel-inspect .impact-indicator-row .inspect-body-row-icon {
  border-style: solid !important;
}
/* =================== End Impact Indicator border =================== */

/* ===================== CC: Align Wind/Wind Gusts row values ===================== */
body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline {
  display: flex;
  align-items: baseline;
  line-height: 1;
  min-height: 28px;
}

body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline .beta-cc-wind-dir,
body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline .beta-cc-wind-spd,
body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline .beta-cc-unit-small {
  line-height: 1;
  position: relative;
  top: 0;
}

body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline .beta-cc-wind-spd {
  top: 1px;
}

/* =========================
   Current Conditions: fix Wind Gusts vertical alignment
   ========================= */
body.beta-active .beta-cc-grid .beta-cc-card-v.beta-cc-windline {
  align-items: center !important;
}

/* keep the numeric + unit aligned as a single visual line */
body.beta-active .beta-cc-grid .beta-cc-windline .beta-cc-wind-spd,
body.beta-active .beta-cc-grid .beta-cc-windline .beta-cc-unit-small,
body.beta-active .beta-cc-grid .beta-cc-windline .beta-cc-wind-dir {
  line-height: 1 !important;
}

/* optional: ensures all 3 cards in that row have same inner height */
body.beta-active .beta-cc-grid .beta-cc-card-v {
  min-height: 28px;
}
/* =================== End CC wind alignment =================== */
body.beta-active .beta-cc-primary {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
}

body.beta-active .beta-cc-primary-left {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.beta-active .beta-cc-primary-right {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  min-width: 130px;
  text-align: right;
}

body.beta-active .beta-cc-temp {
  min-width: 0 !important;
  flex: 0 1 auto !important;
  white-space: nowrap;
}

/* decimals like -22.2 */
body.beta-active .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val {
  font-size: 56px !important;
}

/* very long values like -28.7 / -102.2 (o 4+ chars) */
body.beta-active .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val {
  font-size: 48px !important;
}

/* =============================
   Current Conditions: dynamic temp resizing (FINAL OVERRIDE)
============================= */

/* Base: keep it controlled and prevent pushing into RealFeel column */
body.beta-active .beta-cc-content .beta-cc-temp .beta-cc-temp-val{
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* When temp includes decimals (e.g. -22.2) */
body.beta-active .beta-cc-content .beta-cc-temp.beta-cc-temp--long .beta-cc-temp-val{
  font-size: clamp(30px, 5.5vw, 52px) !important;
}

/* When temp is very long (4+ chars, e.g. -26.2, -102, etc) */
body.beta-active .beta-cc-content .beta-cc-temp.beta-cc-temp--xlong .beta-cc-temp-val{
  font-size: clamp(26px, 5vw, 46px) !important;
}

/* If both classes apply, enforce the smaller one */
body.beta-active .beta-cc-content .beta-cc-temp.beta-cc-temp--long.beta-cc-temp--xlong .beta-cc-temp-val{
  font-size: clamp(24px, 4.55vw, 42px) !important;
}
/* ============================
 * CURRENT CONDITIONS (BETA)
 * RealFeel / RealFeel Shade
 * ============================ */

/* 1) Empuja el bloque de RealFeel hacia la derecha */
body.beta-active .beta-cc-content .beta-cc-primary-right {
  margin-left: auto !important;   /* separa de la temp grande */
}

/* 2) RealFeel y RealFeel Shade un poco más chicas por defecto */
body.beta-active .beta-cc-feels-lines .beta-cc-feels-label,
body.beta-active .beta-cc-feels-lines .beta-cc-feels-value {
  font-size: 14px !important;     /* antes 16px */
  line-height: 18px !important;
}

/* 3) En layouts más estrechos (mobile / panel pequeño),
      todavía más pequeñas para evitar overlaps con decimales */
@media (max-width: 1280px) {
  body.beta-active .beta-cc-feels-lines .beta-cc-feels-label,
  body.beta-active .beta-cc-feels-lines .beta-cc-feels-value {
    font-size: 13px !important;
    line-height: 16px !important;
  }
}

/* ============================
 * CURRENT CONDITIONS (BETA)
 * Wind / Wind Gusts unidades
 * ============================ */

/* Baja un poco el tamaño de la unidad (mph / km/h)
   para que "km/h" no se coma el espacio en métricas */
body.beta-active .beta-cc-grid .beta-cc-grid-row .beta-cc-grid-value-unit {
  font-size: 11px !important;
  line-height: 14px !important;
}

/* Ajustes cuando la temperatura es "larga" (decimales / muchos dígitos) */

/* Un poco más de espacio entre el bloque de temperatura y el de RealFeel */
body.beta-active .beta-cc-primary--temp-long .beta-cc-primary-right,
body.beta-active .beta-cc-primary--temp-xlong .beta-cc-primary-right {
  margin-left: 4px;
}

/* Temperaturas largas: baja ligeramente la fuente de RealFeel */
body.beta-active .beta-cc-primary--temp-long .beta-cc-feels-label,
body.beta-active .beta-cc-primary--temp-long .beta-cc-feels-value {
  font-size: 13px !important;
  line-height: 18px !important;
}

/* Temperaturas *muy* largas: aún un punto más pequeño */
body.beta-active .beta-cc-primary--temp-xlong .beta-cc-feels-label,
body.beta-active .beta-cc-primary--temp-xlong .beta-cc-feels-value {
  font-size: 12px !important;
  line-height: 16px !important;
}

/* === CURRENT CONDITIONS: unidad C/F debajo del ° === */

body.beta-active .beta-cc-temp-unit-under {
  position: relative !important;
  top: auto !important;

  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;

  margin-top: 2px !important;

  transform: translateY(0.30em) !important;
}

body.beta-active .beta-cc-temp--long .beta-cc-temp-unit-under {
  transform: translateY(0.08em) !important;
}

body.beta-active .beta-cc-temp--xlong .beta-cc-temp-unit-under {
  transform: translateY(-0.42em) !important;
}

/* =========================================================
   Beta Inspect - Show More / Show Less (match Hourly Forecast)
   (text-only centered + top divider + caret)
   ========================================================= */

/* Footer container (ng-if="!hideButtons") */
body.beta-active .beta-panel-inspect .inspect-card .clearfix {
  display: flex;
  justify-content: center;
  align-items: center;

  /* divider like Hourly */
  border-top: 1px solid #FFFFFF0D;

  /* spacing similar to Hourly */
  margin-top: 10px;
  padding: 12px 0 10px;
}

/* Remove pill/button look and match typography */
body.beta-active .beta-panel-inspect .inspect-card .inspect-button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;

  font-family: "Solis", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0px;

  color: #FFFFFF;
  cursor: pointer;
  text-decoration: none;
}

/* Make sure anchors behave like text-buttons */
body.beta-active .beta-panel-inspect .inspect-card a.inspect-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* No hover underline */
body.beta-active .beta-panel-inspect .inspect-card .inspect-button:hover,
body.beta-active .beta-panel-inspect .inspect-card .inspect-button:focus {
  text-decoration: none;
  outline: none;
}

/* Caret style (same for both) */
body.beta-active .beta-panel-inspect .inspect-card .inspect-expand-button::after,
body.beta-active .beta-panel-inspect .inspect-card .inspect-collapse-button::after {
  display: inline-block;
  margin-left: 6px;
  transform: translateY(-1px);
}

/* Down caret for "Show more" */
body.beta-active .beta-panel-inspect .inspect-card .inspect-expand-button::after {
  content: "⌄";
}

/* Up caret for "Show less" */
body.beta-active .beta-panel-inspect .inspect-card .inspect-collapse-button::after {
  content: "⌃";
}

/* Tighten Show more/less footer height (match Hourly spacing) */
body.beta-active .beta-panel-inspect .inspect-card .clearfix {
  margin-top: 2px;
  padding: 0px 0 0px;
}

/* Remove extra bottom space in cards when footer (show more/less) is present */
body.beta-active .beta-panel-inspect .inspect-card .clearfix {
  margin: 0;
  padding: 0;
}

/* The gap is usually coming from the card or body section padding-bottom */
body.beta-active .beta-panel-inspect .inspect-card {
  padding-bottom: 0 !important;
}

/* Also tighten the body section bottom padding to pull footer down */
body.beta-active .beta-panel-inspect .inspect-card .inspect-body-section {
  padding-bottom: 6px !important; /* try 0px if you want it flush */
}

/* Tropical only (beta) – footer like Hourly */
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card .clearfix {
  display: flex;
  justify-content: center;
  align-items: center;

  border-top: 1px solid #FFFFFF0D;
  margin-top: 4px;
  padding: 4px 0 4px;
}

/* Button look like Hourly (no pill, just centered text) */
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card .inspect-button {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;

  font-family: "Solis", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0px;

  color: #FFFFFF;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* icon spacing */
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card .inspect-button i.fa {
  margin-left: 4px;
}

/* Tropical: disable any CSS-added carets*/
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card .inspect-expand-button::after,
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card .inspect-collapse-button::after {
  content: none !important;
}

/* Tropical: match Hourly chevron size */
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card .inspect-button i.fa {
  font-size: 8px;
  line-height: 8px;
  transform: translateY(-2px);
}
/* Tropical (beta) - Show More / Show Less label typography */
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card
.inspect-button span {
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;
}
body.beta-active .beta-panel-inspect .inspect-card.beta-tropical-impact-card
.inspect-button span[ng-if] {
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;
}

/* Tropical (beta) - light theme: label + cheнovron in black */
body.beta-active.light-mode .beta-panel-inspect
.inspect-card.beta-tropical-impact-card .inspect-button,
body.beta-active.light-mode .beta-panel-inspect
.inspect-card.beta-tropical-impact-card .inspect-button span,
body.beta-active.light-mode .beta-panel-inspect
.inspect-card.beta-tropical-impact-card .inspect-button i.fa {
  color: #000000 !important;
}

/* Tropical (beta) - light theme: divider above toggle in gray */
body.beta-active.light-mode .beta-panel-inspect
.inspect-card.beta-tropical-impact-card .clearfix {
  border-top-color: rgba(0, 0, 0, 0.15) !important;
}

/* =========================================================
   Storm Reports (beta) - match design
   Keep current structure: layer header stays (STORM REPORTS)
   ========================================================= */

/* Header row: title left, existing icon right */
body.beta-active .beta-panel-inspect
.inspect-title-section.storm-reports-header {
  display: flex;
  align-items: center;
  width: 100%;
}

/* "Snow" / "Hail" title styling + aligned left */
body.beta-active .beta-panel-inspect
.inspect-title-section.storm-reports-header .inspect-title-section-title {
  flex: 1 1 auto;
  margin: 0;
  text-align: left;
  order: 1;

  /* Title (HAIL) */
  font-family: "Solis", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 18px !important;
  line-height: 18px !important; /* 100% */
  letter-spacing: 0px !important;
}

/* Existing icon (winter.png) moves to the right (Figma 28x28) */
body.beta-active .beta-panel-inspect
.inspect-title-section.storm-reports-header .inspect-title-section-icon {
  order: 2;
  margin-left: auto;
  margin-right: 0;
  padding-right: 0;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
}

/* --- BODY typography fixes (beta default makes values right/nowrap/180px) --- */

/* Storm Reports: undo beta layout constraints only for this card */
body.beta-active .beta-panel-inspect
.inspect-card .storm-reports-header ~ .inspect-body-section .inspect-body-row-value {
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  white-space: normal !important;
}

/* Date/Time row: in your data it's the row where label == "Time"
   We can't target label value with pure CSS, so we style the FIRST row-value
   (Storm Reports structure shows Time first). */
body.beta-active .beta-panel-inspect
.inspect-card .storm-reports-header ~ .inspect-body-section .inspect-body-row:first-child .inspect-body-row-value {
  /* Date & time */
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 19.6px !important; /* 140% */
  letter-spacing: 0px !important;
}

/* Content rows (Public reports..., Updated report..., etc.)
   Style all subsequent row values after the first one */
body.beta-active .beta-panel-inspect
.inspect-card .storm-reports-header ~ .inspect-body-section .inspect-body-row:nth-child(n+2) .inspect-body-row-value {
  /* Content */
  font-family: "Solis", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 16px !important; /* 100% */
  letter-spacing: 0px !important;
}