/* Scoped overrides: other feature dialogs keep their existing layout. */
.auth-overlay.auth-overlay {
  position: fixed !important; inset: 0 !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  padding: 16px !important; box-sizing: border-box; overflow: hidden !important;
}
.auth-overlay .auth-panel {
  margin: auto !important; flex: 0 1 430px; width: min(430px, 100%) !important;
  min-width: 0 !important; max-width: 100% !important;
  max-height: calc(100dvh - 32px); padding: 28px 32px;
  overflow-x: hidden !important; overflow-y: auto !important; box-sizing: border-box;
  color-scheme: dark; scrollbar-width: thin; scrollbar-color: #24564f #07191b;
}
.auth-panel::-webkit-scrollbar { width: 5px; height: 0; }
.auth-panel::-webkit-scrollbar-thumb { background: #24564f; border-radius: 8px; }
.auth-panel::-webkit-scrollbar-track { background: #07191b; }
.auth-panel .auth-form { display: flex; flex-direction: column; gap: 12px; min-width: 0; text-align: left; }
.auth-panel .auth-form input { width: 100%; min-width: 0; box-sizing: border-box; }
.auth-panel .auth-form label { margin: 5px 0 0; text-align: left; }
.auth-panel .auth-title { margin: 18px 0 24px; }
.auth-panel .auth-form .auth-forgot-link {
  align-self: flex-end; width: auto; padding: 2px 0; margin: 0;
  border: 0; background: transparent; color: #7adac8; font-size: 13px; cursor: pointer;
}
.auth-panel .auth-form .auth-submit, .auth-human-dialog button {
  display: block; width: 100%; min-height: 46px; box-sizing: border-box;
  padding: 12px 16px; border: 1px solid #328b7c; background: #0b2926;
  color: #a0ffec; font-size: 15px; cursor: pointer; margin: 0;
}
.auth-panel .auth-form .auth-submit:hover, .auth-human-dialog button:hover { background: #123d36; }
.auth-panel button:disabled { opacity: .55; cursor: wait; }
.auth-panel .auth-code-row { display: flex; gap: 10px; min-width: 0; align-items: stretch; }
.auth-panel .auth-code-row input { flex: 1; width: 0; }
.auth-panel .auth-code-send { flex: 0 0 auto; padding: 10px; border: 1px solid #328b7c; background: #0b2926; color: #a0ffec; font-size: 13px; cursor: pointer; }
.auth-panel .auth-hint, .auth-panel .auth-help { font-size: 12px; color: #91aaa5; line-height: 1.6; text-align: left; }
.auth-panel .auth-help summary { cursor: pointer; color: #7adac8; }
.auth-panel .auth-help p { margin: 7px 0 0; }
.auth-panel .auth-message { text-align: left; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.auth-human-overlay { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; background: #000b; padding: 16px; box-sizing: border-box; }
.auth-human-dialog { width: min(380px, 100%); box-sizing: border-box; padding: 24px; background: #07191b; border: 1px solid #328b7c; color: #b7ece2; box-shadow: 0 12px 60px #0008; max-height: calc(100dvh - 32px); overflow-y: auto; color-scheme: dark; }
.auth-human-dialog h2 { font-size: 18px; margin: 0 0 8px; }
.auth-human-dialog p { font-size: 13px; color: #91aaa5; margin: 0 0 18px; }
.auth-human-dialog button { margin-top: 18px; }
.auth-human-dialog altcha-widget { display: block; width: 100%; --altcha-color-base: #07191b; --altcha-color-text: #b7ece2; --altcha-color-border: #328b7c; }
@media (max-width: 480px) { .auth-overlay .auth-panel { padding: 24px 20px; } }
