/* Access screens based on Producer's locked workspace. No global shell overrides. */
.fx-content.access-gate-page { display: grid; min-height: calc(100vh - 80px); min-height: calc(100dvh - 80px); padding: 0; }
.access-gate {
    box-sizing: border-box; display: grid; width: 100%; min-height: 100%;
    padding: 40px 20px; place-content: center; justify-items: center; text-align: center;
    background: radial-gradient(circle at 50% 20%,rgba(var(--fx-ac1-rgb),.12),transparent 38%),var(--fx-bg);
    color: var(--fx-text-main); font-family: var(--fx-font-main);
}
.access-gate * { box-sizing: border-box; }
.access-gate .access-gate-mark {
    display: grid; width: 58px; height: 58px; margin-bottom: 18px; place-items: center;
    border: 1px solid rgba(var(--fx-ac2-rgb),.38); border-radius: var(--fx-radius-sm);
    background: linear-gradient(145deg,rgba(var(--fx-ac2-rgb),.18),rgba(var(--fx-ac1-rgb),.18));
    box-shadow: inset 0 1px var(--fx-border),0 12px 34px rgba(0,0,0,.25);
    color: var(--fx-text-main); font-size: 25px; font-weight: 950;
}
.access-gate .access-gate-kicker { display: block; color: var(--fx-text-muted); font-size: 10px; font-weight: 800; letter-spacing: .13em; line-height: 1.25; text-transform: uppercase; }
.access-gate h2 { max-width: 600px; margin: 9px 0; color: var(--fx-text-main); font-size: clamp(24px,4vw,38px); line-height: 1.25; overflow-wrap: anywhere; }
.access-gate p { max-width: 540px; margin: 0 0 22px; color: var(--fx-text-muted); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.access-gate .access-gate-action {
    display: inline-flex; min-height: 40px; max-width: 100%; padding: 10px 16px; align-items: center; justify-content: center;
    border: 1px solid rgba(var(--fx-ac2-rgb),.28); border-radius: 12px;
    background: var(--fx-ac2); color: var(--fx-text-inverse); font-size: 12px; font-weight: 800; line-height: 1.5;
    text-decoration: none; transition: transform .2s,filter .2s;
}
.access-gate .access-gate-action:hover { transform: translateY(-1px); filter: brightness(1.05); }
.access-gate :focus-visible { outline: 2px solid var(--fx-ac2); outline-offset: 4px; }
@media(max-height:500px) { .access-gate { padding-block: 24px; } }
@media(prefers-reduced-motion:reduce) { .access-gate .access-gate-action { transition: none; transform: none; } }
