/* Standalone auth surfaces only. No Tailwind runtime, reset or global SaaS rules. */
.auth-entry-page {
  --auth-ink: #0a4f7d;
  --auth-accent: #00aeef;
  --auth-text: #334155;
  --auth-muted: #64748b;
  --auth-border: var(--av-border,#cbd5e1);
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--av-subtle,#f1f5f9);
  color: var(--auth-text);
  font-family: var(--av-font-sans,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: var(--av-text-input,1rem);
  line-height: var(--av-leading-input,1.5);
}
.auth-entry-page *, .auth-entry-page *::before, .auth-entry-page *::after { box-sizing: border-box; }
.auth-entry-page [hidden] { display: none !important; }
.auth-entry-page :is(h1, h2, p) { margin: 0; }
.auth-entry-page :is(button, input) { font: inherit; }
.auth-entry-page button { cursor: pointer; }
.auth-entry-page button:disabled { cursor: not-allowed; }
.auth-entry-page a { color: var(--auth-ink); text-underline-offset: .18em; }
.auth-entry-page :is(a, button, input, [tabindex]):focus-visible,
.auth-entry-page :is(.auth-entry-alert, #aqCookieModalTitle):focus {
  outline: 3px solid var(--auth-ink);
  outline-offset: 3px;
}
.auth-entry-page :is(input, button, a) { scroll-margin-block: 1.5rem; }
.auth-entry-page .auth-entry-main {
  flex: 1 0 auto;
  width: 100%;
  display: grid;
  place-items: center;
  padding: 2rem 1rem;
}
.auth-entry-page .auth-entry-card {
  width: 100%;
  max-width: 28rem;
  min-width: 0;
  padding: 2rem;
  border: 1px solid var(--av-border,#e2e8f0);
  border-radius: 1rem;
  background: var(--av-surface,#fff);
  box-shadow: 0 18px 35px -20px rgb(15 23 42 / 35%);
}
.auth-entry-page .auth-entry-brand { display: flex; flex-direction: column; align-items: center; margin-bottom: 1.5rem; }
.auth-entry-page .auth-entry-logo { display: block; height: 3rem; max-width: 100%; width: auto; margin-bottom: .5rem; }
.auth-entry-page .auth-entry-wordmark { font-size: var(--av-text-title,1.5rem); line-height: 2rem; font-weight: var(--av-weight-heading,700); }
.auth-entry-page .auth-entry-brand-aqua { color: var(--auth-ink); }
.auth-entry-page .auth-entry-brand-verify { color: var(--auth-accent); }
.auth-entry-page .auth-entry-intro { margin-bottom: 1.5rem; text-align: center; overflow-wrap: anywhere; }
.auth-entry-page .auth-entry-intro h1 { font-size: var(--av-text-title,1.25rem); line-height: var(--av-leading-heading,1.4); font-weight: var(--av-weight-heading,700); }
.auth-entry-page .auth-entry-step { margin-bottom: .5rem; color: var(--auth-ink); font-size: var(--av-text-small,.75rem); font-weight: var(--av-weight-heading,600); }
.auth-entry-page .auth-entry-help { margin-top: .5rem; color: var(--auth-muted); font-size: var(--av-text-body,.875rem); }
.auth-entry-page .auth-entry-note { display: block; margin-top: .5rem; }
.auth-entry-page .auth-entry-form { display: grid; gap: 1rem; }
.auth-entry-page .auth-entry-form > * { min-width: 0; }
.auth-entry-page .auth-entry-label { display: block; margin-bottom: .35rem; font-size: var(--av-text-small,.8125rem); font-weight: var(--av-weight-strong,700); }
.auth-entry-page .auth-entry-input {
  width: 100%;
  min-height: 2.875rem;
  padding: .65rem .75rem;
  border: 1px solid var(--auth-border);
  border-radius: .5rem;
  background: var(--av-surface,#fff);
  color: var(--av-text,#0f172a);
}
.auth-entry-page .auth-entry-input::placeholder { color: var(--auth-muted); opacity: 1; }
.auth-entry-page .auth-entry-input:focus { border-color: var(--auth-ink); }
.auth-entry-page .auth-entry-field-help { margin-top: .5rem; font-size: var(--av-text-small,.75rem); color: var(--auth-muted); }
.auth-entry-page .auth-entry-legal { font-size: var(--av-text-small,.75rem); line-height: var(--av-leading-meta,1.65); color: var(--av-muted,#475569); overflow-wrap: anywhere; }
.auth-entry-page .auth-entry-alert { padding: .85rem; margin-bottom: 1.5rem; border: 1px solid; border-radius: .5rem; font-size: var(--av-text-body,.875rem); overflow-wrap: anywhere; }
.auth-entry-page .auth-entry-alert-error { color: #991b1b; background: #fef2f2; border-color: #fecaca; }
.auth-entry-page .auth-entry-alert-notice { color: #78350f; background: #fffbeb; border-color: #fcd34d; }
.auth-entry-page .auth-entry-button {
  width: 100%;
  min-height: 2.875rem;
  padding: .7rem 1rem;
  border: 1px solid var(--auth-ink);
  border-radius: .5rem;
  font-weight: var(--av-weight-strong,700);
  font-size: var(--av-text-ui,.875rem);
  overflow-wrap: anywhere;
  transition: background-color .15s ease;
}
.auth-entry-page .auth-entry-button-primary { color: #fff; background: var(--auth-ink); }
.auth-entry-page .auth-entry-button-primary:hover:not(:disabled) { background: #073b60; }
.auth-entry-page .auth-entry-button-secondary { color: var(--auth-ink); background: var(--av-surface,#fff); }
.auth-entry-page .auth-entry-button-secondary:hover:not(:disabled) { background: #f0f9ff; }
.auth-entry-page .auth-entry-button:disabled { color: var(--av-muted,#475569); background: var(--av-subtle,#e2e8f0); border-color: var(--av-border,#cbd5e1); box-shadow: none; }
.auth-entry-page .auth-entry-divider { display: flex; align-items: center; gap: .75rem; margin: 1.5rem 0; color: var(--auth-muted); font-size: var(--av-text-small,.75rem); text-align: center; }
.auth-entry-page .auth-entry-divider::before, .auth-entry-page .auth-entry-divider::after { content: ""; flex: 1; border-top: 1px solid var(--av-border,#e2e8f0); }
.auth-entry-page .auth-entry-providers { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.auth-entry-page .auth-entry-providers-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-entry-page .auth-entry-provider { display: flex; align-items: center; justify-content: center; gap: .5rem; min-width: 0; min-height: 2.875rem; padding: .6rem .65rem; border: 1px solid var(--auth-border); border-radius: .5rem; color: var(--auth-text); background: var(--av-surface,#fff); font-size: var(--av-text-body,.875rem); font-weight: var(--av-weight-heading,600); text-decoration: none; overflow-wrap: anywhere; }
.auth-entry-page .auth-entry-provider:hover { background: var(--av-canvas,#f8fafc); }
.auth-entry-page .auth-entry-provider svg { display: block; width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; }
.auth-entry-page .auth-entry-social-note { margin-top: 1rem; text-align: center; color: var(--auth-muted); font-size: var(--av-text-small,.75rem); }
.auth-entry-page .auth-entry-navigation { margin-top: 1.5rem; text-align: center; font-size: var(--av-text-body,.875rem); }
.auth-entry-page .auth-entry-navigation a { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; min-height: 2.75rem; font-weight: var(--av-weight-heading,600); }
.auth-entry-page .auth-entry-languages { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--av-border,#e2e8f0); }
.auth-entry-page .auth-entry-language { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .25rem; font-size: var(--av-text-section,1.25rem); text-decoration: none; border-radius: .375rem; }
.auth-entry-page .auth-entry-language:hover { background: #f0f9ff; }

/* Both cookie entry points occupy real document space, never the form area. */
.auth-entry-page .auth-entry-cookies { width: 100%; max-width: 64rem; margin: 0 auto; padding: 0 1rem 1.5rem; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); text-align: center; }
.auth-entry-page .auth-cookie-manage { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; max-width: 100%; padding: .6rem 1rem; border: 1px solid var(--auth-border); border-radius: 2rem; color: var(--auth-ink); background: var(--av-surface,#fff); font-size: var(--av-text-small,.8125rem); font-weight: var(--av-weight-heading,600); overflow-wrap: anywhere; }
.auth-entry-page .auth-cookie-manage:hover { background: #f0f9ff; }
.auth-entry-page .auth-cookie-banner { display: grid; grid-template-columns: minmax(0, 1fr) 14rem; gap: 1.5rem; padding: 1.5rem; border: 1px solid #334155; border-radius: 1.25rem; background: #0f172a; color: #fff; text-align: left; }
.auth-entry-page .auth-cookie-banner-copy { min-width: 0; overflow-wrap: anywhere; }
.auth-entry-page .auth-cookie-eyebrow { font-size: var(--av-text-small,.75rem); font-weight: var(--av-weight-strong,700); color: #0e7490; }
.auth-entry-page .auth-cookie-banner .auth-cookie-eyebrow { color: #a5f3fc; }
.auth-entry-page .auth-cookie-banner h2 { margin-top: .4rem; font-size: var(--av-text-section,1.125rem); line-height: var(--av-leading-heading,1.4); }
.auth-entry-page .auth-cookie-banner-copy > p:not(.auth-cookie-eyebrow) { margin-top: .5rem; font-size: var(--av-text-body,.875rem); color: #cbd5e1; }
.auth-entry-page .auth-cookie-banner a { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: .35rem; color: #a5f3fc; font-size: var(--av-text-small,.8125rem); font-weight: var(--av-weight-heading,600); }
.auth-entry-page .auth-cookie-banner-actions { display: grid; gap: .5rem; align-content: center; }
.auth-entry-page .auth-cookie-button { min-height: 2.75rem; max-width: 100%; padding: .65rem 1rem; border: 1px solid var(--auth-border); border-radius: .625rem; font-size: var(--av-text-ui,.8125rem); font-weight: var(--av-weight-strong,700); overflow-wrap: anywhere; }
.auth-entry-page .auth-cookie-button-primary { background: #22d3ee; border-color: #22d3ee; color: var(--av-text,#0f172a); }
.auth-entry-page .auth-cookie-button-primary:hover { background: #67e8f9; }
.auth-entry-page .auth-cookie-button-secondary { background: var(--av-surface,#fff); color: var(--auth-text); }
.auth-entry-page .auth-cookie-button-secondary:hover { background: var(--av-subtle,#f1f5f9); }
.auth-entry-page .auth-cookie-banner .auth-cookie-button-secondary { border-color: #64748b; background: #1e293b; color: #fff; }
.auth-entry-page .auth-cookie-banner .auth-cookie-button-secondary:hover { background: #334155; }
.auth-entry-page .auth-cookie-banner :is(button, a):focus-visible { outline-color: #a5f3fc; }
.auth-entry-page.auth-cookie-modal-open { overflow: hidden; }
.auth-entry-page .auth-cookie-modal { position: fixed; inset: 0; z-index: 100; display: grid; justify-items: center; align-items: start; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; }
.auth-entry-page .auth-cookie-overlay { position: fixed; inset: 0; background: rgb(15 23 42 / 65%); }
.auth-entry-page .auth-cookie-dialog { position: relative; width: 100%; max-width: 48rem; min-width: 0; margin: 1.5rem 0; border: 1px solid var(--av-border,#cbd5e1); border-radius: 1.25rem; background: var(--av-surface,#fff); box-shadow: 0 20px 50px rgb(15 23 42 / 30%); }
.auth-entry-page .auth-cookie-dialog-header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.5rem; border-bottom: 1px solid var(--av-border,#e2e8f0); }
.auth-entry-page .auth-cookie-dialog-header > div { min-width: 0; overflow-wrap: anywhere; }
.auth-entry-page .auth-cookie-dialog-header > button { flex: 0 0 auto; }
.auth-entry-page .auth-cookie-dialog h2 { margin-top: .5rem; color: var(--av-text,#0f172a); font-size: var(--av-text-section,1.375rem); line-height: var(--av-leading-heading,1.35); }
.auth-entry-page #aqCookieModalCopy { margin-top: .5rem; color: var(--av-muted,#475569); font-size: var(--av-text-body,.875rem); }
.auth-entry-page .auth-cookie-options { display: grid; gap: .75rem; padding: 1.5rem; }
.auth-entry-page .auth-cookie-option { display: flex; align-items: start; justify-content: space-between; gap: 1rem; min-width: 0; padding: 1rem; border: 1px solid var(--auth-border); border-radius: .75rem; cursor: pointer; }
.auth-entry-page .auth-cookie-option-required { background: var(--av-canvas,#f8fafc); cursor: default; }
.auth-entry-page .auth-cookie-option > span { min-width: 0; overflow-wrap: anywhere; }
.auth-entry-page .auth-cookie-option-title { display: block; font-size: var(--av-text-body,.875rem); font-weight: var(--av-weight-strong,700); }
.auth-entry-page .auth-cookie-option-copy { display: block; margin-top: .25rem; color: var(--av-muted,#475569); font-size: var(--av-text-small,.8125rem); }
.auth-entry-page .auth-cookie-option input { width: 1.25rem; height: 1.25rem; margin: .125rem 0 0; flex: 0 0 1.25rem; accent-color: var(--auth-ink); }
.auth-entry-page .auth-cookie-feedback { padding: 1rem; border: 1px solid; border-radius: .625rem; font-size: var(--av-text-body,.875rem); overflow-wrap: anywhere; }
.auth-entry-page .auth-cookie-feedback[data-tone="error"] { color: #991b1b; background: #fef2f2; border-color: #fecaca; }
.auth-entry-page .auth-cookie-feedback[data-tone="success"] { color: #065f46; background: #ecfdf5; border-color: #a7f3d0; }
.auth-entry-page .auth-cookie-dialog-actions { display: flex; flex-wrap: wrap; gap: .75rem; padding: 1.5rem; border-top: 1px solid var(--av-border,#e2e8f0); }
.auth-entry-page .auth-cookie-dialog-actions > button { flex: 1 1 11rem; }
@media (max-width: 47.99rem) {
  .auth-entry-page .auth-cookie-banner { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 29rem) {
  .auth-entry-page .auth-entry-main { padding: 1rem .75rem; }
  .auth-entry-page .auth-entry-card { padding: 1.5rem 1.125rem; }
  .auth-entry-page .auth-entry-cookies { padding-inline: .75rem; }
  .auth-entry-page .auth-cookie-banner { padding: 1.125rem; }
  .auth-entry-page .auth-cookie-dialog { margin: 0; }
  .auth-entry-page .auth-cookie-dialog-header { flex-direction: column; }
  .auth-entry-page .auth-cookie-dialog-header > button { align-self: end; }
  .auth-entry-page :is(.auth-cookie-dialog-header, .auth-cookie-options, .auth-cookie-dialog-actions) { padding: 1rem; }
}
@media (max-width: 22rem) {
  .auth-entry-page .auth-entry-providers-pair { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .auth-entry-page *, .auth-entry-page *::before, .auth-entry-page *::after { transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .auth-entry-page :is(.auth-entry-card, .auth-cookie-dialog, .auth-cookie-banner, .auth-entry-button, .auth-entry-provider, .auth-cookie-button, .auth-cookie-manage) { border-color: ButtonText; }
}
