/* Shared environment notice for authenticated, operational, public and account pages. */
.environment-banner {
    box-sizing: border-box;
    width: 100%;
    flex: 0 0 auto;
    color: #fff;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 2px 10px rgba(0,0,0,.14);
}
.environment-banner--development { background: linear-gradient(90deg,#15803d,#22c55e); }
.environment-banner--testing { background: linear-gradient(90deg,#1d4ed8,#3b82f6); }
.environment-banner--production { background: linear-gradient(90deg,#b91c1c,#ea580c); }
.environment-banner__content {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    white-space: nowrap;
}
.environment-banner__warning { flex: 0 0 auto; color: #fde047; font-size: 14px; line-height: 1; }
.environment-banner__message { min-width: 0; overflow: hidden; text-overflow: ellipsis; line-height: 1.1; }
.environment-banner__message--medium,.environment-banner__message--short,.environment-banner__cta-short { display: none; }
.environment-banner__cta {
    box-sizing: border-box;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 999px;
    background: rgba(255,255,255,.14);
}
.environment-banner__cta:hover { color:#fff; background:rgba(255,255,255,.22); text-decoration:none; }
.environment-banner--compact { height: 30px; font-size: 12px; font-weight: 650; }
.environment-banner--compact .environment-banner__cta { height: 22px; padding: 0 8px; font-size: 11px; font-weight: 700; }
.environment-banner--public { height: 48px; font-size: 14px; font-weight: 700; }
.environment-banner--public .environment-banner__content { padding-block: 6px; }
.environment-banner--public .environment-banner__warning { font-size: 17px; }
.environment-banner--public .environment-banner__cta { min-height: 32px; padding: 4px 12px; font-size: 13px; font-weight: 750; }
.environment-banner--danger { height: 40px; font-size: 13px; font-weight: 750; }
@media (max-width: 999px) {
    .environment-banner__message--full { display:none; }
    .environment-banner__message--medium { display:inline; }
    .environment-banner--public { height:44px; font-size:13px; }
    .environment-banner--public .environment-banner__cta { min-height:30px; padding-inline:10px; font-size:12px; }
}
@media (max-width: 559px) {
    .environment-banner__content { gap:5px; padding-inline:6px; }
    .environment-banner__message--medium { display:none; }
    .environment-banner__message--short { display:inline; }
    .environment-banner__cta-full { display:none; }
    .environment-banner__cta-short { display:inline; }
    .environment-banner--compact { font-size:10px; }
    .environment-banner--compact .environment-banner__warning { font-size:11px; }
    .environment-banner--compact .environment-banner__cta { height:20px; padding-inline:6px; font-size:9px; }
    .environment-banner--public { height:40px; font-size:11px; }
    .environment-banner--public .environment-banner__warning { font-size:14px; }
    .environment-banner--public .environment-banner__cta { min-height:27px; padding-inline:8px; font-size:10px; }
    .environment-banner--danger { font-size:11px; }
}
.password-reset-page > .environment-banner { position:absolute; z-index:2; top:0; left:0; right:0; }
.password-reset-page.has-env-banner .password-reset-shell { padding-top:calc(2rem + 48px); }
