html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  font-optical-sizing: auto;
  letter-spacing: 1px;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  background-color: #191969;
  overflow: hidden;
}

.browser-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.85);
  backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.browser-modal-content {
  background-color: #fff;
  padding: 30px;
  border-radius: 15px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  font-family: 'Arial', sans-serif;
}
.browser-modal-content h2 {
  font-size: 1.5em;
  color: #333;
  margin-bottom: 15px;
}
.browser-modal-content p {
  color: #555;
  margin-bottom: 20px;
}
.browser-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 15px 10px;
  padding: 12px 18px;
  background-color: #007BFF;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s, transform 0.3s;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  font-weight: bold;
  width: 150px; /* Ensures buttons are the same width */
}
.browser-button img {
  width: 24px; /* Adjust size as needed */
  height: auto;
  margin-right: 8px;
}
.browser-button:hover {
  background-color: #0056b3;
  transform: translateY(-2px);
}
ol {
  padding-left: 1.25em;
}

ol li {
  margin-top: 0.5em;
}

a {
  color: #fff;
  text-decoration: none;
}

button {
  padding: 0.5rem 1rem;
  cursor: pointer;
  height: 2.5rem;
  border-radius: 8px;
  color: #fff;
  background-color: #a6aee5;
  border: none;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.8),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);

  &:disabled {
    background-color: #ccc;
    cursor: not-allowed;
    color: rgba(0, 0, 0, 0.2);
  }

  &:hover {
    background-color: #fff;
    color: #a6aee5;

    &:disabled {
      background-color: #ccc;
      color: rgba(0, 0, 0, 0.2);
    }
  }
}

select {
  width: 150px;
  padding: 10px;
  margin: 10px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  background-color: #333;
  color: #d0d3f8;
  box-shadow: 0px 2px 1px 2px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}

.root {
  box-sizing: border-box;
  height: 100%;
  width: 100%;
  padding: 3rem;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  .root {
    flex-direction: column;
  }

  .container {
    height: unset !important;
  }

  #info-container {
    flex: 1;
    margin-top: 1rem;
  }
}

.container {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-width: 600px;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: hidden;
}

.mb-0 {
  margin-bottom: 0;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mr-1 {
  margin-right: 1rem;
}

.mr-2 {
  margin-right: 2rem;
}

.info-section {
  text-align: center;
  padding: 1rem;
  border-radius: 8px;
  background-color: #2c2c83;
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}

.logo {
  max-width: 22rem;
}

.input-field {
  width: 100%;
  padding: 10px;
  margin: 10px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  background-color: #333;
  color: #d0d3f8;
}

.progress-bar {
  color: #ffffff;
  background-color: #444444;
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(129, 140, 218, 0.3);
  width: 100%;
  margin: 10px 0;
  overflow: hidden;
  height: 32px;
}

.progress-bar-filled {
  color: #ffffff;
  background-color: #75c6ff;
  height: 100%;
  width: 0;
  transition: width 0.3s ease-in-out;
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(129, 140, 218, 0.3);
  animation: pulse 3s infinite;
}

@keyframes pulse {
  0%,
  100% {
    background-color: #8189da;
  }
  50% {
    background-color: #676db1;
  }
}

.spinner {
  border: 4px solid rgba(0, 0, 0, 0.1);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border-left-color: #09f;
  animation: spin 1s linear infinite;
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle; /* Align spinner vertically with button */
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

.modal-content {
  background-color: #333;
  margin: auto; /* Centered */
  padding: 20px;
  border: 1px solid #888;
  width: 80%; /* Could be more or less, depending on screen size */
  max-width: 400px;
  border-radius: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modal button {
  margin: 0;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.connected-icon {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ff0000;
  margin-left: 8px;
}

#brightnessSlider {
  flex-grow: 1;
  margin-right: 1rem;
  appearance: none;
  background: #ddd;
  height: 1rem;
  border-radius: 15px;
  outline: none;
}

#brightnessSlider::-webkit-slider-thumb {
  appearance: none;
  width: 30px;
  height: 30px;
  background: #a6aee5;
  border-radius: 50%;
  cursor: pointer;
}

#brightnessSlider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #4caf50;
  border-radius: 50%;
  cursor: pointer;
}

#brightnessValue {
  font-size: 18px;
  font-weight: bold;
}

::-webkit-scrollbar {
  width: 12px; /* Width of the entire scrollbar */
}

::-webkit-scrollbar-track {
  background: #f1f1f1; /* Background color of the scrollbar track */
}

::-webkit-scrollbar-thumb {
  background-color: #2c2c83; /* Scrollbar thumb color */
  border-radius: 6px; /* Rounded corners for the thumb */
  border: 3px solid #f1f1f1; /* Adds space around thumb */
}

::-webkit-scrollbar-thumb:hover {
  background-color: #1e1e60; /* Darker color on hover for thumb */
}

.wifi-info-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
  color: #fff;
}

.wifi-info-table td {
  padding: 8px;
  background-color: #2c2c83;
  border-radius: 4px;
}

.wifi-info-table td:first-child {
  font-weight: bold;
  width: 40%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.wifi-info-table td:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

#wifiInfo {
  margin-top: 1rem;
  padding: 1rem;
  background-color: #191969;
  border-radius: 8px;
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2),
              0px 1px 1px 0px rgba(0, 0, 0, 0.14),
              0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}

.connected-icon {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-left: 8px;
  vertical-align: middle;
}