/* --- Global Styles & Variables --- */
:root {
  --mainColor: #5c61f2;
  --headingColor: #171825;
  --textColor: #606173;
  --whiteColor: #ffffff; /* For cards/boxes */
  --layout-bg-color: #f5f5fe; /* Light bluish tone for header/sidebar */
  --divider: rgba(23, 24, 37, .08);
  --boxShadow: 0 5px 20px rgba(92, 97, 242, 0.20);
  --borderRadius: 12px;
  --header-height: 70px;
  --sidebar-width: 250px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Lato', sans-serif;
  background-color: var(--whiteColor); /* Main content background is white */
  color: var(--textColor);
  line-height: 1.6;
}

p {
  margin: 0; /* Removed default bottom margin */
}


/* --- Main Layout --- */
#maintenance-layout {
  position: relative;
  padding-top: var(--header-height);
  padding-left: var(--sidebar-width);
}


/* --- Header --- */
.vaxo-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  background-color: var(--layout-bg-color); /* Use bluish layout color */
  border-bottom: 1px solid var(--divider);
  display: flex;
  align-items: center;
  padding: 0 1rem;
  z-index: 1000;
}

.vaxo-header__brand {
  padding-left: 1rem;
}

.vaxo-header__logo {
  height: 48px;
  width: auto;
  display: block;
}


/* --- Sidebar --- */
.vaxo-sidebar {
  position: fixed;
  top: var(--header-height);
  left: 0;
  bottom: 0;
  width: var(--sidebar-width);
  background-color: var(--layout-bg-color); /* Use bluish layout color */
  border-right: 1px solid var(--divider);
  z-index: 999;
}


/* --- Main Content Area --- */
.vaxo-main-content {
  width: 100%;
  min-height: calc(100vh - var(--header-height));
}

.vaxo-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
}


/* --- VaxoBox Component Style --- */
.vaxo-box {
  background: var(--whiteColor); /* Box background is white */
  border-radius: var(--borderRadius);
  border: 1px solid rgba(23, 24, 37, .06);
  box-shadow: var(--boxShadow);
  position: relative;
  overflow: hidden;
}

.vaxo-box__content {
  padding: 30px;
}

.vaxo-box__header {
  display: flex;
  align-items: center;
  justify-content: center; /* Centers the title container */
  gap: 12px;
  margin-bottom: 0; /* Removed bottom margin */
}

.vaxo-box__titles {
  min-width: 0;
  text-align: center; /* Ensures text inside is centered */
}

/* New style for the main title */
.maintenance-title {
  font-size: 2.25rem; /* Larger font size */
  font-weight: 700; /* Bold */
  color: var(--headingColor);
  line-height: 1.2;
  margin: 0;
}

.vaxo-box__subtitle {
  margin: 8px 0 0; /* Increased top margin for spacing */
  color: var(--textColor);
  font-size: 1rem;
}

.vaxo-box__body {
  text-align: center;
}

.vaxo-box__body p {
  font-size: 1rem; /* 16px */
  font-weight: 600;
  line-height: 1.7;
  color: var(--headingColor);
}

.vaxo-box__body > * + * {
  margin-top: 1rem; /* Adjusted for consistent spacing */
}

.maintenance-image {
  display: block;
  margin: 12px auto 20px; /* Added 12px top margin */
  max-width: 320px;
  width: 100%;
  height: auto;
}


/* --- Responsive Adjustments --- */
@media (max-width: 959.98px) {
  :root {
    --sidebar-width: 61px;
    --header-height: 64px;
  }
}

@media (max-width: 767px) {
  :root {
    --sidebar-width: 0px; /* Hide sidebar completely on mobile */
    --header-height: 56px;
  }
  .vaxo-header__brand {
    padding-left: 0.5rem;
  }
  .vaxo-header__logo {
    height: 40px;
  }
  .vaxo-container {
    padding: 16px;
  }
  .vaxo-box__content {
    padding: 20px;
  }
  .maintenance-title {
    font-size: 1.75rem; /* Slightly smaller title on mobile */
  }
  .vaxo-box__body p {
    font-size: 1rem; /* Adjust paragraph font size for mobile */
  }
}