/* Startup, session transitions and route recovery use one branded surface. */
.brand-screen{--screen-navy:#0B3A69;--screen-blue:#0077B6;--screen-muted:#52657B;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:40px 24px 100px;background:#F4F7FB;color:#0F172A;font-family:Poppins,system-ui,sans-serif;text-align:center;box-sizing:border-box}
.brand-screen-loading{position:fixed;inset:0;z-index:100;overflow:auto}
.brand-screen-header{width:min(1200px,100%);margin:0 auto auto;text-align:left;position:relative;z-index:1}
.brand-screen-header img{width:150px;height:auto;display:block}
.brand-screen-content{position:relative;z-index:1;width:min(580px,100%);margin:auto;min-width:0}
.brand-screen-logo{display:block;width:200px;height:auto;margin:0 auto 40px}
.brand-screen h1{font-size:clamp(24px,3.6vw,36px);font-weight:700;line-height:1.25;letter-spacing:-.025em;margin:0 0 16px;text-wrap:balance;color:var(--screen-navy)}
.brand-screen-content>p{max-width:48ch;margin:0 auto;color:var(--screen-muted);font-size:15px;line-height:1.7}
.brand-screen-content>.brand-screen-slogan{font-size:12px;margin-top:40px;color:var(--screen-muted)}
.brand-screen-waves{position:absolute;bottom:0;left:0;width:100%;height:140px;z-index:0;pointer-events:none}
.brand-loading-track{height:4px;width:min(220px,70%);border-radius:999px;overflow:hidden;margin:28px auto 0;background:#dbe8f2}
.brand-loading-track>span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--screen-blue);animation:brand-loading-pass 1.4s ease-in-out infinite}
@keyframes brand-loading-pass{0%{transform:translateX(-110%)}100%{transform:translateX(360%)}}
.brand-error-code{position:relative;display:inline-block;color:var(--screen-navy);font-weight:700;font-size:clamp(100px,17vw,164px);line-height:1.15;letter-spacing:-.04em;margin:12px 0 20px}
.brand-error-code>svg{position:absolute;right:-30px;top:10px;width:40px;height:40px;color:#0EA5E9}
.brand-screen-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.brand-screen-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;box-sizing:border-box;transition:background-color 140ms ease-out,color 140ms ease-out}
.brand-screen-primary{color:#fff;background:var(--screen-blue);border:1px solid var(--screen-blue)}
.brand-screen-primary:hover{background:#005D91;border-color:#005D91}
.brand-screen-secondary{color:var(--screen-navy);background:#fff;border:1px solid #dbe2eb}
.brand-screen-secondary:hover{background:#E8F6FF}
.brand-screen-actions svg{width:18px;height:18px}
.brand-screen a:focus-visible{outline:2px solid var(--screen-blue);outline-offset:4px}
@media(max-width:600px){.brand-screen{padding:24px 20px 80px}.brand-screen-header img{width:120px}.brand-screen-not-found .brand-screen-content{padding-top:28px}.brand-screen-waves{height:80px}.brand-screen-content>p{font-size:14px}.brand-screen-logo{width:170px;margin-bottom:32px}.brand-error-code>svg{width:28px;height:28px;right:-20px}}
@media(prefers-reduced-motion:reduce){.brand-loading-track>span{animation:none;width:100%;opacity:.65}.brand-screen-actions>a{transition:none}}
@media(forced-colors:active){.brand-loading-track{border:1px solid CanvasText}.brand-loading-track>span{background:Highlight}.brand-screen-waves{display:none}.brand-screen-actions>a{border-color:ButtonText}}
