/* Auth-only geometry for the native BSM sheet and existing Cult UI controls. */
body.pd-app .sheet-layer .pd-sheet.pd-auth-sheet {
    border: 1px solid var(--pd-line-strong);
    background: linear-gradient(150deg, color-mix(in srgb, var(--pd-raised) 60%, var(--pd-surface)), var(--pd-surface) 48%);
    box-shadow: 0 24px 80px #00000045, inset 0 1px 0 #ffffff08;
}
body.pd-app .sheet-layer[data-mode='modal'] .pd-auth-sheet {
    width: min(440px, 100%);
    border-radius: 24px;
}
body.pd-app .sheet-layer .pd-auth-sheet::before {
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--pd-accent) 35%, var(--pd-line)), transparent);
}
body.pd-app .sheet-layer .pd-auth-sheet .sheet__title {
    padding: 26px 54px 0 28px;
    border: 0;
    font-size: 22px;
    font-weight: 650;
    letter-spacing: -.7px;
}
body.pd-app .sheet-layer .pd-auth-sheet .sheet__close-icon {
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    color: var(--pd-muted);
    background: var(--pd-raised);
    border: 1px solid var(--pd-line);
    box-shadow: none;
}
body.pd-app .sheet-layer .pd-auth-sheet .sheet__close-icon:hover {
    color: var(--pd-text);
    background: var(--pd-hover);
    border-color: var(--pd-line-strong);
    box-shadow: none;
}
body.pd-app .sheet-layer .pd-auth-sheet .pd-sheet__scroll {
    padding: 22px 28px calc(28px + var(--sheet-safe-bottom));
}
.pd-auth { color: var(--pd-text); font-family: 'PD Inter', Inter, sans-serif; }
.pd-auth .pd-auth-intro { margin-bottom: 24px; }
.pd-auth-emblem {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border: 1px solid color-mix(in srgb, var(--pd-accent) 25%, var(--pd-line));
    border-radius: 15px;
    color: var(--pd-accent);
    background: linear-gradient(145deg, var(--pd-accent-soft), var(--pd-inset));
    box-shadow: inset 0 1px 0 #ffffff0a, 0 4px 16px #00000010;
}
.pd-auth-emblem svg { width: 28px; height: 28px; }
.pd-auth .pd-eyebrow { font-size: 10px; letter-spacing: .14em; margin-bottom: 10px; }
.pd-auth .pd-auth-intro p { max-width: 340px; font-size: 14px; line-height: 1.6; }
.pd-auth .pd-auth-field { margin-bottom: 18px !important; }
body.pd-app .pd-auth-sheet .pd-auth-field .form-label {
    margin: 0;
    color: var(--pd-text);
    font-size: 12px;
    line-height: 1.5;
    font-weight: 550 !important;
}
.pd-auth .cult-pro-input-wrap { margin-top: 8px; border-radius: 12px !important; }
body.pd-app .pd-auth-sheet .pd-auth .cult-pro-input-surface {
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid var(--pd-line-strong);
    border-radius: 12px;
    background: var(--pd-inset);
    box-shadow: inset 0 1px 0 #ffffff05;
}
body.pd-app .pd-auth-sheet .pd-auth .cult-pro-input-wrap:focus-within > .cult-pro-input-surface {
    border-color: color-mix(in srgb, var(--pd-accent) 70%, var(--pd-line));
    box-shadow: 0 0 0 3px var(--pd-accent-soft);
}
/* The rim owns padding and focus; the native input keeps its label and value. */
body.pd-app .pd-auth-sheet .pd-auth input.cult-pro-input-control {
    height: 24px;
    min-height: 24px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    font: 400 16px/24px 'PD Inter', Inter, sans-serif;
    box-shadow: none !important;
}
body.pd-app .pd-auth-sheet .pd-auth .form-control:not(.cult-pro-input-control) {
    min-height: 50px;
    padding: 12px 14px;
    font-size: 16px;
    border-radius: 12px;
}
.pd-auth .cult-pro-input-wrap > .cult-pro-glow { border-radius: 12px; }
.pd-auth .cult-pro-field { opacity: .08; }
.pd-auth .cult-pro-button-wrap { display: block; width: 100%; border-radius: 12px; }
body.pd-app .pd-auth-sheet .pd-auth .btn-primary {
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid color-mix(in srgb, var(--pd-accent) 80%, var(--pd-accent-hover)) !important;
    border-radius: 12px;
    background: var(--pd-accent) !important;
    color: var(--pd-accent-ink) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    box-shadow: inset 0 1px 0 #ffffff24, 0 4px 12px #00000012;
    transition: background .18s, box-shadow .18s;
}
body.pd-app .pd-auth-sheet .pd-auth .btn-primary:hover {
    background: var(--pd-accent-hover) !important;
    box-shadow: inset 0 1px 0 #ffffff24, 0 6px 18px #00000020;
}
.pd-auth-primary, .pd-auth-primary .cult-pro-button-content { display: flex; justify-content: center; align-items: center; gap: 12px; width: 100%; }
.pd-auth-arrow { font-size: 20px; font-weight: 400; }
.pd-auth-register-hint { margin: 12px 0 0; color: var(--pd-subtle); font-size: 11px; line-height: 1.6; text-align: center; }
.pd-auth-divider { display: flex; align-items: center; gap: 14px; margin: 24px 0 18px; color: var(--pd-subtle); font-size: 11px; white-space: nowrap; }
.pd-auth-divider::before, .pd-auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--pd-line); }
.pd-auth-providers { display: grid; gap: 10px; }
.pd-auth-telegram {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 5px 12px;
    border: 1px solid var(--pd-line);
    border-radius: 12px;
    background: var(--pd-inset);
}
.pd-auth-telegram:empty { display: none; }
.pd-auth-telegram iframe { max-width: 100%; color-scheme: light; }
body.pd-app .pd-auth-sheet .pd-auth .pd-auth-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid var(--pd-line) !important;
    border-radius: 12px;
    color: var(--pd-text) !important;
    background: var(--pd-inset) !important;
    font-size: 14px;
    font-weight: 500;
    box-shadow: inset 0 1px 0 #ffffff05;
}
body.pd-app .pd-auth-sheet .pd-auth .pd-auth-social:hover { background: var(--pd-hover) !important; border-color: var(--pd-line-strong) !important; }
.pd-auth-yandex-icon { font: 600 19px/1 Arial, sans-serif; color: #ff5050; }
.pd-auth-hint { margin: 20px auto 0; max-width: 310px; color: var(--pd-subtle); font-size: 11px; line-height: 1.6; text-align: center; }
.pd-auth :is(.alert, .form-check, .btn-link) { font-size: 13px; }
.pd-auth :is(.alert, p, b) { overflow-wrap: anywhere; }
.pd-auth :is(.btn, input):focus-visible { outline: 2px solid var(--pd-accent); outline-offset: 3px; }
.pd-auth input.cult-pro-input-control:focus-visible { outline: none; }
.pd-auth .pd-busy { cursor: wait; opacity: .6; }
@media (max-width: 767px) {
    body.pd-app .sheet-layer .pd-auth-sheet .sheet__title { padding: 12px 54px 0 24px; }
    body.pd-app .sheet-layer .pd-auth-sheet .sheet__close-icon { top: 10px; right: 20px; }
    body.pd-app .sheet-layer .pd-auth-sheet .pd-sheet__scroll { padding: 22px 24px calc(28px + var(--sheet-safe-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .pd-auth *, .pd-auth *::before, .pd-auth *::after { transition: none !important; animation: none !important; } }
