/* Existing login dialog styles, scoped to avoid changing tool layouts. */
:is(#authModal,#authVerificationModal).auth-modal {
  position: fixed;
  inset: 0;
  
  z-index: 900;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  place-items: center;
  height: 100vh;
  height: 100dvh;
  padding: 18px;
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
}
:is(#authModal,#authVerificationModal).auth-modal > .panel {
  min-height: 0;
  max-height: 100%;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 56px 20px;
}
:is(#authModal,#authVerificationModal).auth-modal > .panel > .modal-close {
  position: sticky;
  top: 0;
  right: 0;
  z-index: 5;
  float: right;
  width: 44px;
  height: 44px;
  margin: 0 0 -44px;
  flex-shrink: 0;
}
:is(#authModal,#authVerificationModal).auth-modal > .panel > .panel-title {
  padding-right: 52px;
}
:is(#authModal,#authVerificationModal).auth-modal > .panel > .modal-close-bar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  justify-content: flex-end;
  min-height: 44px;
  padding-bottom: 12px;
  background: var(--panel);
}
:is(#authModal,#authVerificationModal) .modal-close-bar > .modal-close {
  position: static;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0;
}
:is(#authModal,#authVerificationModal).auth-modal > .panel > .modal-close-bar ~ .panel-title {
  padding-right: 0;
}
:is(#authModal,#authVerificationModal) .modal-close-bar:has(> .modal-close.hidden) {
  display: none;
}
:is(#authModal,#authVerificationModal).security-verification-modal {
  z-index: 950;
}
:is(#authModal,#authVerificationModal) .auth-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 22, 31, 0.42);
}
:is(#authModal,#authVerificationModal) .auth-card {
  position: relative;
  z-index: 1;
  width: min(480px, 100%);
  min-height: auto;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
}
:is(#authModal,#authVerificationModal).security-verification-modal .auth-card:focus {
  outline: none;
}
:is(#authModal,#authVerificationModal) .auth-verification-retry {
  width: 100%;
  height: 42px;
}
:is(#authModal,#authVerificationModal) .auth-brand-lockup {
  width: 96px;
  height: 96px;
  display: block;
  margin: 0 auto 12px;
  object-fit: contain;
}
:is(#authModal,#authVerificationModal) .auth-intro {
  margin: -6px 34px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
:is(#authModal,#authVerificationModal) .auth-provider-section {
  display: grid;
  gap: 10px;
}
:is(#authModal,#authVerificationModal) .google-button-host,:is(#authModal,#authVerificationModal) .google-button-placeholder {
  width: 100%;
  min-height: 44px;
}
:is(#authModal,#authVerificationModal) .google-button-host {
  display: grid;
  place-items: center;
  overflow: hidden;
}
:is(#authModal,#authVerificationModal) .google-button-host > div,:is(#authModal,#authVerificationModal) .google-button-host iframe {
  max-width: 100%;
}
:is(#authModal,#authVerificationModal) .google-button-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--text);
  font: inherit;
  font-weight: 700;
}
:is(#authModal,#authVerificationModal) .google-button-placeholder:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}
:is(#authModal,#authVerificationModal) .google-mark {
  color: #4285f4;
  font-size: 19px;
  font-weight: 800;
}
:is(#authModal,#authVerificationModal) .auth-divider {
  display: grid;
  grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
}
:is(#authModal,#authVerificationModal) .auth-divider::before,:is(#authModal,#authVerificationModal) .auth-divider::after {
  height: 1px;
  background: var(--line);
  content: "";
}
:is(#authModal,#authVerificationModal) .email-sent-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7faf9;
  color: var(--muted);
  font-size: 13px;
}
:is(#authModal,#authVerificationModal) .email-sent-summary span {
  min-width: 0;
  overflow-wrap: anywhere;
}
:is(#authModal,#authVerificationModal) .text-action {
  flex: 0 0 auto;
  border: 0;
  padding: 4px;
  background: transparent;
  color: #9d3358;
  cursor: pointer;
  font-weight: 700;
}
:is(#authModal,#authVerificationModal) .auth-resend {
  width: 100%;
  height: 42px;
}


:is(#authModal,#authVerificationModal){--panel:var(--pd-card,#fff);--line:var(--pd-line,#e7e0e8);--text:var(--pd-ink,#26323d);--muted:var(--pd-muted,#65737b);color:var(--text);font-family:inherit;}
:is(#authModal,#authVerificationModal).hidden,:is(#authModal,#authVerificationModal) .hidden{display:none!important;}
:is(#authModal,#authVerificationModal) .panel{box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;}
:is(#authModal,#authVerificationModal) .panel-title{font-size:20px;font-weight:750;margin:0 0 18px;}
:is(#authModal,#authVerificationModal) .form{display:grid;gap:14px;margin-top:20px;}
:is(#authModal,#authVerificationModal) label:not(.legal-consent){display:grid;gap:8px;font-size:14px;}
:is(#authModal,#authVerificationModal) input:not([type=checkbox]){box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;}
:is(#authModal,#authVerificationModal) .legal-consent{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.7;}
:is(#authModal,#authVerificationModal) .legal-consent input{margin-top:5px;flex-shrink:0;accent-color:#b44d72;}
:is(#authModal,#authVerificationModal) a{color:#b44d72;}
:is(#authModal,#authVerificationModal) button{font:inherit;cursor:pointer;}
:is(#authModal,#authVerificationModal) .primary{border:1px solid #b44d72;border-radius:8px;padding:12px;background:#b44d72;color:#fff;font-weight:700;}
:is(#authModal,#authVerificationModal) .ghost{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);}
:is(#authModal,#authVerificationModal) .modal-close{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:24px;}
:is(#authModal,#authVerificationModal) .message{font-size:13px;line-height:1.7;overflow-wrap:anywhere;}
:is(#authModal,#authVerificationModal) .message.error{color:#bf3852;}
:is(#authModal,#authVerificationModal) .message.ok{color:#368271;}
:is(#authModal,#authVerificationModal) .hint{color:var(--muted);font-size:12px;line-height:1.7;}
:is(#authModal,#authVerificationModal) .email-sent-summary{background:var(--panel);}
body.modal-open{overflow:hidden;}
