.access-user-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:10px;color:var(--text);background:color-mix(in srgb,var(--accent) 12%,var(--surface));font:inherit;font-size:.78rem;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.access-user-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 21%,var(--surface));transform:translateY(-1px)}
.access-user-button svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.access-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100% - 28px);padding:0;border:1px solid var(--line-strong);border-radius:22px;color:var(--text);background:var(--surface-raised);box-shadow:0 28px 90px rgba(0,0,0,.42)}
.access-dialog::backdrop{background:rgba(4,14,30,.72);backdrop-filter:blur(4px)}
.access-dialog-close-form{position:absolute;top:12px;left:12px;margin:0}.access-close{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--surface-soft);font-size:1.3rem;cursor:pointer}
.access-dialog-content{padding:30px 28px 24px}.access-kicker{color:var(--accent);font-size:.72rem;font-weight:800}.access-dialog h2{margin:7px 0;color:var(--text);font-size:1.25rem}.access-dialog-content>p{margin:0 0 18px;color:var(--muted);font-size:.82rem;line-height:1.9}
#access-login-form{display:grid;gap:8px}#access-login-form label{margin-top:5px;color:var(--muted);font-size:.75rem}#access-login-form input{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:10px;color:var(--text);background:var(--surface-soft);font:inherit;direction:rtl}#access-login-form input:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent)}
.access-form-error{min-height:18px;margin:0;color:var(--red);font-size:.72rem}.access-submit,.access-overlay-cta{min-height:43px;padding:9px 14px;border:0;border-radius:10px;color:var(--accent-ink);background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 66%,#8673ed));font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.access-submit:hover,.access-overlay-cta:hover{filter:brightness(1.08)}
.access-plans{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem}.access-plans>span{width:100%;color:var(--text);font-weight:800}.access-plans #access-plan-list{display:flex;flex-wrap:wrap;gap:6px}.access-plan-chip{padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-soft))}
.access-blurred{position:relative!important;overflow:hidden!important;isolation:isolate;filter:none!important}.access-blurred>*:not(.access-overlay){filter:blur(5px);user-select:none;pointer-events:none}.access-overlay{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--surface) 24%,transparent);backdrop-filter:blur(2px)}.access-overlay-card{width:min(330px,100%);padding:20px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:0 15px 46px rgba(0,0,0,.22);text-align:center}.access-lock-icon{display:grid;width:34px;height:34px;place-items:center;margin:0 auto 9px;border-radius:11px;color:#d9b64c;background:color-mix(in srgb,#d9b64c 15%,var(--surface-soft));font-size:1.1rem}.access-overlay-card strong{display:block;color:var(--text);font-size:.86rem}.access-overlay-card p{margin:7px 0 13px;color:var(--muted);font-size:.72rem;line-height:1.8}.access-overlay-cta{min-height:36px;padding:7px 12px;font-size:.72rem}
.access-dialog [hidden],.access-blurred[hidden]{display:none!important}
@media(max-width:700px){.access-user-button{min-width:38px;padding:6px 9px}.access-user-button span{display:none}.access-dialog-content{padding:28px 20px 20px}.access-overlay{padding:9px}.access-overlay-card{padding:14px}.access-overlay-card p{margin:5px 0 9px}}
.access-plans-link{display:inline-flex;margin-top:12px;color:#54d7c4;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:900}
