/* Public authentication overlays – isolated from legacy hero/login rules. */
#heroLoginOverlay[hidden],#heroRegisterOverlay[hidden]{display:none!important}
#heroLoginOverlay,#heroRegisterOverlay{isolation:isolate!important;position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:32px!important;box-sizing:border-box!important;background:rgba(2,7,17,.80)!important;backdrop-filter:blur(18px) saturate(110%)!important;-webkit-backdrop-filter:blur(18px) saturate(110%)!important}
#heroLoginDialog,#heroRegisterDialog{opacity:0!important;transform:translateY(14px) scale(.985)!important;transition:opacity .18s ease,transform .18s ease!important;position:relative!important;box-sizing:border-box!important;margin:0!important;overflow:auto!important;border:1px solid rgba(151,175,214,.30)!important;border-radius:26px!important;background:linear-gradient(150deg,#101a2a 0%,#111c30 54%,#151a31 100%)!important;box-shadow:0 34px 110px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.07)!important;color:#f8fbff!important}
#heroLoginDialog{width:min(720px,calc(100vw - 64px))!important;max-width:720px!important;max-height:calc(100vh - 64px)!important}
#heroRegisterDialog{width:min(980px,calc(100vw - 64px))!important;max-width:980px!important;max-height:calc(100vh - 64px)!important}
#heroLoginDialog.is-visible,#heroRegisterDialog.is-visible{opacity:1!important;transform:translateY(0) scale(1)!important}
#heroLoginDialog *,#heroRegisterDialog *{box-sizing:border-box!important}

.hero-auth-dialog-head,.hero-register-dialog-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:24px!important;padding:32px 34px 24px!important;border-bottom:1px solid rgba(174,194,226,.14)!important}
.hero-auth-dialog-copy,.hero-register-dialog-copy{min-width:0!important}
.hero-auth-kicker,.hero-register-kicker{display:block!important;margin:0 0 8px!important;color:#9fd7ff!important;font-size:.78rem!important;font-weight:850!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.hero-auth-dialog-head h2,.hero-register-dialog-head h2{margin:0!important;color:#fff!important;font-size:2rem!important;line-height:1.08!important;letter-spacing:-.03em!important}
.hero-auth-dialog-head p,.hero-register-dialog-head p{margin:10px 0 0!important;max-width:680px!important;color:#c3cfdf!important;font-size:1rem!important;line-height:1.55!important}
#heroLoginClose,#heroRegisterClose{flex:0 0 44px!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;border:1px solid rgba(185,205,234,.24)!important;border-radius:13px!important;background:#1b2940!important;color:#fff!important;font:inherit!important;font-size:1.6rem!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;transform:none!important}
#heroLoginClose:hover,#heroRegisterClose:hover{background:#263953!important;border-color:rgba(170,210,255,.45)!important}

.hero-auth-dialog-body{padding:28px 34px 34px!important}
.hero-auth-switch-modal{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin:0 0 24px!important;padding:6px!important;border:1px solid rgba(180,199,226,.18)!important;border-radius:15px!important;background:#0c1524!important}
.hero-auth-switch-modal .hero-auth-switch-btn{height:48px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#afbed0!important;font-size:.98rem!important;font-weight:760!important;cursor:pointer!important}
.hero-auth-switch-modal .hero-auth-switch-btn.is-active{background:#233650!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(171,205,245,.14)!important}

.hero-login-modal-form,.hero-reset-form{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important}
.hero-login-modal-form>label,.hero-reset-form>label,.hero-login-modal-form .hero-login-setup-field label{display:block!important;margin:0!important;color:#edf4fc!important;font-size:.9rem!important;font-weight:750!important;line-height:1.35!important}
.hero-login-modal-form input:not([type="checkbox"]),.hero-reset-form input:not([type="checkbox"]){width:100%!important;height:56px!important;min-height:56px!important;margin:0 0 5px!important;padding:0 16px!important;border:1px solid rgba(176,198,229,.28)!important;border-radius:13px!important;outline:0!important;background:#0b1423!important;color:#fff!important;font:inherit!important;font-size:1rem!important;line-height:56px!important;box-shadow:none!important;transform:none!important}
.hero-login-modal-form input::placeholder,.hero-reset-form input::placeholder{color:#8091a7!important;opacity:1!important}
.hero-login-modal-form input:focus,.hero-reset-form input:focus{border-color:#78bfff!important;background:#0e192b!important;box-shadow:0 0 0 3px rgba(106,178,255,.13)!important}
.hero-password-label-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin-top:2px!important}
.hero-password-label-row label{color:#edf4fc!important;font-size:.9rem!important;font-weight:750!important}
#heroForgotPassword,.hero-auth-back{margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#9fd7ff!important;font:inherit!important;font-size:.86rem!important;font-weight:700!important;cursor:pointer!important;text-decoration:none!important}
#heroForgotPassword:hover,.hero-auth-back:hover{color:#fff!important;text-decoration:underline!important}
.hero-login-options-modal{display:flex!important;align-items:center!important;gap:24px!important;flex-wrap:wrap!important;margin:4px 0 6px!important}
.hero-login-options-modal label,.hero-reset-toggle{display:inline-flex!important;align-items:center!important;gap:9px!important;color:#c3cfdf!important;font-size:.88rem!important;font-weight:600!important;cursor:pointer!important}
.hero-login-options-modal input[type="checkbox"],.hero-reset-toggle input[type="checkbox"]{width:18px!important;height:18px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:#75b8ff!important}
.hero-login-modal-submit{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:56px!important;margin:7px 0 0!important;padding:0 18px!important;border:1px solid #6eb7ff!important;border-radius:13px!important;background:#2d6fab!important;color:#fff!important;font:inherit!important;font-size:1rem!important;font-weight:820!important;cursor:pointer!important;box-shadow:0 14px 30px rgba(26,83,138,.28)!important;transform:none!important}
.hero-login-modal-submit:hover{background:#397fbd!important;transform:translateY(-1px)!important}.hero-login-modal-submit:disabled{opacity:.65!important;cursor:wait!important;transform:none!important}
.hero-login-message{min-height:20px!important;margin:2px 0 0!important;padding:0!important;color:#ffb5c0!important;font-size:.88rem!important;line-height:1.45!important}.hero-login-message.is-success{color:#8ee7bc!important}.hero-login-message.is-error{color:#ffb5c0!important}
.hero-login-setup-field{display:grid!important;gap:8px!important}.hero-login-setup-field[hidden]{display:none!important}
.hero-reset-form h3{margin:0 0 4px!important;color:#fff!important;font-size:1.45rem!important}.hero-reset-form>p:not(.hero-login-message){margin:0 0 14px!important;color:#c3cfdf!important;font-size:.96rem!important;line-height:1.55!important}.hero-auth-back{justify-self:start!important;margin-bottom:6px!important}

#heroRegisterForm{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px 22px!important;padding:30px 34px 34px!important;margin:0!important;width:100%!important;max-width:none!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important}
.hero-register-pilot-notice{grid-column:1/-1!important;display:grid!important;gap:5px!important;padding:14px 16px!important;border:1px solid rgba(96,165,250,.35)!important;border-radius:14px!important;background:rgba(37,99,235,.10)!important;color:#cfe7ff!important;line-height:1.5!important}.hero-register-pilot-notice strong{color:#fff!important;font-size:.94rem!important}.hero-register-pilot-notice span{font-size:.86rem!important;color:#b8c9dd!important}
#heroRegisterForm .hero-register-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important;margin:0!important;padding:0!important}
#heroRegisterForm label{display:block!important;margin:0!important;padding:0!important;color:#edf4fc!important;font-size:.9rem!important;font-weight:750!important;line-height:1.35!important}
#heroRegisterForm input:not([type="checkbox"]),#heroRegisterForm select{display:block!important;width:100%!important;max-width:none!important;height:56px!important;min-height:56px!important;margin:0!important;padding:0 16px!important;border:1px solid rgba(176,198,229,.28)!important;border-radius:13px!important;outline:0!important;background:#0b1423!important;color:#fff!important;font:inherit!important;font-size:1rem!important;line-height:56px!important;box-shadow:none!important;transform:none!important}
#heroRegisterForm input::placeholder{color:#8091a7!important;opacity:1!important}#heroRegisterForm input:focus,#heroRegisterForm select:focus{border-color:#78bfff!important;background:#0e192b!important;box-shadow:0 0 0 3px rgba(106,178,255,.13)!important}#heroRegisterForm select option{background:#101a2a!important;color:#fff!important}
#heroRegisterForm .hero-register-meta{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:26px!important;flex-wrap:wrap!important;margin:3px 0 0!important;padding:0!important}.hero-register-check{display:inline-flex!important;align-items:flex-start!important;gap:9px!important;color:#c3cfdf!important;font-size:.88rem!important;font-weight:600!important;cursor:pointer!important}.hero-register-check input[type="checkbox"]{width:18px!important;height:18px!important;min-height:0!important;margin:2px 0 0!important;padding:0!important;accent-color:#75b8ff!important;box-shadow:none!important}.hero-register-pilot-terms{grid-column:1/-1!important;padding:12px 14px!important;border:1px solid rgba(148,163,184,.18)!important;border-radius:12px!important;background:rgba(15,23,42,.46)!important;line-height:1.5!important}.hero-register-pilot-terms a{color:#9fd7ff!important;text-decoration:underline!important;text-underline-offset:2px!important}
#heroRegisterSubmit{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:58px!important;margin:3px 0 0!important;padding:10px 20px!important;border:1px solid #6eb7ff!important;border-radius:13px!important;background:#2d6fab!important;color:#fff!important;font:inherit!important;font-size:1rem!important;font-weight:820!important;cursor:pointer!important;box-shadow:0 14px 30px rgba(26,83,138,.28)!important;transform:none!important}#heroRegisterSubmit:hover{background:#397fbd!important;transform:translateY(-1px)!important}#heroRegisterSubmit:disabled{opacity:.65!important;cursor:wait!important;transform:none!important}
#heroRegisterMessage{grid-column:1/-1!important;min-height:20px!important;margin:-1px 0 0!important;padding:0!important;color:#ffb5c0!important;font-size:.88rem!important;line-height:1.45!important}#heroRegisterMessage.is-success{color:#8ee7bc!important}.hero-register-security{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin:0!important;color:#a7b6c9!important;font-size:.8rem!important}.hero-register-security span{color:#79d5a9!important;font-size:.58rem!important}
body.dervono-register-open,body.dervono-auth-open{overflow:hidden!important}

.dervono-pilot-notice{display:grid;gap:4px;margin:16px 0 4px;padding:13px 15px;border:1px solid rgba(96,165,250,.38);border-radius:14px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(14,165,233,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);font-size:.9rem;line-height:1.5}.dervono-pilot-notice strong{color:#dbeafe;font-size:.9rem;letter-spacing:.01em}.dervono-pilot-notice span{color:#aebed3}
.hero h1{overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
#heroLoginDialog :focus-visible,#heroRegisterDialog :focus-visible{outline:2px solid #93c5fd!important;outline-offset:2px!important}

@media(max-width:760px){
  #heroLoginOverlay,#heroRegisterOverlay{padding:12px!important;align-items:center!important}
  #heroLoginDialog,#heroRegisterDialog{width:100%!important;max-width:540px!important;max-height:calc(100vh - 24px)!important;border-radius:20px!important}
  .hero-auth-dialog-head,.hero-register-dialog-head{padding:22px 20px 18px!important;gap:14px!important}
  .hero-auth-dialog-head h2,.hero-register-dialog-head h2{font-size:1.55rem!important}.hero-auth-dialog-head p,.hero-register-dialog-head p{font-size:.9rem!important}
  #heroLoginClose,#heroRegisterClose{width:38px!important;height:38px!important;flex-basis:38px!important}
  .hero-auth-dialog-body{padding:20px!important}
  #heroRegisterForm{grid-template-columns:1fr!important;gap:13px!important;padding:20px!important}
  .hero-register-pilot-notice,#heroRegisterForm .hero-register-meta,.hero-register-pilot-terms,#heroRegisterSubmit,#heroRegisterMessage,.hero-register-security{grid-column:1!important}
  #heroRegisterForm input:not([type="checkbox"]),#heroRegisterForm select,.hero-login-modal-form input:not([type="checkbox"]),.hero-reset-form input:not([type="checkbox"]){height:50px!important;min-height:50px!important;line-height:50px!important;font-size:.96rem!important}
  .hero-login-modal-submit,#heroRegisterSubmit{min-height:52px!important}
  .dervono-pilot-notice{font-size:.84rem;padding:12px 13px}
}

/* 18.6.9: hidden auth views must stay hidden even when layout rules use !important */
#heroLoginModal [hidden]{display:none!important}
/* 18.6.10: hidden state must always beat legacy modal display rules. */
#heroLoginDialog [hidden]{display:none!important}
