/* PitBoxOS Cloud sign-in theme.
   Loaded only by app.pitboxos.com through the deployment-owned Nginx layer.
   Keep the shared venue-local login untouched. */

.login-view:has(.cl-rootBox) {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
  grid-template-rows: auto 1fr auto;
  align-items: center;
  column-gap: clamp(48px, 7vw, 120px);
  row-gap: 22px;
  width: 100%;
  min-height: 100vh;
  padding: clamp(40px, 6vw, 96px);
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 18%, #171717 0, #0b0b0b 30%, #050505 64%),
    #050505;
  color: #ffffff;
}

.login-view:has(.cl-rootBox)::before {
  content: 'PITBOXOS';
  position: absolute;
  z-index: -1;
  left: clamp(-18px, 1vw, 18px);
  bottom: -0.18em;
  color: #0b0b0b;
  font-family: 'Arial Narrow', 'Segoe UI', sans-serif;
  font-size: clamp(110px, 19vw, 310px);
  font-weight: 950;
  letter-spacing: -0.075em;
  line-height: 0.8;
  pointer-events: none;
  user-select: none;
}

.login-view:has(.cl-rootBox)::after {
  content: 'AUTHORIZED VENUE ACCESS  /  PITBOXOS CLOUD';
  position: absolute;
  left: clamp(40px, 6vw, 96px);
  bottom: 30px;
  color: #666666;
  font-family: 'Cascadia Mono', 'Consolas', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  pointer-events: none;
}

.login-view:has(.cl-rootBox) > h1 {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  width: min(680px, 100%);
  margin: 0;
  font-size: 0;
  line-height: 1;
  letter-spacing: -0.04em;
}

.login-view:has(.cl-rootBox) > h1::before {
  content: 'PITBOXOS  /  SECURE ACCESS';
  display: block;
  margin-bottom: 22px;
  color: #ff0000;
  font-family: 'Cascadia Mono', 'Consolas', monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.login-view:has(.cl-rootBox) > h1::after {
  content: 'Your PitBoxOS software. Protected.';
  display: block;
  max-width: 680px;
  color: #ffffff;
  font-family: 'Arial Narrow', 'Segoe UI', sans-serif;
  font-size: clamp(46px, 5.3vw, 78px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.login-view:has(.cl-rootBox) > p {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  width: min(580px, 100%);
  margin: 0;
  padding-top: 4px;
  font-size: 0;
}

.login-view:has(.cl-rootBox) > p::before {
  content: 'Sign in to access approved Control Center and Spotter installers.';
  display: block;
  color: #d8d8d8;
  font-family: 'Segoe UI', sans-serif;
  font-size: clamp(17px, 1.45vw, 21px);
  font-weight: 500;
  line-height: 1.55;
}

.login-view:has(.cl-rootBox) > p::after {
  content: 'Installer files are never served anonymously. Venue control stays LAN-first and locally authoritative.';
  display: block;
  max-width: 530px;
  margin-top: 18px;
  padding-left: 16px;
  border-left: 2px solid #ff0000;
  color: #8f8f8f;
  font-family: 'Segoe UI', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
}

.login-view:has(.cl-rootBox) > .cl-rootBox {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  width: 100%;
  max-width: 440px;
  z-index: 1;
}

.login-view:has(.cl-rootBox) .cl-cardBox,
.login-view:has(.cl-rootBox) .cl-card {
  width: 100% !important;
  max-width: none !important;
}

.login-view:has(.cl-rootBox) .cl-cardBox {
  box-shadow: 0 34px 90px rgb(0 0 0 / 62%) !important;
}

.login-view:has(.cl-rootBox) .cl-card {
  overflow: hidden;
  border: 1px solid #2d2d2d !important;
  border-top: 3px solid #ff0000 !important;
  border-radius: 12px !important;
  background: #0d0d0d !important;
  color: #ffffff !important;
}

.login-view:has(.cl-rootBox) .cl-headerTitle,
.login-view:has(.cl-rootBox) .cl-formFieldLabel,
.login-view:has(.cl-rootBox) .cl-identityPreviewText,
.login-view:has(.cl-rootBox) .cl-formFieldInput,
.login-view:has(.cl-rootBox) .cl-socialButtonsBlockButtonText {
  color: #ffffff !important;
}

.login-view:has(.cl-rootBox) .cl-headerTitle {
  font-family: 'Arial Narrow', 'Segoe UI', sans-serif !important;
  font-size: 25px !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
}

.login-view:has(.cl-rootBox) .cl-headerSubtitle,
.login-view:has(.cl-rootBox) .cl-dividerText,
.login-view:has(.cl-rootBox) .cl-footerActionText,
.login-view:has(.cl-rootBox) .cl-formFieldHintText,
.login-view:has(.cl-rootBox) .cl-identityPreviewSecondaryIdentifier {
  color: #8f8f8f !important;
}

.login-view:has(.cl-rootBox) .cl-socialButtonsBlockButton,
.login-view:has(.cl-rootBox) .cl-formFieldInput,
.login-view:has(.cl-rootBox) .cl-identityPreview {
  border-color: #333333 !important;
  background: #151515 !important;
  box-shadow: none !important;
}

.login-view:has(.cl-rootBox) .cl-socialButtonsBlockButton:hover,
.login-view:has(.cl-rootBox) .cl-formFieldInput:hover {
  border-color: #4a4a4a !important;
  background: #191919 !important;
}

.login-view:has(.cl-rootBox) .cl-formFieldInput:focus {
  border-color: #ff0000 !important;
  box-shadow: 0 0 0 1px #ff0000 !important;
}

.login-view:has(.cl-rootBox) .cl-formButtonPrimary {
  border: 1px solid #ff0000 !important;
  background: #ff0000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.login-view:has(.cl-rootBox) .cl-formButtonPrimary:hover {
  border-color: #ffffff !important;
  background: #ff0000 !important;
}

.login-view:has(.cl-rootBox) .cl-dividerLine {
  background: #2b2b2b !important;
}

.login-view:has(.cl-rootBox) .cl-footer {
  border-top: 1px solid #222222 !important;
  background: #0a0a0a !important;
}

.login-view:has(.cl-rootBox) .cl-footerActionLink,
.login-view:has(.cl-rootBox) .cl-formFieldAction,
.login-view:has(.cl-rootBox) .cl-formResendCodeLink,
.login-view:has(.cl-rootBox) .cl-identityPreviewEditButton {
  color: #ff0000 !important;
}

.login-view:has(.cl-rootBox) .cl-footerPages,
.login-view:has(.cl-rootBox) .cl-internal-b3fm6y {
  color: #707070 !important;
}

@media (max-width: 900px) {
  .login-view:has(.cl-rootBox) {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 26px;
    align-content: center;
    padding: 40px 22px 72px;
  }

  .login-view:has(.cl-rootBox) > h1,
  .login-view:has(.cl-rootBox) > p,
  .login-view:has(.cl-rootBox) > .cl-rootBox {
    grid-column: 1;
    width: min(100%, 520px);
    margin-inline: auto;
  }

  .login-view:has(.cl-rootBox) > h1 { grid-row: 1; }
  .login-view:has(.cl-rootBox) > p { grid-row: 2; }
  .login-view:has(.cl-rootBox) > .cl-rootBox { grid-row: 3; }

  .login-view:has(.cl-rootBox) > h1::after {
    font-size: clamp(38px, 10vw, 56px);
  }

  .login-view:has(.cl-rootBox)::before {
    left: -18px;
    bottom: -0.08em;
    font-size: 34vw;
  }

  .login-view:has(.cl-rootBox)::after {
    left: 22px;
    bottom: 20px;
    font-size: 8px;
  }
}

@media (max-width: 520px) {
  .login-view:has(.cl-rootBox) {
    padding-inline: 16px;
  }

  .login-view:has(.cl-rootBox) > h1::before {
    margin-bottom: 14px;
  }

  .login-view:has(.cl-rootBox) > p::before {
    font-size: 16px;
  }

  .login-view:has(.cl-rootBox) .cl-card {
    border-radius: 9px !important;
  }
}
