*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(255,48,72,.085),transparent 34%),radial-gradient(circle at 18% 82%,rgba(255,48,72,.045),transparent 28%),#050505;color:#f1f1f2;font-family:Arial,"Segoe UI",sans-serif}
.bo-bg-lines{position:fixed;inset:0;overflow:hidden;pointer-events:none;opacity:.32}.bo-bg-lines i{position:absolute;left:-20%;width:140%;height:1px;background:linear-gradient(90deg,transparent 28%,rgba(255,48,72,0) 38%,rgba(255,48,72,.32) 50%,rgba(255,48,72,0) 62%,transparent 72%);transform:rotate(-8deg);animation:bs 8s linear infinite}.bo-bg-lines i:nth-child(1){top:8%;animation-delay:-1s}.bo-bg-lines i:nth-child(2){top:24%;animation-delay:-4s;animation-duration:11s}.bo-bg-lines i:nth-child(3){top:42%;animation-delay:-7s;animation-duration:9s}.bo-bg-lines i:nth-child(4){top:61%;animation-delay:-2s;animation-duration:12s}.bo-bg-lines i:nth-child(5){top:79%;animation-delay:-9s;animation-duration:10s}.bo-bg-lines i:nth-child(6){top:94%;animation-delay:-5s;animation-duration:13s}@keyframes bs{0%{transform:translateX(-45%) rotate(-8deg);opacity:0}18%{opacity:.55}50%{opacity:.3}82%{opacity:.55}100%{transform:translateX(45%) rotate(-8deg);opacity:0}}
.bo-login-shell{position:relative;z-index:1;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px}.bo-login-panel{position:relative;width:min(510px,100%);overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 34%),#0b0b0c;border:1px solid rgba(255,255,255,.16);box-shadow:0 35px 100px rgba(0,0,0,.82),0 0 65px rgba(255,48,72,.045)}
.bo-login-panel:before{content:"";position:absolute;inset:0;border-top:1px solid rgba(255,48,72,.28);animation:bp 4.5s ease-in-out infinite}@keyframes bp{0%,100%{opacity:.35}50%{opacity:1}}
.bo-login-panel:after{content:"";position:absolute;top:0;left:-35%;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,48,72,.055),transparent);transform:skewX(-18deg);animation:ps 7s ease-in-out infinite}@keyframes ps{0%,18%{left:-35%;opacity:0}32%{opacity:1}58%,100%{left:110%;opacity:0}}
.bo-panel-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.75}.bo-panel-lines span{position:absolute;left:-40%;width:180%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,48,72,0) 25%,rgba(255,48,72,.38) 50%,rgba(255,48,72,0) 75%,transparent);animation:pl 6s linear infinite}.bo-panel-lines span:nth-child(1){top:27%;animation-delay:-1s}.bo-panel-lines span:nth-child(2){top:57%;animation-delay:-3.5s;animation-duration:7.5s}.bo-panel-lines span:nth-child(3){top:82%;animation-delay:-5s;animation-duration:8.5s}@keyframes pl{0%{transform:translateX(-30%);opacity:0}18%{opacity:.55}50%{opacity:.2}82%{opacity:.55}100%{transform:translateX(30%);opacity:0}}
.bo-logo{position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding:27px 30px 23px}.bo-logo-mark{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(255,48,72,.65);background:rgba(255,48,72,.055);color:#fff;font-size:13px;font-weight:950;letter-spacing:.08em;box-shadow:0 0 25px rgba(255,48,72,.08)}.bo-logo-name{font-size:18px;font-weight:950;letter-spacing:.12em}.bo-logo-sub{margin-top:4px;color:#77777e;font-size:8px;font-weight:800;letter-spacing:.19em}.bo-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,48,72,.32),rgba(255,255,255,.1),transparent)}
.bo-login-content{position:relative;z-index:2;padding:34px 30px 29px}.bo-eyebrow{color:#ff3048;font-size:9px;font-weight:950;letter-spacing:.2em}h1{margin:8px 0;font-size:31px;line-height:1;letter-spacing:-.025em}.bo-intro{margin:0 0 27px;color:#77777e;font-size:13px;line-height:1.55}form{display:flex;flex-direction:column}label{margin:0 0 7px;color:#aaaab0;font-size:9px;font-weight:950;letter-spacing:.16em}input{width:100%;height:47px;margin:0 0 19px;padding:0 13px;border:1px solid rgba(255,255,255,.16);border-radius:0;outline:none;background:#050505;color:#fff;font:inherit}input:focus{border-color:rgba(255,48,72,.7);box-shadow:0 0 0 1px rgba(255,48,72,.13),0 0 24px rgba(255,48,72,.06)}
.bo-enter{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:49px;margin-top:3px;padding:0 15px 0 18px;border:1px solid rgba(255,48,72,.62);border-radius:0;overflow:hidden;background:rgba(255,48,72,.08);color:#fff;cursor:pointer;font:inherit;font-size:10px;font-weight:950;letter-spacing:.15em}.bo-enter:hover{background:rgba(255,48,72,.17);box-shadow:0 0 28px rgba(255,48,72,.1)}.bo-enter:before{content:"";position:absolute;top:0;bottom:0;left:-30%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:skewX(-20deg);animation:bsw 4s ease-in-out infinite}@keyframes bsw{0%,40%{left:-30%;opacity:0}50%{opacity:1}70%,100%{left:115%;opacity:0}}.bo-enter span,.bo-enter b{position:relative;z-index:1}.bo-enter b{font-size:18px;font-weight:400}.bo-error{margin:-7px 0 20px;padding:10px 12px;border-left:2px solid #ff3048;background:rgba(255,48,72,.07);color:#ff9aa5;font-size:11px}.bo-footer-links{display:flex;justify-content:center;gap:9px;margin-top:22px;color:#4f4f55;font-size:8px;font-weight:900;letter-spacing:.14em}.bo-footer-links a{color:#85858b;text-decoration:none}.bo-footer-links a:hover{color:#fff}.bo-bottom-glow{position:absolute;width:380px;height:80px;bottom:4%;background:radial-gradient(ellipse,rgba(255,48,72,.1),transparent 68%);filter:blur(12px);pointer-events:none}
@media(max-width:560px){.bo-login-shell{padding:18px 12px}.bo-logo{padding:23px 21px 20px}.bo-login-content{padding:29px 21px 24px}h1{font-size:27px}}@media(prefers-reduced-motion:reduce){.bo-bg-lines i,.bo-login-panel:before,.bo-login-panel:after,.bo-panel-lines span,.bo-enter:before{animation:none}}
/* Access code banner */
.bo-access-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;

    min-height: 42px;
    padding: 0 18px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    box-sizing: border-box;

    background: rgba(8, 8, 9, .96);
    border-bottom: 1px solid rgba(239, 68, 68, .35);
    box-shadow: 0 8px 30px rgba(0, 0, 0, .35);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .10em;
    color: #8f8f96;
}

.bo-access-banner a {
    color: #ef4444;
    text-decoration: none;
    font-weight: 950;
    transition: color .2s ease, text-shadow .2s ease;
}

.bo-access-banner a:hover {
    color: #fff;
    text-shadow: 0 0 12px rgba(239, 68, 68, .7);
}

.bo-access-banner a b {
    margin-left: 4px;
    color: #ef4444;
}

/* Make room for fixed banner */
body {
    padding-top: 42px;
    box-sizing: border-box;
}