/* Login-only layout: banner styles on the public live page remain independent. */
body.kb-login-fit-page{display:block!important;padding:0!important;margin:0!important;min-height:100svh;background:#020b14!important}
.kb-login-fit{box-sizing:border-box;width:100%;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;align-content:start;gap:10px;padding:8px 12px;transform-origin:top center}
.kb-login-fit>.kb-login-ambient{position:fixed;inset:0;pointer-events:none;z-index:0}
.kb-login-fit>.kb-match-wrap{min-width:0;align-self:start}
body.kb-login-fit-page .kb-login-fit>.kb-login-card{position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box;width:100%!important;max-width:340px!important;margin:0 auto!important;padding:12px 18px!important}
.kb-login-fit .kb-match-banner{padding:12px 12px!important;border-radius:18px;border:1px solid #275272}
.kb-login-fit .kb-match-brand{margin-bottom:10px}
.kb-login-fit .kb-match-main{grid-template-columns:minmax(0,1fr) minmax(80px,.5fr) minmax(0,1fr);gap:10px!important}
.kb-login-fit .kb-match-logo{width:clamp(80px,15svh,130px);height:clamp(80px,15svh,130px);padding:10px}
.kb-login-fit .kb-match-team{gap:10px!important}
.kb-login-fit .kb-match-team .kb-live-public-name{font-size:clamp(18px,2.6vw,38px)!important}
.kb-login-fit .kb-match-versus .kb-match-vs-art{width:clamp(90px,18svh,180px);height:clamp(85px,16svh,145px)}
.kb-login-fit .kb-match-details{margin-top:10px;padding:8px 8px!important;min-width:0;width:100%;gap:8px}
.kb-login-fit .kb-match-competition{font-size:clamp(23px,2.5vw,34px)!important}
.kb-login-fit .kb-match-countdown{margin-top:10px;gap:5px}
.kb-login-fit .kb-logo-image{width:40px;max-height:40px;object-fit:contain}
.kb-login-fit .kb-logo-wrap{margin-bottom:8px}
.kb-login-fit .kb-showcase-wrap{height:42px;margin-top:4px}
.kb-login-fit .kb-preview-card{height:32px;width:100px}
.kb-login-fit .kb-info-wrap{height:30px;margin-top:6px}
.kb-login-fit .kb-input{box-sizing:border-box;width:100%;min-height:44px;margin:8px 0 0;padding:10px 12px;font-size:16px}
.kb-login-fit .kb-password-wrap{margin:0}
.kb-login-fit .kb-btn{min-height:44px;margin-top:10px;width:100%;box-sizing:border-box}
.kb-login-fit .kb-links{font-size:12px;gap:6px 12px!important;margin-top:10px!important}
.kb-login-fit .kb-note{font-size:10px;line-height:1.4;min-height:0!important}
.kb-login-fit>.kb-live-login-spacer{display:none!important}
@media(max-width:900px){
 .kb-login-fit{grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;padding:6px;min-height:100svh}
 .kb-login-fit .kb-match-banner{padding:12px 10px!important}
 .kb-login-fit .kb-match-brand{margin-bottom:10px}
 .kb-login-fit .kb-match-brand::before{font-size:25px}
 .kb-login-fit .kb-match-brand span{font-size:8px;margin-top:3px}
 .kb-login-fit .kb-match-brand::after{margin-top:6px}
 .kb-login-fit .kb-match-logo{width:72px;height:76px;padding:6px}
 .kb-login-fit .kb-match-team{gap:9px!important}
 .kb-login-fit .kb-match-team .kb-live-public-name{font-size:clamp(15px,4vw,24px)!important;line-height:1.1!important}
 .kb-login-fit .kb-match-versus .kb-match-vs-art{width:80px;height:78px}
 .kb-login-fit .kb-match-main{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:6px!important}
 .kb-login-fit .kb-match-details{margin-top:10px;padding:8px 2px!important;gap:5px}
 .kb-login-fit .kb-match-competition{font-size:23px!important}
 .kb-login-fit .kb-match-details .kb-live-public-kickoff{font-size:16px!important}
 .kb-login-fit .kb-match-details .kb-live-public-venue{font-size:11px!important}
 .kb-login-fit .kb-match-kickoff{gap:5px}
 .kb-login-fit .kb-match-countdown{margin-top:5px}
 body.kb-login-fit-page .kb-login-fit>.kb-login-card{padding:12px 16px!important;max-width:380px!important}
 .kb-login-fit .kb-logo-image{width:40px;max-height:40px}
 .kb-login-fit .kb-showcase-wrap{height:42px;margin-top:4px}
 .kb-login-fit .kb-preview-card{height:32px;width:90px}
 .kb-login-fit .kb-logo-wrap{margin-bottom:4px}
 .kb-login-fit .kb-input{margin-top:6px}
 .kb-login-fit .kb-btn{margin-top:6px}
}

/* R493: top-aligned on every device, login centered below the full-width banner. */
.kb-login-fit .kb-match-brand::before{font-size:clamp(25px,4svh,36px)}
.kb-login-fit .kb-match-brand::after{margin-top:6px}
.kb-login-fit .kb-match-countdown{margin-top:5px}

/* R496: SVG dashes follow the actual rounded outer rectangle. */
.kb-login-fit .kb-match-banner{overflow:visible!important;isolation:isolate;border:1px solid #4482a766!important;box-shadow:0 0 12px #289bee30!important}
.kb-login-fit .kb-match-banner::after{content:none!important;animation:none!important}
.kb-neon-perimeter{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:4;border-radius:inherit}
.kb-neon-perimeter rect{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.kb-neon-perimeter{filter:drop-shadow(0 0 4px #4abaff) drop-shadow(0 0 7px #ffc45b66)}

/* Original KickerBay artwork instead of the generated text wordmark. */
.kb-login-fit .kb-match-brand::before{content:none!important;display:none!important}
.kb-login-fit .kb-match-brand .kb-match-original-logo{display:block;width:clamp(42px,8svh,72px);height:clamp(42px,8svh,72px);object-fit:contain;margin:0 auto;filter:drop-shadow(0 0 9px #45aaff55)}
.kb-login-fit .kb-match-brand{margin-bottom:8px}


/* R501: actual banner perimeter, independent of legacy pseudo-element heights. */
.kb-login-fit .kb-match-banner::after{content:none!important;display:none!important;animation:none!important}
.kb-login-fit .kb-match-banner>.kb-neon-perimeter{position:absolute!important;top:0!important;left:0!important;bottom:auto!important;right:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;pointer-events:none!important;z-index:4;overflow:visible!important}
