/* OPTODROP Admin Theme v3 — login */
body.od-login { position: relative; min-height: 100vh; overflow-x: hidden; }
body.od-login::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 25%, rgba(183, 240, 0, .09), transparent 28%),
    radial-gradient(circle at 84% 78%, var(--od-login-glow), transparent 30%),
    linear-gradient(var(--od-login-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--od-login-grid) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px;
  animation: od-login-drift 22s linear infinite;
}
body.od-login.od-light { --od-login-glow: rgba(0,0,0,.035); --od-login-grid: rgba(0,0,0,.025); }
body.od-login.od-dark { --od-login-glow: rgba(255,255,255,.035); --od-login-grid: rgba(255,255,255,.024); }
body.od-login #header { margin: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.od-login #header .navbar-brand { opacity: 0; pointer-events: none; }
body.od-login #content { position: relative; z-index: 1; min-height: calc(100vh - 98px); background: transparent !important; }
body.od-login #content > .container-fluid { display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 108px); padding: 32px 16px; }
body.od-login #content .row { width: 100%; }
body.od-login #content .col-sm-offset-4.col-sm-4 { animation: od-login-arrive 600ms var(--od-motion) both; }
.od-login-brand { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 auto 18px; color: var(--od-text); animation: od-login-arrive 520ms var(--od-motion) both; }
.od-login-brand span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--od-lime); color: var(--od-lime-ink); font-family: 'JetBrains Mono', monospace; font-size: 20px; font-weight: 800; box-shadow: 0 10px 28px rgba(183,240,0,.18); }
.od-login-brand strong { font-size: 16px; font-weight: 750; letter-spacing: .12em; }
body.od-login #content .panel { max-width: 430px; margin: 0 auto; border-radius: 28px !important; }
body.od-login #content .panel-heading { padding: 22px 26px !important; text-align: center; }
body.od-login #content .panel-heading .panel-title { font-size: 15px !important; }
body.od-login #content .panel-heading .panel-title .fa { display: none; }
body.od-login #content .panel-body { padding: 28px !important; }
body.od-login #content .panel-body label { color: var(--od-text-2) !important; font-size: 12px; font-weight: 600; }
body.od-login #content .panel-body .form-control { height: 46px; font-size: 14px; }
body.od-login #content .panel-body .input-group-addon { min-width: 46px; }
body.od-login #content .panel-body .btn-primary { width: 100%; min-height: 46px; margin-top: 8px; font-size: 14px; }
body.od-login #content .panel-body .help-block { margin-top: 10px; text-align: right; }
body.od-login #content .panel-body .text-right { text-align: center !important; }
body.od-login #footer { position: relative; z-index: 2; margin: 0; text-align: center; }
body.od-login-effects-off::before,
body.od-login-effects-off .od-login-brand,
body.od-login-effects-off #content .col-sm-offset-4.col-sm-4 { animation: none !important; }

@keyframes od-login-arrive {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes od-login-drift {
  from { background-position: 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 0 0, 0 0, 48px 48px, 48px 48px; }
}

@media (max-width: 767px) {
  body.od-login #content > .container-fluid { align-items: flex-start; padding-top: 8vh; }
  body.od-login #content .panel-body { padding: 22px !important; }
}
