/* FreeWifi Network Manager brand layer.
   Kept separate from the bundled theme styles to preserve existing behaviour. */
#brand {
  display: inline-block;
  min-width: 112px;
  padding-left: 20px;
  padding-right: 20px;
  font-weight: 800;
  letter-spacing: .5px;
  color: #ffffff;
}
#navbar {
  box-shadow: 0 2px 12px rgba(15, 23, 42, .12);
}
#brand::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 8px 2px 0;
  border-radius: 50%;
  background: #22d3ee;
}
#sidenav {
  scrollbar-width: thin;
}
#sidenav .menu,
#sidenav .dropdown-btn {
  transition: background-color .18s ease, color .18s ease;
}
#sidenav .menu:hover,
#sidenav .dropdown-btn:hover {
  background-color: rgba(34, 211, 238, .10);
}
.login-box {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}
.login-box .card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(15, 23, 42, .12);
}
.login-box img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 600px) {
  #brand {
    min-width: auto;
    padding-left: 10px;
    padding-right: 10px;
  }
  .login-box {
    width: calc(100% - 24px);
  }
}

/* FreeWifi Network Manager — navy and sky-blue theme */
:root {
  --freewifi-navy: #080878;
  --freewifi-sky: #87ceeb;
  --freewifi-blue: #087cff;
  --freewifi-white: #ffffff;
}

/* Main navigation */
#navbar {
  background-color: var(--freewifi-navy);
  color: var(--freewifi-white);
  box-shadow: 0 3px 12px rgba(8, 8, 120, .18);
}

#navbar a,
#navbar #cpage,
#brand {
  color: var(--freewifi-white);
}

#sidenav {
  background-color: var(--freewifi-navy);
  color: var(--freewifi-white);
}

#sidenav a,
#sidenav .menu,
#sidenav .dropdown-btn {
  color: var(--freewifi-white);
}

#sidenav .menu:hover,
#sidenav .dropdown-btn:hover {
  background-color: rgba(135, 206, 235, .20);
  color: var(--freewifi-white);
}

#sidenav .menu:focus-visible,
#sidenav .dropdown-btn:focus-visible,
#navbar a:focus-visible {
  outline: 2px solid var(--freewifi-sky);
  outline-offset: 2px;
}

/* Main page canvas */
body {
  background-color: var(--freewifi-sky);
}

/* Content panels remain white for readable contrast */
.login-box .card {
  background-color: var(--freewifi-white);
}

/* Primary actions */
button,
input[type="submit"],
input[type="button"],
.button {
  transition: background-color .18s ease, box-shadow .18s ease;
}

button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
.button:focus-visible {
  outline: 2px solid var(--freewifi-blue);
  outline-offset: 2px;
}

@media (max-width: 600px) {
  #navbar,
  #sidenav {
    max-width: 100%;
  }
}
