
.cgy-login-admin{max-width:1160px;margin:20px auto;color:#172033;font:14px/1.5 system-ui,sans-serif}.cgy-login-admin *,.cgy-login-surface *{box-sizing:border-box}
.cgy-login-admin-header{background:#102a45;color:#fff;border-radius:18px;padding:28px 32px;margin-bottom:22px}.cgy-login-admin-header>span{font-size:11px;letter-spacing:.17em;font-weight:700}.cgy-login-admin h1{font-size:32px;margin:8px 0}.cgy-login-admin-header p{margin:0;color:#d7e8fa}
.cgy-login-admin .module-section{border:1px solid #d5dee8;border-radius:12px;margin:14px 0;background:#fff;overflow:hidden}.cgy-login-admin .section-heading{display:flex;gap:12px;align-items:center;padding:14px;background:#f5f7fa;color:#172033;font-size:16px;font-weight:700;cursor:pointer;list-style:none}.cgy-login-admin .section-heading:after{content:'+';margin-left:auto}.cgy-login-admin details[open]>.section-heading:after{content:'−'}.cgy-login-admin .section-number,.cgy-login-surface .section-number{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border-radius:5px;width:30px;height:30px;flex:0 0 30px;font:700 12px system-ui}.cgy-login-admin .section-body{padding:20px}.cgy-login-required{display:flex;gap:14px;flex-wrap:wrap}.cgy-login-required small{color:#64748b}.cgy-login-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cgy-login-note{color:#526174;font-size:13px}.cgy-login-admin input:not([type=checkbox]):not([type=hidden]),.cgy-login-admin select{display:block;width:100%;max-width:100%;border:1px solid #bac8d8;border-radius:7px;padding:9px;background:#fff;color:#172033}.cgy-login-admin label{font-weight:600}.cgy-login-admin .form-group{margin-bottom:12px}.cgy-login-admin button{padding:10px 16px;border:1px solid #a9b8c9;border-radius:8px;background:#fff;color:#172033;cursor:pointer}.cgy-login-admin .cgy-login-primary{background:#123b79;border-color:#123b79;color:#fff;font-weight:700}.cgy-login-save{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin:18px 0}.cgy-login-admin :focus-visible,.cgy-login-surface :focus-visible{outline:3px solid #e49b29;outline-offset:3px}.cgy-login-badge-list{display:flex;gap:10px;flex-wrap:wrap}.cgy-login-preview-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.cgy-login-preview-toolbar select{width:auto}.cgy-login-preview-toolbar span{color:#64748b;font-size:12px}#cgy-login-preview-stage{background:#e9eff6;padding:28px;border-radius:12px;min-width:0}
.cgy-login-surface{--accent:#195aa5;--card:#fff;--ink:#142d48;--muted:#526880;--surface:#edf4fc;--line:#c4d4e5;width:100%;max-width:520px;margin:0 auto;padding:24px;border-radius:18px;background:var(--surface);color:var(--ink);font:14px/1.5 system-ui,sans-serif}
.cgy-login-surface[data-theme=midnight]{--accent:#8bbdff;--card:#16283e;--ink:#f2f7ff;--muted:#bccde0;--surface:#0c192a;--line:#415976}
.cgy-login-surface[data-theme=warm]{--accent:#79522d;--card:#fffdf8;--ink:#3c3022;--muted:#78654e;--surface:#f2e8d7;--line:#d9c6a7}
.cgy-login-surface[data-theme=minimal]{--accent:#111;--card:#fff;--ink:#111;--muted:#555;--surface:#f4f4f4;--line:#bbb}
.cgy-login-surface[data-align=left]{margin-left:0;margin-right:auto}.cgy-login-surface[data-align=right]{margin-right:0;margin-left:auto}
.cgy-login-brand{text-align:center;margin-bottom:22px}.cgy-login-brand h2{color:var(--ink);font-size:28px;margin:8px 0}.cgy-login-brand p{color:var(--muted);margin:0}.cgy-login-brand img{max-width:180px;max-height:90px;object-fit:contain}.cgy-login-brand[data-align=left]{text-align:left}.cgy-login-brand[data-align=right]{text-align:right}
.cgy-login-card,.cgy-login-surface>.module-section{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:12px;overflow:hidden;margin:12px 0!important;padding:18px;box-shadow:0 10px 30px #0000000a}.cgy-login-card h3{color:var(--ink);font-size:20px;margin:0 0 18px}.cgy-login-surface .form-group{margin-bottom:14px}.cgy-login-surface input:not([type=checkbox]):not([type=hidden]),.cgy-login-surface select{width:100%;min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font:inherit}.cgy-login-surface label{color:var(--ink);font-weight:600;display:block;margin-bottom:5px}.cgy-login-surface .help-block,.cgy-login-surface p{color:var(--muted)}.cgy-login-surface button,.cgy-login-surface .btn-primary{background:var(--accent);border:0;color:#fff;padding:11px 16px;border-radius:7px;font-weight:700}.cgy-login-surface[data-theme=midnight] button,.cgy-login-surface[data-theme=midnight] .btn-primary{color:#0c192a}.cgy-login-surface a{color:var(--accent)}.cgy-login-surface .section-heading{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-weight:700;padding:8px 0;color:var(--ink)}.cgy-login-surface .section-heading:after{content:'+';margin-left:auto}.cgy-login-surface details[open]>.section-heading:after{content:'−'}.cgy-login-surface .section-body{padding-top:14px}.cgy-login-surface .module-section .module-section{border-top:1px solid var(--line);margin:14px 0}.cgy-login-surface .panel-body{padding:0;background:transparent;color:var(--ink)}.cgy-login-surface .has-error input{border-color:#dc2626}.cgy-login-surface .has-error .help-block{color:#dc2626}.cgy-login-surface [hidden],.cgy-login-admin [hidden]{display:none!important}.cgy-login-surface input[type=checkbox]{width:auto}.cgy-login-surface .checkbox label{display:flex;gap:8px}.cgy-login-surface>.cgy-login-status{color:var(--ink)}
@media(max-width:600px){.cgy-login-admin .section-body{padding:14px}.cgy-login-controls{grid-template-columns:1fr}#cgy-login-preview-stage{padding:10px}.cgy-login-surface{padding:16px}.cgy-login-admin-header{padding:22px}.cgy-login-save{flex-wrap:wrap}}

.cgy-login-brand h1{color:var(--ink);font-size:28px;margin:8px 0}
.cgy-login-surface{box-sizing:border-box;min-width:0}.cgy-login-surface .section-heading{overflow-wrap:anywhere}
.cgy-login-surface .section-number{width:auto;min-width:30px;flex:0 0 auto;padding:4px 6px;white-space:nowrap}.cgy-login-surface input:disabled{opacity:1}.cgy-login-surface>.module-section{animation:none!important}

/* Scope contrast overrides above host-theme ID selectors. */
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(p,legend,.section-heading,label,.control-label){color:var(--ink)!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(input,select){color:var(--ink)!important;background-color:var(--card)!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface input::placeholder{color:var(--muted)!important;opacity:1}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(.help-block,.hint){color:var(--muted)!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(.has-error .help-block,.invalid-feedback){color:#ef7373!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(button[type=submit],.btn-primary){background:var(--accent)!important;color:#fff!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface[data-theme=midnight] :is(button[type=submit],.btn-primary){color:#0c192a!important}
.cgy-login-surface altcha-widget{--altcha-color-base:#fff;--altcha-color-text:#172033;--altcha-color-border:#94a3b8;--altcha-color-border-focus:#195aa5;--altcha-color-error:#b91c1c;display:block;max-width:100%;color:#172033!important;color-scheme:light}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface.cgy-login-surface altcha-widget :is(label,span,p,button){color:#172033!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface altcha-widget input[type=checkbox]{background:#fff!important;color:#172033!important;accent-color:#195aa5}
.cgy-login-surface altcha-widget .altcha{background:#fff!important;max-width:100%}.cgy-login-surface altcha-widget label{white-space:normal}
.cgy-login-surface .checkbox label{justify-content:flex-start!important;text-align:left!important;gap:8px}
.cgy-login-brand img{background:transparent!important;border:none!important;box-shadow:none!important}
.cgy-login-admin input[type=color]{height:44px;padding:4px;max-width:220px}

.cgy-login-admin .cgy-login-primary,:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(button[type=submit],.btn-primary){background:#123b79!important;color:#fff!important;border-color:#444!important;box-shadow:inset 0 -3px 0 #444}.cgy-login-admin .cgy-login-primary:is(:hover,:active),:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface :is(button[type=submit],.btn-primary):is(:hover,:active){background:#285a93!important;color:#fff!important}.cgy-login-admin :focus-visible,.cgy-login-surface :focus-visible{outline-color:#444}

:is(#user-auth-login,#user-registration) #upk-signup-form button[type=submit]{color:#fff!important;background:#1677ff!important;min-height:44px}

:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface[data-theme]{background:var(--surface)!important;color:var(--ink)!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface[data-theme] :is(button[type=submit],.btn-primary){background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface[data-theme=midnight] :is(button[type=submit],.btn-primary){background:#8bbdff!important;color:#0c192a!important}
:is(#user-auth-login,#user-registration,#user-registration-by-link).cgy-login-surface[data-theme] :is(input:not([type=checkbox]):not([type=hidden]),select){background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important}

/* Registration audit: admin only. */
.upk-audit-settings{background:#f3f7fb;border:1px solid #d9e3ef;border-radius:10px;padding:14px;margin:14px 0}.upk-audit-settings summary{cursor:pointer;font-weight:700}.upk-audit-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}.upk-audit-filters label{flex:1;min-width:180px}.upk-audit-list{display:grid;gap:12px}.upk-audit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:20px;border:1px solid #d9e3ef;border-radius:12px;background:#fff;padding:18px;color:#142d4e;overflow-wrap:anywhere}.upk-audit-email{display:block;margin:6px 0}.upk-audit-row small{color:#4a6079}.upk-audit-status{display:inline-block;background:#eaf2ff;color:#17467c;border-radius:6px;padding:5px 9px;font-weight:700;margin-bottom:6px}.upk-audit-row p{margin:6px 0}.upk-audit-empty{padding:24px;background:#f3f7fb;border-radius:10px}.upk-audit-settings summary:focus-visible{outline:3px solid #2578ff;outline-offset:3px}@media(max-width:600px){.upk-audit-row{grid-template-columns:1fr;gap:12px}.upk-audit-filters label{min-width:100%;}.upk-audit-filters .form-control{max-width:100%}}

/* The custom signup form has no legacy #register-email focus trigger. */
form[data-upk-signup] .field-invite-captcha { display: block !important; }

/* Keep dropdown affordances explicit on iOS and all themes. */
.cgy-login-surface select:is([name="Profile[cgy_login_age_group]"],[name="Profile[cgy_login_gender]"]){appearance:auto!important;-webkit-appearance:menulist!important;min-height:46px;padding-right:32px!important;cursor:pointer;border-width:2px!important;}
.upk-login-toggle-card{display:grid;gap:10px;padding:16px;background:#fff;border:1px solid #d9e3ef;border-radius:12px;color:#142d4e}.upk-login-toggle-card p{margin:8px 0;font-size:14px}.upk-login-toggle-card input[role=switch]{appearance:auto;width:22px;height:22px;accent-color:#078b83;vertical-align:middle}.upk-login-toggle-card label{cursor:pointer}.upk-login-toggle-card #upk-login-alert-state{font-weight:700;color:#12665f}
