/*
 * Authentication-only cascade boundary.
 *
 * The application shell intentionally uses a light workspace, while every
 * unauthenticated screen uses the dark Claude-approved identity shell. These
 * selectors are loaded only by _AuthenticationLayout and are deliberately
 * stronger than the generic .portal-root element rules in portal.css.
 */
html.portal-root:has(body.auth-body) {
    background: #071120;
}

html.portal-root body.auth-body {
    background:
        radial-gradient(1100px 720px at 78% -12%, rgba(46, 139, 255, .16), transparent 62%),
        linear-gradient(180deg, #0a1322 0%, #071120 100%);
    color: #f2f7ff;
}

html.portal-root body.auth-body--operations {
    background:
        radial-gradient(rgba(148, 173, 208, .09) 1px, transparent 1.5px),
        radial-gradient(900px 620px at 50% -25%, rgba(46, 139, 255, .12), transparent 60%),
        #060d19;
    background-size: 26px 26px, auto, auto;
}

html.portal-root body.auth-body--studio {
    background:
        radial-gradient(1000px 640px at 85% 112%, rgba(52, 224, 255, .13), transparent 55%),
        radial-gradient(1100px 700px at 72% -15%, rgba(46, 139, 255, .15), transparent 60%),
        #081120;
}

.portal-root body.auth-body .auth-header,
.portal-root body.auth-body .auth-main,
.portal-root body.auth-body .auth-footer {
    color: #f2f7ff;
}

.portal-root body.auth-body .auth-brand {
    color: #f2f7ff;
}

.portal-root body.auth-body .auth-footer {
    color: #9fb0c7;
}

.portal-root body.auth-body .auth-footer a {
    color: #c4d4ec;
}

.portal-root body.auth-body .auth-footer a:hover {
    color: #fff;
}
