/* The standalone fallback and the in-app overlay intentionally share this file. */
.ev-maintenance, .ev-maintenance * { box-sizing: border-box; }
.ev-maintenance {
  --ev-gold: #D5A440;
  position: fixed;
  z-index: 2147483000;
  inset: 0;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 100svh;
  overflow: hidden auto;
  background: #07172b;
  color: #fff;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  text-align: center;
  -webkit-font-smoothing: antialiased;
}
.ev-maintenance::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  background-color: #07172b;
  background-image: var(--ev-maintenance-desktop-image, none), url('/recovery/ev-maintenance-desktop.webp');
  background-position: center center, center center;
  background-size: cover, cover;
  background-repeat: no-repeat;
}
.ev-maintenance::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(4,15,30,.07) 0%, transparent 38%, rgba(5,17,34,.90) 55%, rgba(5,17,34,.62) 100%),
    linear-gradient(0deg, rgba(3,12,26,.22), transparent 30%);
}
.ev-maintenance__brand {
  position: absolute;
  inset: auto auto 0 max(25px, 4.6vw);
  display: flex;
  align-items: center;
  gap: .65rem;
  color: white;
  text-align: left;
  text-shadow: 0 2px 6px rgba(0,0,0,.65);
  padding: .65rem .85rem; border-radius: 15px 15px 0 0; background: #061626;
}
.ev-maintenance__brand img { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 2px 4px #061122); }
.ev-maintenance__brand strong { display: block; font-size: 1.02rem; font-weight: 800; line-height: 1.13; letter-spacing: .14em; }
.ev-maintenance__brand small { display: block; margin-top: .3rem; font-size: .55rem; letter-spacing: .1em; font-weight: 650; }
.ev-maintenance__content {
  width: min(48%, 610px);
  margin: 0 3.6vw 0 0;
  padding: 2.8rem 1rem;
  text-shadow: 0 2px 12px #07111b;
}
.ev-maintenance__title {
  margin: 0;
  font-family: 'Segoe Print', 'Bradley Hand', 'Brush Script MT', 'Apple Chancery', cursive;
  font-size: clamp(3.25rem, 5.2vw, 6rem);
  font-style: italic;
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.04em;
  white-space: nowrap;
  filter: drop-shadow(0 3px 10px #06172b);
}
.ev-maintenance__wave {
  display: block;
  width: 105px;
  height: 12px;
  margin: 8px auto 1.4rem;
  background: var(--ev-gold);
  clip-path: polygon(0 72%, 13% 28%, 26% 8%, 40% 20%, 56% 60%, 73% 72%, 89% 42%, 100% 15%, 88% 90%, 70% 100%, 55% 92%, 35% 50%, 20% 38%, 8% 55%);
}
.ev-maintenance__description { margin: 0; font-size: clamp(1.05rem, 1.7vw, 1.62rem); line-height: 1.43; font-weight: 470; }
.ev-maintenance__sub { margin: .75rem 0 0; font-size: clamp(.96rem, 1.22vw, 1.18rem); }
.ev-maintenance__wheel {
  display: inline-block;
  margin-top: 1rem;
  color: var(--ev-gold);
  font-family: Georgia, serif;
  font-size: 4.15rem;
  line-height: 1;
  animation: ev-wheel-turn 7s linear infinite;
  text-shadow: 0 2px 12px rgba(216,164,68,.25);
}
.ev-maintenance__status { margin: .6rem 0 .4rem; font-size: .8rem; font-weight: 600; }
.ev-maintenance__dots { display: flex; gap: .45rem; justify-content: center; align-items: center; padding: .5rem 0 1.3rem; }
.ev-maintenance__dots span { width: 8px; height: 8px; border-radius: 50%; background: var(--ev-gold); animation: ev-dots 1.8s ease-in-out infinite; }
.ev-maintenance__dots span:nth-child(2) { animation-delay: .28s; }
.ev-maintenance__dots span:nth-child(3) { animation-delay: .56s; }
.ev-maintenance__ready .ev-maintenance__dots span { background: #6de2ab; animation: none; }
.ev-maintenance__note {
  display: inline-flex;
  gap: .65rem;
  align-items: center;
  max-width: 420px;
  padding: .8rem 1rem;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 13px;
  background: rgba(4,16,36,.56);
  box-shadow: 0 10px 40px rgba(0,0,0,.12);
  font-size: .76rem;
  line-height: 1.45;
  text-align: left;
  backdrop-filter: blur(7px);
}
.ev-maintenance__info { display: inline-grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; background: #ebf6fd; color: #12304a; font-style: normal; font-weight: 900; text-shadow: none; }
.ev-maintenance__slogan { position: absolute; bottom: max(25px, 5svh); right: 3.8vw; color: #fff4d7; font-family: 'Segoe Print', cursive; font-style: italic; font-size: 1.05rem; transform: rotate(-7deg); }
@keyframes ev-wheel-turn { to { transform: rotate(360deg); } }
@keyframes ev-dots { 0%,70%,100% { opacity: .35; transform: scale(.8); } 35% { opacity: 1; transform: scale(1.25); background: var(--ev-gold); } }
@media (max-width: 760px) {
  .ev-maintenance { align-items: stretch; justify-content: flex-end; flex-direction: column; min-height: 100svh; }
  .ev-maintenance::before { background-image: var(--ev-maintenance-mobile-image, none), url('/recovery/ev-maintenance-mobile.webp'); background-position: center top; background-size: cover; }
  .ev-maintenance::after { background: linear-gradient(0deg, #071426 0%, rgba(7,20,38,.96) 10%, rgba(7,20,38,.86) 30%, rgba(7,20,38,.22) 62%, rgba(8,21,39,.18) 100%); }
  .ev-maintenance__brand {
    top: calc(14px + env(safe-area-inset-top,0px)); bottom: auto; left: 50%; transform: translateX(-50%);
    width: max-content; max-width: 94%; gap: .42rem; text-align: center; color: #fff;
    padding: .38rem .75rem; border-radius: 999px; background: rgba(6,22,43,.48);
    box-shadow: 0 6px 20px rgba(0,0,0,.15);
  }
  .ev-maintenance__brand img { width: 36px; height: 36px; }
  .ev-maintenance__brand strong { font-size: .79rem; letter-spacing: .12em; }
  .ev-maintenance__brand small { display: none; }
  .ev-maintenance__content { width: 100%; margin: 0; padding: 0 20px max(22px, calc(12px + env(safe-area-inset-bottom,0px))); }
  .ev-maintenance__title { font-size: clamp(2.65rem, 10vw, 4.3rem); }
  .ev-maintenance__wave { margin: 2px auto .8rem; width: 86px; }
  .ev-maintenance__description { font-size: clamp(.98rem, 4vw, 1.14rem); line-height: 1.36; }
  .ev-maintenance__sub { font-size: .92rem; margin-top: .55rem; }
  .ev-maintenance__wheel { font-size: 3rem; margin-top: .55rem; }
  .ev-maintenance__status { font-size: .75rem; margin: .3rem 0 .1rem; }
  .ev-maintenance__dots { padding: .4rem 0 .75rem; }
  .ev-maintenance__note { font-size: .71rem; padding: .55rem .7rem; max-width: 360px; width: min(100%,360px); }
  .ev-maintenance__slogan { display: none; }
}
@media (max-width: 760px) and (max-height: 730px) {
  .ev-maintenance__title { font-size: clamp(2.1rem, 8vw, 2.8rem); }
  .ev-maintenance__description { font-size: .88rem; }
  .ev-maintenance__sub { margin-top: .35rem; font-size: .85rem; }
  .ev-maintenance__wheel { margin-top: .25rem; font-size: 2.4rem; }
  .ev-maintenance__dots { padding: .2rem 0 .45rem; }
  .ev-maintenance__note { font-size: .65rem; padding: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ev-maintenance__wheel,.ev-maintenance__dots span { animation-duration: 0.01ms; animation-iteration-count: 1; }
}

/* Respect both user accessibility preferences and the SuperAdmin animation switch. */
.ev-maintenance--still .ev-maintenance__wheel,
.ev-maintenance--still .ev-maintenance__dots span {
  animation: none !important;
}
.ev-maintenance--still .ev-maintenance__dots span { opacity: .75; transform: none; }
.ev-maintenance__description { white-space: pre-line; }
.ev-maintenance__wave { filter: drop-shadow(0 0 5px rgba(212,164,64,.22)); }
