/**
 * PWA Auth — launch splash + workspace login/2FA/password-reset restyling.
 *
 * Scoped under `html.pwa-standalone` (set by the <head> splash script in
 * app.php when the app runs in installed/standalone mode).
 *
 * Browser auth pages are NOT affected — they continue to use auth-register.css
 * with the DM Sans split-column layout.
 *
 * Design language: matches the refactored tenant dashboard — warm beige canvas,
 * white card, Inter + Space Grotesk, :root design tokens, dark mode support.
 */

/* ========================================================================== */
/* 1.  LAUNCH SPLASH                                                          */
/*     First impression — warm canvas with gold accent glow, staggered        */
/*     reveal animation, and a slim progress bar.                             */
/* ========================================================================== */

.pwa-launch-splash {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(28px + env(safe-area-inset-top, 0px)) 24px calc(28px + env(safe-area-inset-bottom, 0px));
    background:
        radial-gradient(600px circle at 50% 35%, rgba(196, 149, 16, 0.07), transparent 60%),
        radial-gradient(800px circle at 70% 80%, rgba(196, 149, 16, 0.04), transparent 50%),
        var(--canvas, #f7f5f0);
    color: var(--ink, #1a1815);
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    z-index: 5000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 0s linear 220ms;
}

html.pwa-standalone.pwa-splash-active .pwa-launch-splash {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 220ms ease, visibility 0s linear 0s;
}

html.pwa-standalone.pwa-splash-active body {
    overflow: hidden;
}

html.pwa-standalone.pwa-auth-launch-lock [data-pwa-auth-root] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    user-select: none;
}

/* --- Inner container with staggered children ------------------------------ */

.pwa-launch-splash__inner {
    width: min(320px, 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
}

/* --- Logo: scale-up + fade reveal ---------------------------------------- */

.pwa-launch-splash__logo {
    width: min(180px, 56vw);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
    opacity: 0;
    transform: scale(0.88);
    animation: pwa-splash-logo-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
}

.pwa-launch-splash__logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 6px 18px rgba(196, 149, 16, 0.12));
}

@keyframes pwa-splash-logo-in {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* --- Brand badge: gold accent with subtle glow --------------------------- */

.pwa-launch-splash__brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent, #c49510);
    opacity: 0;
    transform: translateY(6px);
    animation: pwa-splash-fade-up 0.5s ease 0.25s forwards;
}

.pwa-launch-splash__brand-dot {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--accent, #c49510);
    box-shadow: 0 0 6px rgba(196, 149, 16, 0.5), 0 0 12px rgba(196, 149, 16, 0.2);
    animation: pwa-splash-dot-pulse 2s ease-in-out 0.6s infinite;
}

@keyframes pwa-splash-dot-pulse {
    0%, 100% { box-shadow: 0 0 6px rgba(196, 149, 16, 0.5), 0 0 12px rgba(196, 149, 16, 0.2); }
    50% { box-shadow: 0 0 10px rgba(196, 149, 16, 0.7), 0 0 22px rgba(196, 149, 16, 0.3); }
}

/* --- Title + text: staggered fade-up ------------------------------------- */

.pwa-launch-splash__title {
    font-family: var(--font-display, "Space Grotesk", "Inter", system-ui, sans-serif);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--ink, #1a1815);
    opacity: 0;
    transform: translateY(8px);
    animation: pwa-splash-fade-up 0.5s ease 0.35s forwards;
}

.pwa-launch-splash__text {
    font-size: 13px;
    letter-spacing: 0.01em;
    color: var(--ink-3, #6b6458);
    opacity: 0;
    transform: translateY(6px);
    animation: pwa-splash-fade-up 0.5s ease 0.45s forwards;
}

@keyframes pwa-splash-fade-up {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Progress bar: slim gold sweep instead of spinner -------------------- */

.pwa-launch-splash__spinner {
    width: 120px;
    height: 3px;
    border-radius: 999px;
    border: none;
    background: var(--rule, rgba(26, 24, 21, 0.08));
    position: relative;
    overflow: hidden;
    margin-top: 6px;
    opacity: 0;
    animation: pwa-splash-fade-up 0.4s ease 0.55s forwards;
}

.pwa-launch-splash__spinner::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--accent, #c49510) 40%, var(--accent, #c49510) 60%, transparent);
    animation: pwa-splash-sweep 1.4s cubic-bezier(0.4, 0, 0.2, 1) 0.7s infinite;
    transform: translateX(-100%);
}

@keyframes pwa-splash-sweep {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* --- Reduced motion ------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
    .pwa-launch-splash,
    html.pwa-standalone.pwa-splash-active .pwa-launch-splash {
        transition: none !important;
    }
    .pwa-launch-splash__logo,
    .pwa-launch-splash__brand,
    .pwa-launch-splash__title,
    .pwa-launch-splash__text,
    .pwa-launch-splash__spinner {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
    .pwa-launch-splash__brand-dot {
        animation: none !important;
    }
    .pwa-launch-splash__spinner::after {
        animation: none !important;
        transform: none !important;
        background: var(--accent, #c49510);
        width: 40%;
        left: 30%;
    }
}

/* --- 1B. Splash dark mode ------------------------------------------------- */

html[data-theme="dark"] .pwa-launch-splash {
    background:
        radial-gradient(600px circle at 50% 35%, rgba(250, 204, 21, 0.06), transparent 60%),
        radial-gradient(800px circle at 70% 80%, rgba(250, 204, 21, 0.03), transparent 50%),
        var(--background, #0b1220);
    color: var(--text, #f1f5f9);
}

html[data-theme="dark"] .pwa-launch-splash__logo img {
    filter: drop-shadow(0 6px 18px rgba(250, 204, 21, 0.1));
}

html[data-theme="dark"] .pwa-launch-splash__brand {
    color: var(--accent-on-dark, #facc15);
}

html[data-theme="dark"] .pwa-launch-splash__brand-dot {
    background: var(--accent-on-dark, #facc15);
    box-shadow: 0 0 6px rgba(250, 204, 21, 0.6), 0 0 14px rgba(250, 204, 21, 0.25);
}

html[data-theme="dark"] .pwa-launch-splash__title {
    color: var(--text, #f1f5f9);
}

html[data-theme="dark"] .pwa-launch-splash__text {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"] .pwa-launch-splash__spinner {
    background: var(--border, rgba(148, 163, 184, 0.24));
}

html[data-theme="dark"] .pwa-launch-splash__spinner::after {
    background: linear-gradient(90deg, transparent, var(--accent-on-dark, #facc15) 40%, var(--accent-on-dark, #facc15) 60%, transparent);
}

/* ========================================================================== */
/* 2.  PWA AUTH — FULL-SCREEN SIGN-IN                                         */
/*     Logo top-centre, tight heading, form with elevated inputs, links       */
/*     below, footer pinned. Marketing copy hidden. Gold glow continuity      */
/*     from splash. Feels like opening a native app, not a web form.          */
/* ========================================================================== */

/* --- 2A. Page root -------------------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth {
    background:
        radial-gradient(600px circle at 50% 18%, rgba(196, 149, 16, 0.06), transparent 55%),
        var(--canvas, #f7f5f0);
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth::before {
    display: none;
}

/* --- 2B. Layout: single column, full viewport ----------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    min-height: 100dvh;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__aside--login {
    display: none;
}

/* --- 2C. Topbar: transparent, logo centred, generous safe-area ------------ */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__topbar {
    background: transparent;
    border-bottom: none;
    backdrop-filter: none;
    padding: calc(22px + env(safe-area-inset-top, 0px)) 24px 0;
    justify-content: center;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__topbar-aside {
    display: none;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__logo-img {
    height: 40px;
}

/* --- 2D. Main: centred vertically, generous side padding ------------------ */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__main--login {
    border-right: none;
    border-bottom: none;
    padding: 0 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* --- 2E. Content area ----------------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__main-inner {
    max-width: 380px;
    width: 100%;
    margin: 0 auto;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

/* --- 2F. Eyebrow: hidden in PWA (logo is already visible above) ---------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__eyebrow {
    display: none;
}

/* --- 2G. Title: large, centred -------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__title {
    font-family: var(--font-display, "Space Grotesk", "Inter", system-ui, sans-serif);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--ink, #1a1815);
    text-align: center;
    margin-bottom: 8px;
}

/* --- 2H. Lede: first one shown (short), extras hidden --------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__lede {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 14px;
    color: var(--ink-3, #6b6458);
    text-align: center;
    line-height: 1.5;
    margin-bottom: 24px;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__lede strong {
    color: var(--ink, #1a1815);
}

/* Hide the secondary "New workspace?" lede — marketing copy, not needed in app */
html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__lede--tight {
    display: none;
}

/* --- 2I. Feature pills: hidden -------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-highlights {
    display: none;
}

/* --- 2J. Form: tighter field gap ------------------------------------------ */

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-form {
    gap: 0;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-field {
    margin-bottom: 16px;
}

/* --- 2K. Form labels ------------------------------------------------------ */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__label {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink-3, #6b6458);
}

/* --- 2L. Form inputs: elevated white cards, generous touch targets -------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__input,
html.pwa-standalone .auth-register--split.client-portal--app-auth select.login-split-select {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 16px;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid var(--rule-strong, rgba(26, 24, 21, 0.14));
    background: var(--surface-card, #ffffff);
    color: var(--ink, #1a1815);
    box-shadow: 0 2px 8px rgba(26, 24, 21, 0.06), 0 0 0 1px rgba(26, 24, 21, 0.04);
    transition: border-color 0.15s, box-shadow 0.15s;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__input::placeholder {
    color: var(--ink-4, #9a9188);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__input:focus,
html.pwa-standalone .auth-register--split.client-portal--app-auth select.login-split-select:focus {
    outline: none;
    border-color: var(--accent, #c49510);
    box-shadow:
        0 0 0 3px var(--accent-soft, rgba(196, 149, 16, 0.1)),
        0 2px 8px rgba(26, 24, 21, 0.06);
}

/* --- 2M. Submit button ---------------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__submit {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 16px;
    font-weight: 600;
    min-height: 52px;
    width: 100%;
    border-radius: 14px;
    background: var(--button-primary, #1a1815);
    color: var(--button-primary-text, #ffffff);
    border: none;
    box-shadow: 0 4px 16px rgba(26, 24, 21, 0.14), 0 1px 4px rgba(26, 24, 21, 0.08);
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
    margin-top: 8px;
    letter-spacing: 0.01em;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__submit:hover:not(:disabled) {
    background: var(--button-primary-dark, #3d3a34);
    box-shadow: 0 8px 28px rgba(26, 24, 21, 0.18), 0 2px 6px rgba(26, 24, 21, 0.1);
    transform: translateY(-1px);
    filter: none;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
    filter: none;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__submit .client-login-submit__spinner {
    border-color: rgba(255, 255, 255, 0.35);
    border-right-color: transparent;
}

/* --- 2N. Version meta: hidden in PWA ------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-meta {
    display: none;
}

/* --- 2O. Flash messages --------------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .flash,
html.pwa-standalone .auth-register--split.client-portal--app-auth .quote-flash {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 13px;
    background: var(--surface-card, #ffffff);
    color: var(--ink, #1a1815);
    border: 1px solid var(--rule-strong, rgba(26, 24, 21, 0.14));
    box-shadow: 0 2px 8px rgba(26, 24, 21, 0.06), 0 0 0 1px rgba(26, 24, 21, 0.04);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .flash.flash-error {
    background: rgba(176, 48, 48, 0.07);
    color: var(--danger, #b03030);
    border-color: rgba(176, 48, 48, 0.18);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .flash.flash-success {
    background: rgba(30, 122, 69, 0.08);
    color: var(--success, #1e7a45);
    border-color: rgba(30, 122, 69, 0.15);
}

/* --- 2P. Links: centred, spaced, tappable -------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__signin {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 14px;
    color: var(--ink-3, #6b6458);
    text-align: center;
    margin-top: 14px;
    padding: 4px 0;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__signin a {
    color: var(--accent, #c49510);
    font-weight: 600;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-field-hint {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 12px;
    color: var(--ink-3, #6b6458);
}

/* --- 2Q. Checkbox / remember device -------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-check-label {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 14px;
    color: var(--ink-3, #6b6458);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-check-row input[type="checkbox"] {
    accent-color: var(--accent, #c49510);
    width: 18px;
    height: 18px;
}

/* --- 2R. Secondary buttons (resend code etc.) ----------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-btn-secondary {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 600;
    min-height: 48px;
    width: 100%;
    padding: 0 18px;
    border-radius: 14px;
    background: var(--surface-card, #ffffff);
    color: var(--ink-2, #3d3a34);
    border: 1px solid var(--rule-strong, rgba(26, 24, 21, 0.14));
    box-shadow: 0 2px 8px rgba(26, 24, 21, 0.06), 0 0 0 1px rgba(26, 24, 21, 0.04);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-btn-secondary:hover:not(:disabled) {
    background: var(--surface-subtle, #f2efe9);
    border-color: rgba(26, 24, 21, 0.18);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-btn-secondary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* --- 2S. Workspace key details disclosure --------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-workspace-details {
    border-color: var(--rule, rgba(26, 24, 21, 0.08));
    background: var(--surface-subtle, #f2efe9);
    border-radius: 14px;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-workspace-details__summary {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    color: var(--ink, #1a1815);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .login-split-workspace-details__summary small {
    color: var(--ink-3, #6b6458);
}

/* --- 2T. Footer: pinned bottom, minimal ---------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__footer {
    border-top: none;
    background: transparent;
    padding: 16px 24px calc(16px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__footer-copy {
    display: none;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__footer-nav {
    justify-content: center;
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__footer-nav a {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 11px;
    color: var(--ink-4, #9a9188);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .register-page__footer-nav a:hover {
    color: var(--ink-3, #6b6458);
}

/* --- 2U. Password toggle -------------------------------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .password-toggle {
    color: var(--ink-4, #9a9188);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .password-toggle:hover {
    color: var(--ink-2, #3d3a34);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .password-toggle:focus-visible {
    outline: 2px solid var(--accent, #c49510);
    outline-offset: 2px;
}

/* --- 2R. Password strength / match indicators ----------------------------- */

html.pwa-standalone .auth-register--split.client-portal--app-auth .password-strength,
html.pwa-standalone .auth-register--split.client-portal--app-auth .password-match,
html.pwa-standalone .auth-register--split.client-portal--app-auth .password-caps {
    font-family: var(--font-sans, "Inter", system-ui, sans-serif);
    font-size: 11.5px;
    color: var(--ink-3, #6b6458);
}

html.pwa-standalone .auth-register--split.client-portal--app-auth .password-strength.is-weak { color: #a16207; }
html.pwa-standalone .auth-register--split.client-portal--app-auth .password-strength.is-ok { color: #0f766e; }
html.pwa-standalone .auth-register--split.client-portal--app-auth .password-strength.is-strong { color: var(--success, #1e7a45); }
html.pwa-standalone .auth-register--split.client-portal--app-auth .password-match.is-bad { color: var(--danger, #b03030); }
html.pwa-standalone .auth-register--split.client-portal--app-auth .password-match.is-good { color: var(--success, #1e7a45); }

/* ========================================================================== */
/* 3.  DARK MODE                                                              */
/* ========================================================================== */

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth {
    background:
        radial-gradient(600px circle at 50% 12%, rgba(250, 204, 21, 0.05), transparent 55%),
        var(--background, #0b1220);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__title {
    color: var(--text, #f1f5f9);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__lede {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__lede strong {
    color: var(--text, #f1f5f9);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__eyebrow {
    color: var(--accent-on-dark, #facc15);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__eyebrow-dot {
    background: var(--accent-on-dark, #facc15);
    box-shadow: 0 0 5px var(--accent-on-dark, #facc15);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__label {
    color: rgba(148, 163, 184, 0.85);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__input,
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth select.login-split-select {
    background: rgba(15, 23, 42, 0.75);
    border-color: rgba(148, 163, 184, 0.2);
    color: var(--text, #f1f5f9);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__input::placeholder {
    color: rgba(148, 163, 184, 0.55);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__input:focus,
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth select.login-split-select:focus {
    border-color: var(--accent-on-dark, #facc15);
    box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.15);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__submit {
    background: var(--text, #f1f5f9);
    color: var(--card, #0f172a);
    box-shadow: 0 4px 16px rgba(241, 245, 249, 0.12), 0 1px 4px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__submit:hover:not(:disabled) {
    background: #e2e8f0;
    box-shadow: 0 8px 28px rgba(241, 245, 249, 0.16), 0 2px 6px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .flash,
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .quote-flash {
    background: var(--card, #0f172a);
    color: var(--text, #f1f5f9);
    border-color: var(--border, rgba(148, 163, 184, 0.24));
    box-shadow: none;
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .flash.flash-error {
    background: rgba(176, 48, 48, 0.15);
    color: #fca5a5;
    border-color: rgba(248, 113, 113, 0.25);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .flash.flash-success {
    background: rgba(30, 122, 69, 0.15);
    color: #86efac;
    border-color: rgba(74, 222, 128, 0.2);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__signin {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__signin a {
    color: var(--accent-on-dark, #facc15);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-meta {
    color: rgba(148, 163, 184, 0.7);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-field-hint {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-check-label {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-btn-secondary {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(148, 163, 184, 0.2);
    color: var(--text, #f1f5f9);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-btn-secondary:hover:not(:disabled) {
    background: rgba(30, 41, 59, 0.7);
    border-color: rgba(148, 163, 184, 0.35);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-workspace-details {
    background: rgba(15, 23, 42, 0.35);
    border-color: var(--border, rgba(148, 163, 184, 0.24));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-workspace-details__summary {
    color: var(--text, #f1f5f9);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .login-split-workspace-details__summary small {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .register-page__footer-nav a {
    color: rgba(148, 163, 184, 0.65);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-toggle {
    color: rgba(148, 163, 184, 0.65);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-toggle:hover {
    color: var(--text, #f1f5f9);
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-strength,
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-match,
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-caps {
    color: var(--text-muted, rgba(148, 163, 184, 0.95));
}

html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-strength.is-weak { color: #fbbf24; }
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-strength.is-ok { color: #2dd4bf; }
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-strength.is-strong { color: #86efac; }
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-match.is-bad { color: #fca5a5; }
html[data-theme="dark"].pwa-standalone .auth-register--split.client-portal--app-auth .password-match.is-good { color: #86efac; }
