/* Shared login composition, aligned to the PCM360 reference. Product artwork,
   authentication controls and product-specific copy remain owned by each app. */
:is(.brshub-login-shell,.page-login .login-layout,.flux-login-layout .login-layout,.login-wrap,.login-shell,.ep-login-shell){
  box-sizing:border-box!important;
  width:min(calc(100% - 48px),1280px)!important;
  min-height:calc(100vh - 48px)!important;
  margin-inline:auto!important;
  padding:24px 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr)!important;
  align-items:center!important;
  gap:clamp(20px,3vw,42px)!important;
}
body:has(.brshub-login-shell) main.container,.page-login main.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

:is(.brshub-login-shell .login-visual,.page-login .login-brand-panel,.flux-login-layout .login-brand-panel,.login-wrap .login-intro,.login-shell .login-visual,.ep-login-shell .ep-login-visual){
  box-sizing:border-box!important;
  width:100%!important;
  height:min(660px,calc(100vh - 112px))!important;
  min-height:min(660px,calc(100vh - 112px))!important;
  max-width:none!important;
  padding:clamp(26px,4vw,52px)!important;
  border-radius:26px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
}

:is(.brshub-login-shell .login-visual-brand,.page-login .login-brand-panel .login-logo,.flux-login-layout .login-brand-panel .login-logo,.login-wrap .login-brand,.login-shell .login-visual .brand-lockup,.ep-login-shell .ep-login-brand){
  box-sizing:border-box!important;
  width:min(350px,100%)!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  flex:0 0 58px!important;
  margin:0 0 18px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  object-fit:contain!important;
}
.brshub-login-shell .login-visual-brand{max-width:350px!important}
.brshub-login-shell .login-visual-brand img{width:100%!important;height:100%!important;max-height:38px!important;object-fit:contain!important;object-position:left center!important}
.brshub-login-shell .login-form-wrap .login-eyebrow{margin:0!important;color:#087c8a!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.brshub-login-shell .login-form-wrap h1{margin:8px 0 6px!important;font-size:30px!important;font-weight:760!important;line-height:1.2!important;letter-spacing:-.03em!important}
.brshub-login-shell .login-powered{margin:auto 0 0!important;padding-top:16px!important;border-top:1px solid #e1eaed!important;color:#5d7181!important;font-size:.8rem!important;line-height:1.5!important}
.page-login .login-brand-panel .login-logo,.flux-login-layout .login-brand-panel .login-logo{object-position:left center!important}
.login-shell .login-visual .brand-lockup{max-width:350px!important}
.login-shell .login-visual .brand-lockup .brand-mark{width:38px!important;height:38px!important;flex:0 0 38px!important}
.login-shell .login-visual .brand-lockup{padding:8px 12px!important}
.login-shell .login-visual .brand-lockup .eyebrow{margin:0!important;font-size:.62rem!important;line-height:1.1!important}
.login-shell .login-visual .brand-lockup strong{display:block!important;font-size:.72rem!important;line-height:1.15!important}
.login-shell .login-card .login-card-eyebrow{margin:0!important;color:#087c8a!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.login-shell .login-card h2{margin:8px 0 6px!important;color:#10384a!important;font-size:30px!important;font-weight:760!important;line-height:1.2!important;letter-spacing:-.03em!important}
.login-shell .login-card .login-card-description{margin:0!important;color:#5d7181!important;font-size:.92rem!important;line-height:1.5!important}
.login-wrap .login-brand{object-position:left center!important}
.login-wrap .login-card .login-eyebrow{margin:0!important;color:#087c8a!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.login-wrap .login-card h2{margin:8px 0 6px!important;color:#10384a!important;font-size:30px!important;font-weight:760!important;line-height:1.2!important;letter-spacing:-.03em!important}
:is(.brshub-login-shell .login-panel,.login-shell .login-panel,.ep-login-shell .ep-login-side){box-sizing:border-box!important;min-width:0!important;min-height:0!important;padding:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important}

:is(.brshub-login-shell .login-visual-copy,.login-wrap .login-intro-copy,.login-shell .login-visual>div:last-of-type,.ep-login-shell .ep-login-copy){max-width:620px!important;padding:0!important}
:is(.brshub-login-shell .login-visual-copy h2,.page-login .login-slogan,.flux-login-layout .login-slogan,.login-wrap .login-intro h1,.login-shell .login-visual h1,.ep-login-shell .ep-login-copy h1){max-width:560px!important;margin:14px 0!important;font-size:clamp(27px,3vw,42px)!important;font-weight:780!important;line-height:1.12!important;letter-spacing:-.035em!important}
:is(.brshub-login-shell .login-visual-copy p,.page-login .login-descriptor,.login-wrap .login-intro-copy>p:last-child,.login-shell .login-visual p,.ep-login-shell .ep-login-copy p){max-width:540px!important;font-size:1rem!important;line-height:1.55!important}
:is(.brshub-login-shell .login-visual-pills,.page-login .login-cycle,.flux-login-layout .login-cycle,.login-shell .login-pills,.ep-login-shell .ep-login-pills){margin-top:14px!important}
.login-wrap .login-manufacturer,.login-shell .login-visual-foot,.ep-login-shell .ep-login-local{margin-top:16px!important}

:is(.brshub-login-shell .login-form-wrap>.card,.page-login .login-card,.flux-login-layout .login-card,.login-wrap .login-card,.login-shell .login-card,.ep-login-side .login-card,.container-login100 .login100-form){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:460px!important;
  min-height:570px!important;
  height:auto!important;
  align-self:center!important;
  justify-self:center!important;
  padding:clamp(24px,4vw,38px)!important;
  border:1px solid #e1eaed!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 24px 64px rgba(16,56,74,.12)!important;
  display:flex!important;
  flex-direction:column!important;
}

.brshub-login-shell .login-form-wrap .card-body,.ep-login-side .login-card .card-body,.login-shell .login-card .login-card-body{box-sizing:border-box!important;width:100%!important;min-height:0!important;flex:1 1 auto!important;padding:0!important;display:flex!important;flex-direction:column!important}
.brshub-login-shell .login-form-wrap .card-body form,.flux-login-layout .login-card form,.login-wrap .login-card form,.login-shell .login-card form,.ep-login-side .login-card form,.container-login100 .login100-form form{display:block!important;width:100%!important;margin-top:16px!important}
:is(.page-login .login-card h1,.flux-login-layout .login-card h1,.login-wrap .login-card h2,.login-shell .login-card .login-title,.ep-login-side .login-card h1,.ep-login-side .login-card h4){margin:8px 0 6px!important;font-size:30px!important;font-weight:760!important;line-height:1.2!important;letter-spacing:-.03em!important}
:is(.page-login .login-card .small,.flux-login-layout .login-card>.small,.login-wrap .login-card>.note,.login-shell .login-card .login-subtitle,.ep-login-side .login-card .text-muted){margin:0!important;font-size:.92rem!important;line-height:1.5!important}
:is(.page-login .login-card .field,.flux-login-layout .login-card .field,.login-wrap .login-card .field,.login-shell .login-card .field,.ep-login-side .login-card .mb-3){margin-top:14px!important;margin-bottom:14px!important}
:is(.brshub-login-shell .login-form-wrap input.form-control,.page-login .login-card input[type=email],.page-login .login-card input[type=password],.flux-login-layout .login-card input:not([type=hidden]):not([type=checkbox]),.login-wrap .login-card input[type=email],.login-wrap .login-card input[type=password],.login-shell .login-card input:not([type=hidden]):not([type=checkbox]),.ep-login-side .login-card input.form-control,.container-login100 .login100-form input.input100){box-sizing:border-box!important;width:100%!important;height:48px!important;min-height:48px!important;padding:12px 16px!important;font-size:16px!important;line-height:1.5!important}
:is(.brshub-login-shell .login-form-wrap button[type=submit],.page-login .login-card button[type=submit],.flux-login-layout .login-card button[type=submit],.login-wrap .login-card button[type=submit],.login-shell .login-card button[type=submit],.ep-login-side .login-card button[type=submit],.container-login100 .login100-form .login100-form-btn){box-sizing:border-box!important;width:100%!important;height:48px!important;min-height:48px!important;margin-top:5px!important;padding:12px 16px!important}
:is(.brshub-login-shell .login-form-wrap .mb-3,.brshub-login-shell .login-form-wrap .mb-4){margin-top:14px!important;margin-bottom:14px!important}
:is(.page-login .login-card .brshub-central-access,.flux-login-layout .login-card .brshub-central-access,.login-wrap .login-card .brshub-central-access,.container-login100 .login100-form .brshub-central-access){margin:8px 0 0!important}
.page-login .login-card .brshub-central-access input,.flux-login-layout .login-card .brshub-central-access input,.login-wrap .login-card .brshub-central-access input,.container-login100 .login100-form .brshub-central-access input{width:.8rem!important;height:.8rem!important;min-height:.8rem!important;padding:0!important}
:is(.page-login .login-card .login-request,.flux-login-layout .login-card .login-request){margin:20px 0 0!important;padding:0!important;border:0!important;font-size:.82rem!important;line-height:1.5!important}
:is(.page-login .login-card .login-byline,.flux-login-layout .login-card .login-byline,.login-wrap .login-card>small.note:last-child,.login-shell .login-card .login-footer,.ep-login-side .login-card .login-footer,.container-login100 .login100-form .footer-login){margin-top:auto!important;padding-top:16px!important;border-top:1px solid #e1eaed!important;color:#5d7181!important;font-size:.8rem!important;line-height:1.5!important}
.login-wrap .login-bar,.login-shell .login-card:before{display:none!important}
.login-shell .login-card:after{height:4px!important}
.login-shell .login-card .theme-toggle{z-index:2}

/* BRSHELP keeps its legacy form/actions, but uses the same two-panel geometry. */
.container-login100:has(.login100-more.login-screen){box-sizing:border-box!important;min-height:100vh!important;padding:0!important}
.container-login100:has(.login100-more.login-screen) .wrap-login100{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr)!important;grid-template-areas:"visual form"!important;align-items:center!important;width:min(calc(100% - 48px),1280px)!important;min-height:calc(100vh - 48px)!important;gap:clamp(20px,3vw,42px)!important;margin:auto!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.container-login100:has(.login100-more.login-screen) .login100-more{grid-area:visual!important;width:100%!important;height:min(660px,calc(100vh - 112px))!important;min-height:min(660px,calc(100vh - 112px))!important;border-radius:26px!important}
.container-login100:has(.login100-more.login-screen) .login100-form{grid-area:form!important;width:100%!important;max-width:460px!important;min-height:570px!important;justify-self:center!important;align-self:center!important}
.container-login100:has(.login100-more.login-screen) .login100-more{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:clamp(26px,4vw,52px)!important}
.brshelp-login-visual-copy{position:relative;z-index:1;max-width:560px;color:#fff}
.brshelp-login-eyebrow{margin:0 0 8px!important;color:#7fe3d4!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.12em!important}
.brshelp-login-visual-copy h2{max-width:540px;margin:10px 0!important;color:#fff!important;font-size:clamp(27px,3vw,42px)!important;font-weight:780!important;line-height:1.12!important;letter-spacing:-.035em!important}
.brshelp-login-visual-copy>p:not(.brshelp-login-eyebrow){max-width:520px;color:#e4edf2;font-size:1rem;line-height:1.55}
.brshelp-login-flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#fff;font-size:.75rem;font-weight:700}
.brshelp-login-flow span{padding:7px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(11,36,49,.55)}
.brshelp-login-flow i{color:#72ddd0;font-style:normal}
.brshelp-login-heading{margin:14px 0 8px}
.brshelp-login-heading h1{margin:8px 0 6px;color:#10384a;font-size:30px;font-weight:760;line-height:1.2;letter-spacing:-.03em}
.brshelp-login-heading>p:last-child{margin:0;color:#5d7181;font-size:.92rem;line-height:1.5}
.container-login100:has(.login100-more.login-screen) .brshelp-login-heading+.wrap-input100{margin-top:14px!important}
.brshelp-login-note{margin:auto 0 0!important;padding-top:16px!important;border-top:1px solid #e1eaed!important;color:#5d7181!important;font-size:.8rem!important;line-height:1.5!important}

@media(max-width:900px){
  :is(.brshub-login-shell,.page-login .login-layout,.flux-login-layout .login-layout,.login-wrap,.login-shell,.ep-login-shell){width:min(calc(100% - 48px),668px)!important;min-height:auto!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:24px 0!important}
  :is(.brshub-login-shell .login-visual,.page-login .login-brand-panel,.flux-login-layout .login-brand-panel,.login-wrap .login-intro,.login-shell .login-visual,.ep-login-shell .ep-login-visual){height:310px!important;min-height:310px!important;padding:28px!important;border-radius:22px!important}
  :is(.brshub-login-shell .login-form-wrap>.card,.page-login .login-card,.flux-login-layout .login-card,.login-wrap .login-card,.login-shell .login-card,.ep-login-side .login-card,.container-login100 .login100-form){width:100%!important;max-width:460px!important;min-height:570px!important;justify-self:center!important}
  .container-login100:has(.login100-more.login-screen){padding:0!important}
  .container-login100:has(.login100-more.login-screen) .wrap-login100{width:min(calc(100% - 48px),668px)!important;min-height:auto!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"visual" "form"!important;gap:14px!important}
  .container-login100:has(.login100-more.login-screen) .login100-more{height:310px!important;min-height:310px!important}
  .container-login100:has(.login100-more.login-screen) .login100-form{width:100%!important;max-width:460px!important;min-height:570px!important;justify-self:center!important}
  .container-login100:has(.login100-more.login-screen) .login100-more{padding:28px!important}
}
@media(max-width:600px){
  :is(.brshub-login-shell,.page-login .login-layout,.flux-login-layout .login-layout,.login-wrap,.login-shell,.ep-login-shell){width:100%!important;gap:12px!important;padding:16px!important}
  :is(.brshub-login-shell .login-visual,.page-login .login-brand-panel,.flux-login-layout .login-brand-panel,.login-wrap .login-intro,.login-shell .login-visual,.ep-login-shell .ep-login-visual){height:250px!important;min-height:250px!important;padding:21px!important;border-radius:20px!important}
  :is(.brshub-login-shell .login-visual-brand,.page-login .login-brand-panel .login-logo,.flux-login-layout .login-brand-panel .login-logo,.login-wrap .login-brand,.login-shell .login-visual .brand-lockup,.ep-login-shell .ep-login-brand){width:min(300px,100%)!important;height:50px!important;min-height:50px!important;max-height:50px!important;flex-basis:50px!important;margin-bottom:12px!important;padding:8px 11px!important}
  :is(.brshub-login-shell .login-visual-copy h2,.page-login .login-slogan,.flux-login-layout .login-slogan,.login-wrap .login-intro h1,.login-shell .login-visual h1,.ep-login-shell .ep-login-copy h1){margin:10px 0!important;font-size:25px!important}
  :is(.brshub-login-shell .login-form-wrap>.card,.page-login .login-card,.flux-login-layout .login-card,.login-wrap .login-card,.login-shell .login-card,.ep-login-side .login-card,.container-login100 .login100-form){min-height:570px!important;padding:20px!important;border-radius:20px!important}
  .container-login100:has(.login100-more.login-screen){padding:16px!important}
  .container-login100:has(.login100-more.login-screen) .wrap-login100{width:100%!important;gap:12px!important}
  .container-login100:has(.login100-more.login-screen) .login100-more{height:250px!important;min-height:250px!important;border-radius:20px!important}
  .container-login100:has(.login100-more.login-screen) .login100-form{min-height:570px!important;padding:20px!important;border-radius:20px!important}
  .container-login100:has(.login100-more.login-screen) .login100-more{padding:21px!important}
  .brshelp-login-visual-copy h2{font-size:25px!important}
}

@media(prefers-reduced-motion:reduce){:is(.brshub-login-shell,.page-login .login-layout,.flux-login-layout .login-layout,.login-wrap,.login-shell,.ep-login-shell) *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
