.auth-required-prompt {
    --auth-accent: #ff7417;
    --auth-ink: #111b31;
    --auth-muted: #566582;
    position: fixed;
    inset: 0;
    z-index: 1080;
    pointer-events: none;
    font-family: Montserrat, sans-serif;
    color: var(--auth-ink);
}
.auth-required-prompt[hidden] { display: none !important; }
.auth-required-prompt *, .auth-required-prompt *::before, .auth-required-prompt *::after { box-sizing: border-box; }
.auth-required-prompt__backdrop { display: none; }
.auth-required-prompt__panel {
    position: fixed;
    width: 276px;
    max-width: calc(100vw - 24px);
    max-height: calc(var(--auth-viewport-height, 100vh) - 24px);
    padding: 0;
    border: 1px solid #dce3ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(17, 27, 49, .18);
    text-align: center;
    opacity: 0;
    pointer-events: auto;
    transition: opacity .18s ease;
}
.auth-required-prompt.is-open .auth-required-prompt__panel { opacity: 1; }
.auth-required-prompt__content { max-height: inherit; overflow-y: auto; padding: 22px 18px 16px; border-radius: inherit; }
.auth-required-prompt.is-unpositioned .auth-required-prompt__panel { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.auth-required-prompt__arrow {
    position: absolute;
    width: 12px;
    height: 12px;
    background: #fff;
    border: 1px solid #dce3ec;
    transform: rotate(45deg);
    pointer-events: none;
}
.auth-required-prompt__panel[x-placement^="bottom"] .auth-required-prompt__arrow { top: -7px; border-right: 0; border-bottom: 0; }
.auth-required-prompt__panel[x-placement^="top"] .auth-required-prompt__arrow { bottom: -7px; border-left: 0; border-top: 0; }
.auth-required-prompt__panel[x-placement^="left"] .auth-required-prompt__arrow { right: -7px; border-left: 0; border-bottom: 0; }
.auth-required-prompt__panel[x-placement^="right"] .auth-required-prompt__arrow { left: -7px; border-right: 0; border-top: 0; }
.auth-required-prompt__close {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--auth-muted);
    font-size: 17px;
    cursor: pointer;
}
.auth-required-prompt__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #fff0e6;
    color: var(--auth-accent);
    font-size: 29px;
}
.auth-required-prompt h2 { margin: 0 0 10px; color: var(--auth-ink); font-size: 19px; font-weight: 700; line-height: 1.35; }
.auth-required-prompt p { margin: 0 0 20px; color: var(--auth-muted); font-size: 14px; line-height: 1.55; }
.auth-required-prompt__action {
    --auth-accent: var(--main-color, #f3ae2d);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid var(--auth-accent);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}
.auth-required-prompt__action.is-primary { background: var(--auth-accent); color: #fff; border-color: var(--auth-accent); }
.auth-required-prompt__action.is-secondary { background: #fff; color: var(--auth-accent); }
.auth-required-prompt__action:hover { filter: brightness(.95); text-decoration: none; }
.auth-required-prompt__action.is-primary:hover { color: #fff; }
.auth-required-prompt__action.is-secondary:hover { color: var(--auth-accent); }
.auth-required-prompt__cancel { min-height: 40px; padding: 8px 12px; border: 0; background: transparent; color: var(--auth-muted); font-size: 14px; text-decoration: underline; cursor: pointer; }
.auth-required-prompt :focus-visible { outline: 3px solid #1565c0; outline-offset: 3px; }
.social-auth-context > .social-status:empty { display: none; }
body.auth-prompt-modal-open { overflow: hidden; }

@media (max-width: 575px), (max-width: 899px) and (pointer: coarse) {
    .auth-required-prompt { pointer-events: auto; }
    .auth-required-prompt__backdrop { display: block; position: absolute; inset: 0; background: rgba(17, 27, 49, .46); opacity: 0; transition: opacity .18s ease; }
    .auth-required-prompt.is-open .auth-required-prompt__backdrop { opacity: 1; }
    .auth-required-prompt__panel {
        inset: auto 0 var(--auth-viewport-bottom, 0px);
        width: 100%;
        max-width: none;
        max-height: calc(var(--auth-viewport-height, 100dvh) - 12px);
        padding: 0;
        border-radius: 24px 24px 0 0;
        transform: translateY(100%);
        transition: opacity .18s ease, transform .18s ease;
        overscroll-behavior: contain;
    }
    .auth-required-prompt.is-open .auth-required-prompt__panel { transform: translateY(0); }
    .auth-required-prompt__content { padding: 28px 24px calc(18px + env(safe-area-inset-bottom, 0px)); }
    .auth-required-prompt__arrow { display: none; }
    .auth-required-prompt__icon { width: 80px; height: 80px; font-size: 36px; }
    .auth-required-prompt h2 { font-size: 22px; }
    .auth-required-prompt p { max-width: 340px; margin-right: auto; margin-left: auto; font-size: 16px; }
    .auth-required-prompt__action { min-height: 50px; font-size: 17px; }
    .auth-required-prompt__cancel { min-height: 44px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .auth-required-prompt__panel, .auth-required-prompt__backdrop { transition: none; }
}
