/* Modern Style Enhancements */
body{
    background-color: #f9f9f9;
}

.toggle-switch, .switch{
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);

}

#altitude{
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.control{
  margin-bottom: 0;
}

#targetAltitudeInput[type="number"]{
    min-width: 51px;
}
/* Buttons */
button, .button {
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    /* padding: 10px 20px; */
    /* font-family: 'Roboto', sans-serif; */
    font-size: 16px;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* button:hover, .button:hover {
    background-color: #e0e0e0;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
} */

/* Legend */
#legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#legend li {
    display: flex;
    align-items: center;
    padding: 5px 10px;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    width: 51vw;
}

#legend li:hover {
    background-color: #f0f0f0;
}

.legend-bowl {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 8px;
}

/* Data Displays (Temperature, Oxygen, etc.) */
.status-item {
    padding: 0px;
    min-width: min(140px, 40vw);
}

.value {
    font-size: 36px;
    font-weight: bold;
    color: #333;
}

/* Input Fields */
input[type="number"], input[type="time"] {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 8px;
    font-size: 16px;
    transition: border-color 0.3s ease;
}

input[type="number"]:focus, input[type="time"]:focus {
    border-color: #007bff;
    outline: none;
}

/* Graph Container */
.graph {
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Connected Indicator */
#connected {
    transition: background-color 0.5s ease;
}

/* Transitions for data updates */
.value, .temperature, .timer {
    transition: all 0.5s ease;
}

/* .temperature, .timer{
    margin-left: 7.5px;
} */

.toggle-switch {
    margin-bottom: 3px;
}

#connected-item {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #666;
}

#connected {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #4CD964;
  margin:12px;
  /* make it breath */
    animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

.disconnected #connected {
  background-color: #FF3B30;
  animation: none;
}

#connected-span {
    display: none;
}


.toggle-switch {
  width: 64px;
  height: 34px;
  border-radius: 34px;
  background: #f0f0f0;
  position: relative;
  cursor: pointer;
  transition: background 0.25s ease, box-shadow 0.25s ease;
  box-shadow: inset 0 0 0 1px #ddd;
}

.toggle-switch .indicator {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  position: absolute;
  top: 3px;
  left: 3px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.toggle-switch.on .indicator, .toggle-switch.wanted .indicator, .toggle-switch.unavailable .indicator {
   box-shadow:  rgba(0, 0, 0, 0.1) inset 1px 1px;
}

/* /* ON */
.toggle-switch.on {
background: rgb(110, 195, 110); /*#6ec36e*/
box-shadow: inset 1px 1px rgb(150, 215, 155);
}

.toggle-switch.wanted {
background: linear-gradient(90deg, #f49e36, #ffbb55);
box-shadow: inset 1px 1px #ffbb55c5;
}

/* .toggle-switch.on .indicator {
  transform: translateX(30px);
  box-shadow: 0 2px 5px rgba(52, 199, 89, 0.3);
}
*/

.toggle-switch.unavailable {
  background: #f2f2f2;
  box-shadow: inset 0 0 0 1px #ccc;
  /* cursor: not-allowed; */
    box-shadow: none;
}


/* .toggle-switch.unavailable .indicator {
  background: #ddd;
  box-shadow: none;
}  */



#targetAltitudeInput[type="number"]{
    background-color: #f9f9f9;
}

input[type="time"]{
  border: none !important;
background-color: transparent !important;
}