/* Isolated from dashboard layout; all eight designs provide these colour tokens. */
body.login-welcome-open{overflow:hidden!important}
#loginWelcome{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;padding:32px 20px;background:var(--page,#101b2a);color:var(--ink,#f4efe4);font-family:"Segoe UI",Arial,sans-serif;isolation:isolate;animation:welcome-reveal .35s ease both}
#loginWelcome *{box-sizing:border-box}
#loginWelcome.is-returning{animation:none}
#loginWelcome .welcome-halo{position:absolute;z-index:-1;inset:0;overflow:hidden;background:radial-gradient(ellipse at 50% 37%,color-mix(in srgb,var(--accent,#e2c180) 14%,transparent),transparent 57%)}
#loginWelcome .welcome-halo:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--edge,#4b5d71) 1px,transparent 1px),linear-gradient(90deg,var(--edge,#4b5d71) 1px,transparent 1px);background-size:72px 72px;opacity:.13;mask-image:radial-gradient(ellipse at center,#000,transparent 68%)}
#loginWelcome .welcome-content{width:min(100%,720px);text-align:center;animation:welcome-rise .6s cubic-bezier(.2,.8,.2,1) both}
#loginWelcome .welcome-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:19px;font-weight:800;letter-spacing:.12em;color:var(--accent,#e2c180);margin-bottom:38px}
#loginWelcome .welcome-brand span{border-left:1px solid var(--edge,#4b5d71);padding-left:12px;color:var(--subtle,#bdc7d3);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
#loginWelcome .welcome-emblem{position:relative;display:grid;place-items:center;width:148px;height:148px;margin:0 auto 30px;color:var(--accent,#e2c180)}
#loginWelcome .welcome-emblem:before{content:"";position:absolute;inset:10px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:color-mix(in srgb,var(--surface,#19283b) 75%,transparent);box-shadow:0 0 60px color-mix(in srgb,currentColor 13%,transparent)}
#loginWelcome .welcome-orbit{position:absolute;inset:0;border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-top:2px solid currentColor;border-radius:50%;animation:welcome-orbit 2.4s cubic-bezier(.16,.65,.2,1) both}
#loginWelcome svg{position:relative;width:76px;height:83px;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#loginWelcome .welcome-shield{fill:color-mix(in srgb,currentColor 6%,transparent);stroke-dasharray:260;stroke-dashoffset:260;animation:welcome-draw .8s .1s ease forwards}
#loginWelcome .welcome-check{stroke-width:5;stroke-dasharray:50;stroke-dashoffset:50;animation:welcome-draw .45s .55s ease forwards}
#loginWelcome .welcome-spark{position:absolute;width:5px;height:5px;background:currentColor;border-radius:50%;animation:welcome-reveal .6s .3s both}
#loginWelcome .spark-one{top:14px;right:19px}#loginWelcome .spark-two{bottom:25px;left:6px;width:3px;height:3px}#loginWelcome .spark-three{bottom:6px;right:30px;width:3px;height:3px}
#loginWelcome .welcome-eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--subtle,#bdc7d3);margin:0 0 12px}
#loginWelcome h1{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(28px,5vw,48px);font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:0}
#loginWelcome #loginWelcomeName{font-size:clamp(28px,5vw,48px);font-weight:750;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere;margin:3px 0 16px;color:var(--accent,#e2c180)}
#loginWelcome .welcome-caption{font-size:14px;line-height:1.5;color:var(--subtle,#bdc7d3);margin:0 0 26px}
#loginWelcome .welcome-continue{background:var(--surface,#19283b)!important;border:1px solid var(--edge,#4b5d71)!important;color:var(--ink,#f4efe4)!important;border-radius:999px!important;font:600 12px/1.5 "Segoe UI",Arial,sans-serif!important;padding:11px 22px!important;cursor:pointer;box-shadow:none!important;transform:none!important}
#loginWelcome .welcome-continue:hover{border-color:var(--accent,#e2c180)!important}
#loginWelcome .welcome-continue:focus-visible{outline:2px solid var(--accent,#e2c180);outline-offset:5px}
#loginWelcome .welcome-timeline{width:100px;height:2px;overflow:hidden;background:var(--edge,#4b5d71);margin:28px auto 0;border-radius:2px}
#loginWelcome .welcome-timeline span{display:block;width:100%;height:100%;background:var(--accent,#e2c180);transform-origin:left;animation:welcome-progress 2.4s linear both}
@keyframes welcome-reveal{from{opacity:0}to{opacity:1}}
@keyframes welcome-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes welcome-orbit{from{transform:rotate(-70deg)}to{transform:rotate(290deg)}}
@keyframes welcome-draw{to{stroke-dashoffset:0}}
@keyframes welcome-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-height:650px){#loginWelcome{padding:20px}#loginWelcome .welcome-brand{margin-bottom:18px}#loginWelcome .welcome-emblem{width:104px;height:104px;margin-bottom:18px}#loginWelcome svg{width:58px;height:64px}#loginWelcome .welcome-timeline{margin-top:18px}}
@media(prefers-reduced-motion:reduce){#loginWelcome,#loginWelcome *{animation:none!important;transition:none!important}#loginWelcome .welcome-shield,#loginWelcome .welcome-check{stroke-dashoffset:0}#loginWelcome .welcome-timeline{display:none}}
