/* Semantic auth surfaces. Captured layout, sizes and responsive rules stay authoritative. */
:root {
  --auth-bg: #fff; --auth-panel: #f6f8fa; --auth-card: #fff;
  --auth-ink: #19232b; --auth-muted: #50606c; --auth-border: #dde1e3;
  --auth-primary: #08747b; --auth-focus: #08747b;
  --auth-error-bg: #fff1f1; --auth-error-ink: #aa2028;
}
html[data-theme="dark"] {
  --auth-bg: #0a0d12; --auth-panel: #151b23; --auth-card: #1b232d;
  --auth-ink: #f3f7f8; --auth-muted: #b5c4cd; --auth-border: #33414d;
  --auth-primary: #00dde3; --auth-focus: #00dde3;
  --auth-error-bg: #321d25; --auth-error-ink: #ffb4b9;
}
body:has(.main-auth) { background-color: var(--auth-bg); color: var(--auth-ink); color-scheme: light; }
html[data-theme="dark"] body:has(.main-auth) { color-scheme: dark; }
.main-auth, .main-auth .main-auth__wrap, .main-auth .main-auth__info {
  background-color: var(--auth-bg); color: var(--auth-ink);
}
.main-auth .main-auth__wrap__image, .main-auth .register-new__benefits-list,
.main-auth .login-new__overlay-text { background-color: var(--auth-panel); color: var(--auth-ink); }
.main-auth .main-auth__wrap__image { isolation: isolate; }
.main-auth :is(h1,h2,h3,h4,label,legend) { color: var(--auth-ink); }
.main-auth :is(.pf-ui-body,.pf-ui-subheading,.pf-ui-caption,.pf-ui-legal) { color: inherit; }
/* Captured utility declarations use !important; scope their required overrides to auth. */
.main-auth :is(.pf-bg-white,.pf-bg-lighter,.pf-bg-gray-50,.pf-bg-gray-300) {
  background-color: var(--auth-card) !important;
}
.main-auth.main-auth .main-auth__wrap__image { background-color: var(--auth-panel) !important; }
.main-auth :is(.pf-text-gray-900,.pf-text-gray-800,.pf-text-gray-700) { color: var(--auth-ink) !important; }
.main-auth :is(.pf-text-muted,.pf-text-gray-400,.pf-text-gray-500,.pf-text-gray-600) { color: var(--auth-muted) !important; }
.main-auth :is(.pf-border,.pf-border-gray-300,.pf-border-white) { border-color: var(--auth-border) !important; }
.main-auth :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),textarea,select,
  .dropdown-input-wrapper,.dropdown-input__button,.dropdown-menu,.dropdown-input__menu,.search-input-wrapper) {
  background-color: var(--auth-card); color: var(--auth-ink); border-color: var(--auth-border);
}
.main-auth input::placeholder, .main-auth textarea::placeholder { color: var(--auth-muted); opacity: 1; }
.main-auth :is(input,textarea,select,button,a,[tabindex]):focus-visible {
  outline: 2px solid var(--auth-focus); outline-offset: 3px;
}
.main-auth :is(input,textarea,select):disabled { background-color: var(--auth-panel); color: var(--auth-muted); }
.main-auth :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--auth-primary); }
.main-auth :is(.pf-link,.pf-text-blue-800) { color: var(--auth-primary); }
.main-auth .pf-btn-outline, .main-auth .pf-btn-secondary {
  background-color: var(--auth-card); color: var(--auth-ink); border-color: var(--auth-border);
}
.main-auth .pf-btn-outline:hover, .main-auth .pf-btn-secondary:hover { background-color: var(--auth-panel); border-color: var(--auth-primary); }
.main-auth .pf-btn-primary { background-color: var(--auth-primary); border-color: var(--auth-primary); color: #fff; }
html[data-theme="dark"] .main-auth .pf-btn-primary { color: #0a0d12; }
.main-auth .nixbot-auth-divider { border-bottom-color: var(--auth-border); }
.main-auth :is(.alert-danger,.pf-alert-danger,[data-nixbot-auth-error]) { background-color: var(--auth-error-bg); color: var(--auth-error-ink); }
.main-auth :is(.grecaptcha-badge,.grecaptcha-logo,.grecaptcha-error) { background-color: var(--auth-card); color: var(--auth-ink); }
.main-auth .nixbot-auth-theme-toggle { background-color: var(--auth-card); color: var(--auth-ink); border-color: var(--auth-border); }
.main-auth .nixbot-auth-theme-toggle:hover { border-color: var(--auth-primary); }
.main-auth .nixbot-auth-theme-toggle:focus-visible { outline-color: var(--auth-focus); }
html[data-theme="dark"] .main-auth img[src*="small-apple-logo"] { filter: invert(1); }
.main-auth .nixbot-auth-promo { visibility: visible; }

/* Deep cyan carries readable light-mode links; dark links retain the bright accent. */
:root { --auth-link:#08747b; }
html[data-theme="dark"] { --auth-link:#00dde3; }
.main-auth :is(.pf-link,.pf-text-blue-800) { color:var(--auth-link); }

/* Primary auth submissions: plain NIXBOT cyan in both themes. */
.main-auth .pf-btn-primary:not(:disabled):not([aria-disabled="true"]) {
  background-color: #00DDE3 !important;
  background-image: none !important;
  border-color: #00DDE3 !important;
  color: #071820 !important;
}
.main-auth .pf-btn-primary:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) {
  background-color: #00FAFC !important;
  background-image: none !important;
  border-color: #00FAFC !important;
}
