:root{ --portal-card-bg: rgba(255,255,255,.78); --portal-card-border: rgba(10,15,20,.10); --portal-text:#0f172a; --portal-sub:#475569; --portal-shadow: 0 18px 60px rgba(15,23,42,.12); }

body.tpl-usbeportal{ margin:0; min-height:100vh; background:#f6f8fb; color:var(--portal-text); font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }

/* Scene */
.portal-scene{ position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.portal-layer{
  position:absolute;
  left:50%;
  bottom:0;
  max-width:none;
  height:auto;
  user-select:none;
  transform-origin:center bottom;
  will-change: transform;
  transform:
    translate3d(-50%, 0, 0)
    translate3d(0, var(--par-y, 0px), 0);
}

.portal-layer--sky{ z-index:1; width:min(160vw, 2600px); opacity:1; }
.portal-layer--mid{ z-index:2; width:min(150vw, 2400px); opacity:1; }
.portal-layer--river{ z-index:3; width:min(150vw, 2400px); opacity:1; }
.portal-layer--fg{ z-index:5; width:min(160vw, 2600px); opacity:1; pointer-events:none; }
.portal-layer--grass{
  z-index:12;
  width:min(190vw, 3000px);
  opacity:1;
  pointer-events:none;
  bottom:-70px;
}

/* Fog overlay (river-only) using fog.webp with gentle drift */
.portal-layer--fog{
  z-index:4;
  left:50%;
  bottom:0;
  top:auto;
  width:min(170vw, 2800px);
  height:46vh;
  max-height:520px;
  /* stronger so it's actually visible across light river tones */
  opacity:.42;
  pointer-events:none;
  mix-blend-mode: screen;
  filter: blur(0.6px);
  background-image:url('../images/parallax/fog.webp');
  background-repeat:repeat-x;
  background-size: 1400px auto;
  background-position:0% 100%;
  transform:
    translate3d(-50%, -110px, 0)
    translate3d(0, var(--par-y, 0px), 0);
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
          mask-image: linear-gradient(to top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 18%, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
  /* gentle horizontal drift like fog sliding across water */
  animation: portalFogDrift 46s linear infinite;
}

@keyframes portalFogDrift{
  from{ background-position: 0% 100%; }
  to{ background-position: 1400px 100%; }
}

/* Disable older CSS-only atmosphere layers (fog.webp is now used). */
.portal-mist,.portal-shimmer{display:none !important;}

/* Soft animated clouds layer (subtle) */
.portal-clouds{ position:absolute; inset:-10% -10% auto -10%; height:60%; opacity:.45; filter: blur(0.2px); mix-blend-mode: screen; }
.portal-clouds::before,
.portal-clouds::after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(120px 60px at 10% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%),
    radial-gradient(200px 90px at 25% 30%, rgba(255,255,255,.45), rgba(255,255,255,0) 72%),
    radial-gradient(160px 70px at 45% 25%, rgba(255,255,255,.40), rgba(255,255,255,0) 70%),
    radial-gradient(220px 95px at 65% 28%, rgba(255,255,255,.45), rgba(255,255,255,0) 72%),
    radial-gradient(140px 65px at 85% 35%, rgba(255,255,255,.50), rgba(255,255,255,0) 70%);
  transform: translate3d(0,0,0);
}
.portal-clouds::before{ animation: portalCloudDrift 48s linear infinite; }
.portal-clouds::after{ animation: portalCloudDrift2 72s linear infinite; opacity:.75; }
@keyframes portalCloudDrift{ from{ transform:translate3d(-6%,0,0);} to{ transform:translate3d(6%,0,0);} }
@keyframes portalCloudDrift2{ from{ transform:translate3d(8%,0,0);} to{ transform:translate3d(-8%,0,0);} }

/* Mist + shimmer disabled (use layer1 PNG overlay instead) */
.portal-mist{
  z-index:13;
  position:absolute; left:0; right:0; bottom:0;
  height:55%;
  opacity:.42;
  background: linear-gradient(to top, rgba(255,255,255,.55), rgba(255,255,255,0));
  filter: blur(0.6px);
  mix-blend-mode: screen;
}
.portal-mist::before{
  content:"";
  position:absolute; inset:-30% -10% -10% -10%;
  background:
    radial-gradient(60% 40% at 20% 80%, rgba(255,255,255,.35), rgba(255,255,255,0) 60%),
    radial-gradient(55% 38% at 70% 85%, rgba(255,255,255,.30), rgba(255,255,255,0) 60%),
    radial-gradient(70% 45% at 45% 90%, rgba(255,255,255,.28), rgba(255,255,255,0) 62%);
  animation: portalMist 20s ease-in-out infinite alternate;
}
@keyframes portalMist{ from{ transform: translate3d(-1.2%,0,0);} to{ transform: translate3d(1.2%,0,0);} }

/* River shimmer (very subtle overlay) */
.portal-shimmer{ z-index:13; position:absolute; left:0; right:0; bottom:0; height:44%; opacity:.14; mix-blend-mode: soft-light; background:
  repeating-linear-gradient(135deg, rgba(255,255,255,.55) 0 6px, rgba(255,255,255,0) 6px 22px);
  filter: blur(1px);
  transform: translate3d(0,0,0);
  animation: portalShimmer 16s linear infinite;
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));
  mask-image: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));
}
@keyframes portalShimmer{ from{ background-position:0 0;} to{ background-position:220px 0;} }

/* Foreground content */
.portal-topbar{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:18px 22px; }
.portal-brand .title{ font-weight:700; letter-spacing:.2px; }
.portal-brand .sub{ color:var(--portal-sub); font-size:12px; margin-top:2px; }
.portal-user a{ color:var(--portal-text); text-decoration:none; }
.portal-user a:hover{ text-decoration:underline; }

.portal-main{ position:relative; z-index:2; min-height:calc(100vh - 120px); display:flex; align-items:flex-start; justify-content:center; padding:70px 16px 120px; }

.usbe-wrap{ width:min(980px, 100%); }
.usbe-card{ background: var(--portal-card-bg); border:1px solid var(--portal-card-border); border-radius:18px; box-shadow: var(--portal-shadow); padding:28px 28px; }
.usbe-card h1{ margin:0 0 8px; font-size:40px; line-height:1.05; letter-spacing:.2px; }
.usbe-card p{ margin:0; color:var(--portal-sub); }

/* ------------------------------------------------------------
   v0.3.22 – Login card: compact, centered, frosted glass
   Goal: max-width 450px, reduced height, stacked inputs,
   forgot links side-by-side, matches Oliver panel styling.
------------------------------------------------------------ */

/* Add option/view/layout markers from index.php */
body.tpl-usbeportal .portal-main{ align-items:flex-start; }
body.tpl-usbeportal.opt-com_users.view-login .portal-main{
  align-items:center;
  padding:56px 16px 140px;
}

/*
  Helix/Bootstrap can wrap the login output in various containers.
  Force the *outermost* login surface to honor 450px even if a parent
  container is wide.
*/
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .sp-component,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .sp-main-body,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .component-content,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .container,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .container-fluid,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .login,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .portal-card,
body.tpl-usbeportal.opt-com_users.view-login .portal-main > .portal-card.pr-card{
  width: min(450px, 100%) !important;
  max-width: 450px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Card shell */
.portal-card.pr-card{
  position:relative;
  width:min(450px, 100%) !important;
  max-width:450px !important;
  margin:0 auto;
  flex: 0 1 450px;
  padding:18px 18px 16px;
  border-radius:22px;

  background: rgba(206, 226, 255, .62);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 22px 70px rgba(15, 23, 42, .18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* subtle glow behind card */
.portal-card.pr-card::before{
  content:"";
  position:absolute;
  inset:-22px;
  background: radial-gradient(closest-side, rgba(98,187,255,.26), rgba(98,187,255,0));
  filter: blur(22px);
  z-index:-1;
  pointer-events:none;
}

.portal-card.pr-card .pr-title{
  margin:0;
  font-weight:800;
  letter-spacing:.2px;
  font-size:28px;
  line-height:1.08;
}

/* v0.3.25 – Login: remove in-card title (keep only subtitle / form)
   Note: login can be routed via com_users OR a portal router view, so avoid
   component-specific body classes here.
*/
.portal-card.pr-card .pr-title{
  display:none !important;
}

.portal-card.pr-card .pr-sub{
  margin-top:0;
  color: rgba(15, 23, 42, .72);
}

/* Inner login area (keep single surface, not box-in-a-box) */
.portal-card.pr-card .portal-login.pr-login{
  margin-top:14px;
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow:none;
}

/* Stacked form */
.portal-card.pr-card .portal-login.pr-login form.mod-login{ display:block; }
.portal-card.pr-card .portal-login.pr-login .mod-login__userdata{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.portal-card.pr-card .portal-login.pr-login .form-group{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  margin:0;
}

.portal-card.pr-card .portal-login.pr-login label{
  display:block;
  margin:0;
  font-weight:700;
  color: rgba(15, 23, 42, .82);
}

/* Inputs */
.portal-card.pr-card .portal-login.pr-login .form-control{
  width:100% !important;
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
  height:30px;
  line-height:30px;
  padding-top:0;
  padding-bottom:0;
  padding-left:14px;
  padding-right:14px;
  border-radius:14px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255,255,255,.84);
  box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
}
.portal-card.pr-card .portal-login.pr-login .form-control:focus{
  outline:none;
  border-color: rgba(30, 118, 255, .35);
  box-shadow: 0 0 0 4px rgba(30, 118, 255, .12), 0 10px 26px rgba(15,23,42,.10);
}

/* Password group: input + toggle aligned */
.portal-card.pr-card .portal-login.pr-login .input-group{
  width:100%;
  display:flex;
  align-items:stretch;  gap:8px;
}
.portal-card.pr-card .portal-login.pr-login .input-group .form-control{ flex:1 1 auto; }
.portal-card.pr-card .portal-login.pr-login .input-password-toggle{
  flex:0 0 auto;
  height:30px;
  line-height:30px;
  border-radius:999px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255,255,255,.72);
  padding: 0 14px;
  white-space:nowrap;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .08);

}

/* Remember me */
.portal-card.pr-card .portal-login.pr-login .mod-login__remember .form-check{
  display:flex;
  align-items:center;
  gap:10px;
  margin:4px 0 0;
}
.portal-card.pr-card .portal-login.pr-login .form-check-input{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid rgba(15, 23, 42, .18);
}
.portal-card.pr-card .portal-login.pr-login .mod-login__remember label{
  font-weight:650;
  color: rgba(15, 23, 42, .72);
}

/* Submit */
.portal-card.pr-card .portal-login.pr-login .mod-login__submit{ margin-top:8px; }
.portal-card.pr-card .portal-login.pr-login .mod-login__submit .btn.btn-primary{
  width:100% !important;
  height:30px;
  line-height:30px;
  border-radius:999px;
  font-weight:750;
  letter-spacing:.2px;
  border: 1px solid rgba(255,255,255,.35);
  background: linear-gradient(180deg, rgba(120, 210, 255, .98) 0%, rgba(70, 160, 255, .98) 55%, rgba(52, 140, 255, .98) 100%);
  box-shadow: 0 16px 38px rgba(30, 118, 255, .20);
  transition: filter .15s ease, transform .15s ease;
}
.portal-card.pr-card .portal-login.pr-login .mod-login__submit .btn.btn-primary:hover{ filter:brightness(1.04);
  transform: translateY(-1px); }

/* Forgot links: side-by-side (text links, no pills) */
.portal-card.pr-card .portal-login.pr-login .mod-login__options{
  margin-top:10px;
  display:flex;
  justify-content:center;
  gap:28px;
  padding:0;
}
.portal-card.pr-card .portal-login.pr-login .mod-login__options li{
  list-style:none;
}
.portal-card.pr-card .portal-login.pr-login .mod-login__options a{
  flex:0 0 auto;
  text-align:center;
  padding:0;
  border-radius:0;
  background: transparent;
  border: 0;
  color: rgba(15, 23, 42, .70);
  text-decoration:none;
}
.portal-card.pr-card .portal-login.pr-login .mod-login__options a:hover{
  color: rgba(15, 23, 42, .92);
  text-decoration:underline;
  background: transparent;
}

@media (max-width: 520px){
  body.tpl-usbeportal.opt-com_users.view-login .portal-main{ padding:44px 12px 120px; }
  .portal-card.pr-card{ border-radius:20px; padding:16px 14px 14px; }
  .portal-card.pr-card .pr-title{ font-size:24px; }
  .portal-card.pr-card .portal-login.pr-login .mod-login__options{ flex-direction:column; gap:10px; align-items:flex-start; }
  .portal-card.pr-card .portal-login.pr-login .mod-login__options a{ text-align:left; }
}

/* Footer (Oliver lives here) */
.portal-foot{ position:relative; z-index:2; }

/* Allow module positions to render normally */
.portal-topbar + .portal-main{ padding-top:62px; }

@media (max-width: 820px){
  .portal-main{ padding-top:54px; }
  .usbe-card h1{ font-size:34px; }
}

/* Ensure portalrouter launcher has enough width for horizontal tiles */
.portal-main .pr-wrap{ width:min(1100px, 100%); }
.portal-main .pr-card{ max-width:1100px; }

@media (prefers-reduced-motion: reduce){
  .portal-layer{ --par-y: 0px !important; }
  .portal-layer--fog{ animation:none !important; }
  .portal-mist, .portal-shimmer, .portal-sparkles, .portal-birds{ display:none !important; }
}

/* Staff launcher tiles: keep 4-across on desktop, wrap on smaller */
.pr-tiles{ display:flex; flex-wrap:wrap; gap:14px; }
.pr-tile{ flex:1 1 calc(25% - 14px); min-width:220px; }
@media (max-width: 980px){ .pr-tile{ flex-basis: calc(50% - 14px); } }
@media (max-width: 560px){ .pr-tile{ flex-basis: 100%; } }


/* Sparkles (CSS) */
.portal-sparkles{
  z-index:14;
  position:absolute; left:0; right:0; bottom:0;
  height:58%;
  opacity:.92;
  pointer-events:none;
  mix-blend-mode: screen;
  filter: blur(.15px) drop-shadow(0 0 6px rgba(255,255,240,.28));
  background:
    radial-gradient(3px 3px at 12% 84%, rgba(255,255,235,.95), rgba(255,255,255,0) 62%),
    radial-gradient(2px 2px at 18% 78%, rgba(255,255,235,.85), rgba(255,255,255,0) 62%),
    radial-gradient(3.2px 3.2px at 26% 86%, rgba(255,255,235,.90), rgba(255,255,255,0) 62%),
    radial-gradient(2.2px 2.2px at 33% 82%, rgba(255,255,235,.90), rgba(255,255,255,0) 62%),
    radial-gradient(2.4px 2.4px at 41% 88%, rgba(255,255,235,.80), rgba(255,255,255,0) 62%),
    radial-gradient(2.2px 2.2px at 48% 80%, rgba(255,255,235,.80), rgba(255,255,255,0) 62%),
    radial-gradient(3px 3px at 55% 86%, rgba(255,255,235,.92), rgba(255,255,255,0) 62%),
    radial-gradient(2.3px 2.3px at 62% 83%, rgba(255,255,235,.90), rgba(255,255,255,0) 62%),
    radial-gradient(2.1px 2.1px at 69% 88%, rgba(255,255,235,.75), rgba(255,255,255,0) 62%),
    radial-gradient(2.1px 2.1px at 74% 79%, rgba(255,255,235,.78), rgba(255,255,255,0) 62%),
    radial-gradient(3.2px 3.2px at 82% 86%, rgba(255,255,235,.92), rgba(255,255,255,0) 62%),
    radial-gradient(3px 3px at 88% 84%, rgba(255,255,235,.95), rgba(255,255,255,0) 62%);
  animation: portalSparkleTwinkle 3.6s ease-in-out infinite alternate;
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 100%);
}

@keyframes portalSparkleTwinkle{
  from{ opacity:.38; transform: translate3d(0,0,0); }
  to{ opacity:.82; transform: translate3d(0,-7px,0); }
}

/* Birds (sprite sheet) */
.portal-birds{ position:absolute; inset:0; z-index:10; pointer-events:none; overflow:hidden; }
.bird{ background-image:url('../images/birds/bird-cells.svg'); background-size:auto 100%; width:88px; height:125px; will-change:background-position; animation-name:fly-cycle; animation-timing-function:steps(10); animation-iteration-count:infinite; }
.bird--one{ animation-duration:1s; animation-delay:-.5s; }
.bird--two{ animation-duration:.9s; animation-delay:-.75s; }
.bird--three{ animation-duration:1.25s; animation-delay:-.25s; }
.bird--four{ animation-duration:1.1s; animation-delay:-.5s; }

.bird-container{ position:absolute; top:18%; left:-10%; transform:scale(0) translateX(-10vw); will-change:transform; animation-timing-function:linear; animation-iteration-count:infinite; }
.bird-container--one{ animation-name:fly-right-one; animation-duration:16s; animation-delay:0s; }
.bird-container--two{ animation-name:fly-right-two; animation-duration:18s; animation-delay:2s; }
.bird-container--three{ animation-name:fly-right-one; animation-duration:15s; animation-delay:9s; top:24%; }
.bird-container--four{ animation-name:fly-right-two; animation-duration:20s; animation-delay:11s; top:14%; }

@keyframes fly-cycle{ 100%{ background-position:-900px 0; } }
@keyframes fly-right-one{
  0%{ transform:scale(0.3) translateX(-10vw); }
  10%{ transform:translateY(2vh) translateX(10vw) scale(0.4); }
  20%{ transform:translateY(0vh) translateX(30vw) scale(0.5); }
  30%{ transform:translateY(4vh) translateX(50vw) scale(0.6); }
  40%{ transform:translateY(2vh) translateX(70vw) scale(0.6); }
  50%{ transform:translateY(0vh) translateX(90vw) scale(0.6); }
  60%{ transform:translateY(0vh) translateX(110vw) scale(0.6); }
  100%{ transform:translateY(0vh) translateX(110vw) scale(0.6); }
}
@keyframes fly-right-two{
  0%{ transform:translateY(-2vh) translateX(-10vw) scale(0.45); }
  10%{ transform:translateY(0vh) translateX(10vw) scale(0.4); }
  20%{ transform:translateY(-4vh) translateX(30vw) scale(0.55); }
  30%{ transform:translateY(1vh) translateX(50vw) scale(0.45); }
  40%{ transform:translateY(-2.5vh) translateX(70vw) scale(0.5); }
  50%{ transform:translateY(0vh) translateX(90vw) scale(0.45); }
  60%{ transform:translateY(0vh) translateX(110vw) scale(0.45); }
  100%{ transform:translateY(0vh) translateX(110vw) scale(0.45); }
}






/* v0.3.27 — prevent empty scroll on portal login/landing (portalrouter) */
html, body.tpl-usbeportal{ height:100%; }
body.tpl-usbeportal.opt-com_portalrouter.view-portal{
  height: 100dvh;
  overflow: hidden; /* landing/login should not scroll */
}
body.tpl-usbeportal.opt-com_portalrouter.view-portal .portal-main{
  min-height: 100dvh;
  height: 100dvh;
  box-sizing: border-box;
  padding-top: 0;      /* anchor with wrapper margin instead */
  padding-bottom: 0;   /* prevent empty scroll */
  align-items: flex-start;  /* stop vertical centering */
  justify-content: center;  /* keep horizontal centering */
}

/* Portalrouter: push login/card wrapper nearer top */
body.tpl-usbeportal.opt-com_portalrouter.view-portal .portal-topbar + .portal-main{
  padding-top: 0 !important;
}

body.tpl-usbeportal.opt-com_portalrouter.view-portal .pr-wrap{
  margin-top: 28px; /* moves card higher; adjust if needed */
}

/* Avoid system message container pushing layout down */
body.tpl-usbeportal.opt-com_portalrouter.view-portal #system-message-container{
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

@supports not (height: 100dvh){
  body.tpl-usbeportal.opt-com_portalrouter.view-portal{ height:100vh; }
  body.tpl-usbeportal.opt-com_portalrouter.view-portal .portal-main{ min-height:100vh; height:100vh; }
}


/* ------------------------------------------------------------
   v0.3.39 – Modern split-screen login
   Deep branded left panel, clean right-side card, Film4-inspired
   recessed shadow detail around the brand lockup.
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen{
  --login-navy:#071a35;
  --login-navy-2:#102a58;
  --login-blue:#155cff;
  --login-blue-2:#0f6dff;
  --login-muted:#64748b;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(28,98,255,.08), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}

body.tpl-usbeportal.portal-login-screen .portal-scene,
body.tpl-usbeportal.portal-login-screen .portal-topbar,
body.tpl-usbeportal.portal-login-screen .portal-foot{
  display:none !important;
}

.portal-login-brand-panel{
  position:fixed;
  inset:0 auto 0 0;
  width:52vw;
  min-width:560px;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 22% 24%, rgba(80,126,205,.24), transparent 34%),
    radial-gradient(circle at 70% 82%, rgba(41,88,177,.28), transparent 40%),
    linear-gradient(150deg, #07172f 0%, #102752 58%, #071a35 100%);
}
.portal-login-brand-panel::before{
  content:"";
  position:absolute;
  inset:-18% -12%;
  background:
    radial-gradient(ellipse at 45% 45%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.045) 50%, transparent 64%);
  opacity:.9;
  pointer-events:none;
}
.portal-login-brand-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent 0%, transparent 82%, rgba(0,0,0,.18) 100%);
  pointer-events:none;
}

.portal-login-brand-depth{
  position:absolute;
  width:min(760px, 78%);
  height:280px;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  pointer-events:none;
}
.portal-login-brand-depth::before,
.portal-login-brand-depth::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
  mix-blend-mode:screen;
  pointer-events:none;
}
.portal-login-brand-depth::before{
  top:-48px;
  width:min(760px, 100%);
  height:48px;
  opacity:.62;
  background-image:url('../images/login/brand-shadow-top.png');
  mix-blend-mode:multiply;
}
.portal-login-brand-depth::after{
  bottom:-58px;
  width:min(790px, 104%);
  height:62px;
  opacity:.48;
  background-image:url('../images/login/brand-shadow-bottom.png');
}

.portal-login-brand-depth::before{
  top:-54px;
  width:min(980px, 118%);
  height:52px;
  opacity:.98;
  background-image:url('../images/login/brand-shadow-top.png');
}
.portal-login-brand-depth::after{
  bottom:-74px;
  width:min(1040px, 126%);
  height:100px;
  opacity:.94;
  background-image:url('../images/login/brand-shadow-bottom.png');
}

.portal-login-brand-lockup{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:28px;
  width:min(680px, 78%);
  transform:translateY(3px);
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.24));
}
.portal-login-mark{
  position:relative;
  flex:0 0 94px;
  width:94px;
  height:114px;
}
.portal-login-mark::before{
  content:"";
  position:absolute;
  inset:0 5px 18px;
  background:#fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:inset 0 -10px 18px rgba(8,27,58,.12), 0 14px 32px rgba(0,0,0,.18);
}
.portal-login-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:28px;
  width:46px;
  height:46px;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--login-navy-2);
  box-shadow:inset 0 3px 10px rgba(0,0,0,.25);
}
.portal-login-mark span::before,
.portal-login-mark span::after{
  content:"";
  position:absolute;
  z-index:2;
  left:50%;
  top:49px;
  width:30px;
  height:7px;
  border-radius:999px;
  background:#fff;
  transform-origin:center;
}
.portal-login-mark span::before{ transform:translateX(-50%) rotate(45deg); }
.portal-login-mark span::after{ transform:translateX(-50%) rotate(-45deg); }

.portal-login-brand-title{
  color:#fff;
  font-size:clamp(38px, 3.7vw, 62px);
  line-height:1;
  font-weight:850;
  letter-spacing:-.045em;
  text-shadow:0 3px 16px rgba(0,0,0,.20);
  white-space:nowrap;
}
.portal-login-brand-sub{
  margin-top:12px;
  color:rgba(198,220,255,.82);
  font-size:clamp(16px, 1.25vw, 22px);
  font-weight:650;
  letter-spacing:.02em;
}

body.tpl-usbeportal.portal-login-screen .portal-main{
  z-index:2;
  min-height:100vh;
  width:48vw;
  margin-left:52vw;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:54px clamp(28px, 5vw, 96px);
}

body.tpl-usbeportal.portal-login-screen .portal-main::before{
  content:"";
  position:fixed;
  inset:0 0 0 52vw;
  z-index:-1;
  background:
    radial-gradient(circle at 54% 28%, rgba(76,124,255,.10), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}

/* Login card targets: Joomla component, legacy portal card, and common wrappers. */
body.tpl-usbeportal.portal-login-screen .portal-main > .login,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-login,
body.tpl-usbeportal.portal-login-screen .portal-main > .component-content,
body.tpl-usbeportal.portal-login-screen .portal-main > .portal-card,
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card{
  width:min(560px, 100%) !important;
  max-width:560px !important;
  margin:0 auto !important;
  box-sizing:border-box;
  border-radius:28px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 32px 90px rgba(15,35,70,.14), 0 1px 0 rgba(255,255,255,.80) inset !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:48px 56px 0 !important;
  overflow:hidden;
}

body.tpl-usbeportal.portal-login-screen .portal-card.pr-card::before{ display:none !important; }
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title{ display:block !important; }
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1,
body.tpl-usbeportal.portal-login-screen .login > h1{
  margin:0 0 8px !important;
  color:#081b3a !important;
  font-size:38px !important;
  line-height:1.05 !important;
  font-weight:850 !important;
  letter-spacing:-.04em !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title::before,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1::before,
body.tpl-usbeportal.portal-login-screen .login > h1::before{
  content:"Welcome back";
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1,
body.tpl-usbeportal.portal-login-screen .login > h1{
  font-size:0 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title::before,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1::before,
body.tpl-usbeportal.portal-login-screen .login > h1::before{
  font-size:38px !important;
}

body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-sub,
body.tpl-usbeportal.portal-login-screen .com-users-login .com-users-login__description,
body.tpl-usbeportal.portal-login-screen .login-description,
body.tpl-usbeportal.portal-login-screen .login .lead,
body.tpl-usbeportal.portal-login-screen .login > p{
  color:#64748b !important;
  font-size:17px !important;
  margin:0 0 34px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-sub{
  font-size:0 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-sub::before{
  content:"Please sign in to continue.";
  font-size:17px;
}

body.tpl-usbeportal.portal-login-screen .portal-login.pr-login,
body.tpl-usbeportal.portal-login-screen form,
body.tpl-usbeportal.portal-login-screen fieldset{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.tpl-usbeportal.portal-login-screen fieldset{ padding:0 !important; margin:0 !important; }
body.tpl-usbeportal.portal-login-screen .control-group,
body.tpl-usbeportal.portal-login-screen .form-group,
body.tpl-usbeportal.portal-login-screen .mod-login__userdata > div{
  margin:0 0 22px !important;
}
body.tpl-usbeportal.portal-login-screen label{
  margin:0 0 10px !important;
  color:#0b1732 !important;
  font-weight:760 !important;
  font-size:15px !important;
}
body.tpl-usbeportal.portal-login-screen .form-control,
body.tpl-usbeportal.portal-login-screen input[type="text"],
body.tpl-usbeportal.portal-login-screen input[type="password"],
body.tpl-usbeportal.portal-login-screen input[type="email"]{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  box-sizing:border-box !important;
  border-radius:16px !important;
  border:1px solid rgba(80,98,128,.22) !important;
  background:rgba(255,255,255,.92) !important;
  color:#0f172a !important;
  padding:0 18px !important;
  font-size:15px !important;
  box-shadow:0 1px 0 rgba(255,255,255,.90) inset !important;
}
body.tpl-usbeportal.portal-login-screen .form-control:focus,
body.tpl-usbeportal.portal-login-screen input:focus{
  outline:0 !important;
  border-color:rgba(21,92,255,.55) !important;
  box-shadow:0 0 0 4px rgba(21,92,255,.11), 0 12px 28px rgba(15,35,70,.08) !important;
}
body.tpl-usbeportal.portal-login-screen .input-group{
  display:flex !important;
  gap:12px !important;
  align-items:center !important;
}
body.tpl-usbeportal.portal-login-screen .input-group .form-control{ flex:1 1 auto !important; }
body.tpl-usbeportal.portal-login-screen .input-password-toggle,
body.tpl-usbeportal.portal-login-screen button.input-password-toggle{
  flex:0 0 54px !important;
  width:54px !important;
  height:46px !important;
  min-height:46px !important;
  border-radius:14px !important;
  border:1px solid rgba(21,92,255,.18) !important;
  background:#f7faff !important;
  color:#155cff !important;
  font-size:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
body.tpl-usbeportal.portal-login-screen .input-password-toggle::before{
  content:"👁";
  font-size:17px;
  line-height:1;
}
body.tpl-usbeportal.portal-login-screen .form-check,
body.tpl-usbeportal.portal-login-screen .mod-login__remember .form-check{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 24px !important;
}
body.tpl-usbeportal.portal-login-screen .form-check-input,
body.tpl-usbeportal.portal-login-screen input[type="checkbox"]{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  border-radius:6px !important;
  border:1px solid rgba(15,23,42,.22) !important;
  margin:0 !important;
}
body.tpl-usbeportal.portal-login-screen .form-check label,
body.tpl-usbeportal.portal-login-screen .mod-login__remember label{
  margin:0 !important;
  font-size:16px !important;
  font-weight:560 !important;
  color:#18243a !important;
}
body.tpl-usbeportal.portal-login-screen .btn.btn-primary,
body.tpl-usbeportal.portal-login-screen button[type="submit"],
body.tpl-usbeportal.portal-login-screen input[type="submit"]{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  border:0 !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, #216bff 0%, #0d58ee 100%) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:16px !important;
  letter-spacing:.01em !important;
  box-shadow:0 18px 36px rgba(21,92,255,.22) !important;
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease !important;
}
body.tpl-usbeportal.portal-login-screen .btn.btn-primary:hover,
body.tpl-usbeportal.portal-login-screen button[type="submit"]:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 22px 42px rgba(21,92,255,.27) !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__submit,
body.tpl-usbeportal.portal-login-screen .control-group:last-of-type{ margin-bottom:0 !important; }

body.tpl-usbeportal.portal-login-screen .mod-login__options,
body.tpl-usbeportal.portal-login-screen ul.nav,
body.tpl-usbeportal.portal-login-screen .com-users-login__options{
  margin:34px -56px 0 !important;
  padding:22px 56px 26px !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  display:flex !important;
  justify-content:center !important;
  gap:34px !important;
  background:rgba(248,251,255,.72) !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__options li,
body.tpl-usbeportal.portal-login-screen ul.nav li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__options a,
body.tpl-usbeportal.portal-login-screen ul.nav a,
body.tpl-usbeportal.portal-login-screen .com-users-login__options a{
  color:#0d58ee !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:650 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__options a:hover,
body.tpl-usbeportal.portal-login-screen ul.nav a:hover{
  text-decoration:underline !important;
}

@media (max-width: 1100px){
  .portal-login-brand-panel{ width:46vw; min-width:0; }
  body.tpl-usbeportal.portal-login-screen .portal-main{ width:54vw; margin-left:46vw; padding-left:32px; padding-right:32px; }
  body.tpl-usbeportal.portal-login-screen .portal-main::before{ inset-left:46vw; }
  .portal-login-brand-lockup{ flex-direction:column; text-align:center; gap:18px; width:82%; }
  .portal-login-brand-sub{ margin-top:10px; }
}

@media (max-width: 820px){
  body.tpl-usbeportal.portal-login-screen{ background:linear-gradient(180deg, #081b3a 0 250px, #f6f9fe 250px 100%); }
  .portal-login-brand-panel{
    position:relative;
    width:100%;
    min-width:0;
    height:250px;
  }
  .portal-login-brand-depth{ width:86%; height:145px; }
  .portal-login-mark{ flex-basis:70px; width:70px; height:86px; }
  .portal-login-mark::after{ top:21px; width:34px; height:34px; }
  .portal-login-mark span::before,
  .portal-login-mark span::after{ top:36px; width:23px; height:5px; }
  .portal-login-brand-title{ font-size:34px; white-space:normal; }
  .portal-login-brand-sub{ font-size:15px; }
  body.tpl-usbeportal.portal-login-screen .portal-main{
    width:100%;
    margin-left:0;
    min-height:auto;
    padding:28px 16px 42px;
  }
  body.tpl-usbeportal.portal-login-screen .portal-main::before{ display:none; }
  body.tpl-usbeportal.portal-login-screen .portal-main > .login,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-login,
  body.tpl-usbeportal.portal-login-screen .portal-main > .component-content,
  body.tpl-usbeportal.portal-login-screen .portal-main > .portal-card,
  body.tpl-usbeportal.portal-login-screen .portal-card.pr-card{
    padding:34px 24px 0 !important;
    border-radius:24px !important;
  }
  body.tpl-usbeportal.portal-login-screen .mod-login__options,
  body.tpl-usbeportal.portal-login-screen ul.nav,
  body.tpl-usbeportal.portal-login-screen .com-users-login__options{
    margin-left:-24px !important;
    margin-right:-24px !important;
    padding-left:24px !important;
    padding-right:24px !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:12px !important;
  }
}


/* ------------------------------------------------------------
   v0.3.43 – Condensed login card + simplified Client Portal lockup
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
  display:block;
  width:min(680px, 74%);
  transform:translateY(4px);
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  font-size:clamp(44px, 4.1vw, 72px);
  white-space:nowrap;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logos{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{
  max-height:52px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{
  max-height:30px;
}

/* Condensed login card */
body.tpl-usbeportal.portal-login-screen .portal-main{
  padding:44px clamp(24px, 4vw, 72px);
}
body.tpl-usbeportal.portal-login-screen .portal-main > .login,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-login,
body.tpl-usbeportal.portal-login-screen .portal-main > .component-content,
body.tpl-usbeportal.portal-login-screen .portal-main > .portal-card,
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card{
  width:min(460px, 100%) !important;
  max-width:460px !important;
  border-radius:24px !important;
  padding:34px 38px 0 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1,
body.tpl-usbeportal.portal-login-screen .login > h1{
  margin:0 0 6px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title::before,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1::before,
body.tpl-usbeportal.portal-login-screen .login > h1::before{
  font-size:30px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-sub,
body.tpl-usbeportal.portal-login-screen .com-users-login .com-users-login__description,
body.tpl-usbeportal.portal-login-screen .login-description,
body.tpl-usbeportal.portal-login-screen .login .lead,
body.tpl-usbeportal.portal-login-screen .login > p{
  font-size:15px !important;
  margin:0 0 24px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-sub::before{
  font-size:15px;
}
body.tpl-usbeportal.portal-login-screen .control-group,
body.tpl-usbeportal.portal-login-screen .form-group,
body.tpl-usbeportal.portal-login-screen .mod-login__userdata > div{
  margin:0 0 16px !important;
}
body.tpl-usbeportal.portal-login-screen label{
  margin:0 0 8px !important;
  font-size:14px !important;
}
body.tpl-usbeportal.portal-login-screen .form-control,
body.tpl-usbeportal.portal-login-screen input[type="text"],
body.tpl-usbeportal.portal-login-screen input[type="password"],
body.tpl-usbeportal.portal-login-screen input[type="email"]{
  height:50px !important;
  min-height:50px !important;
  border-radius:14px !important;
  font-size:14px !important;
  padding:0 16px !important;
}
body.tpl-usbeportal.portal-login-screen .input-password-toggle,
body.tpl-usbeportal.portal-login-screen button.input-password-toggle{
  flex:0 0 46px !important;
  width:46px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:12px !important;
}
body.tpl-usbeportal.portal-login-screen .form-check,
body.tpl-usbeportal.portal-login-screen .mod-login__remember .form-check{
  gap:10px !important;
  margin:0 0 18px !important;
}
body.tpl-usbeportal.portal-login-screen .form-check label,
body.tpl-usbeportal.portal-login-screen .mod-login__remember label{
  font-size:15px !important;
}
body.tpl-usbeportal.portal-login-screen .btn.btn-primary,
body.tpl-usbeportal.portal-login-screen button[type="submit"],
body.tpl-usbeportal.portal-login-screen input[type="submit"]{
  height:50px !important;
  min-height:50px !important;
  border-radius:13px !important;
  font-size:15px !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__options,
body.tpl-usbeportal.portal-login-screen ul.nav,
body.tpl-usbeportal.portal-login-screen .com-users-login__options{
  margin-top:24px !important;
  padding:18px 38px 20px !important;
}
@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
    width:min(520px, 88%);
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    font-size:42px;
    white-space:normal;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logos{
    gap:10px;
    margin-top:18px;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{ max-height:42px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{ max-height:24px; }
}

/* ------------------------------------------------------------
   v0.3.44 – Brand lockup refinement
   Client Portal title with small partner logos underneath.
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth{
  width:min(780px, 76%);
  height:430px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::before{
  top:-24px;
  width:min(900px, 110%);
  height:56px;
  opacity:.72;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::after{
  bottom:-28px;
  width:min(900px, 110%);
  height:58px;
  opacity:.50;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
  width:min(680px, 72%);
  transform:translateY(0);
  filter:drop-shadow(0 22px 32px rgba(0,0,0,.18));
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{
  align-items:flex-start;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  font-size:clamp(46px, 4.2vw, 70px);
  line-height:.96;
  letter-spacing:-.05em;
  margin:0;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logos{
  margin-top:22px;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:26px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo{
  display:block;
  width:auto;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.14));
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{
  max-height:40px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{
  max-height:30px;
}
@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth{
    height:230px;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
    width:min(520px, 86%);
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    font-size:40px;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logos{
    margin-top:16px;
    gap:18px;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{ max-height:32px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{ max-height:24px; }
}


/* ------------------------------------------------------------
   v0.3.46 – Corrected Client Portal brand layout + recessed shadow treatment
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth{
  width:min(840px, 84%);
  height:400px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::before,
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::after{
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
  mix-blend-mode:multiply;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::before{
  top:2px;
  width:min(800px, 104%);
  height:58px;
  opacity:.92;
  background-image:url('../images/login/brand-shadow-top.png');
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::after{
  bottom:2px;
  width:min(800px, 104%);
  height:58px;
  opacity:.88;
  background-image:url('../images/login/brand-shadow-bottom.png');
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
  position:relative;
  z-index:2;
  width:min(740px, 78%);
  min-height:400px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:none;
  filter:none;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{
  width:100%;
  min-height:400px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:76px 0 76px;
  box-sizing:border-box;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  margin:0 0 38px;
  font-size:clamp(46px, 4vw, 72px);
  line-height:1.02;
  text-align:center;
  white-space:nowrap;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logos{
  margin-top:0;
  width:100%;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:42px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo{
  flex:0 0 auto;
  width:auto;
  height:auto;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.14));
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{ max-height:96px; }
body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{ max-height:82px; }
@media (max-width: 1260px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{ min-height:370px; height:370px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{ padding:68px 0; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{ margin-bottom:30px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{ max-height:88px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{ max-height:76px; }
}
@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{ min-height:unset; height:auto; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy{ padding:56px 0; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{ white-space:normal; margin-bottom:24px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logos{ gap:24px; flex-wrap:wrap; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--b1066{ max-height:70px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-logo--sebs{ max-height:58px; }
}


/* ------------------------------------------------------------
   v0.3.49 – Neutral portal identity for two businesses
   Client Portal + byline, smaller partner logos near footer
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-main,
body.tpl-usbeportal.portal-login-screen .portal-login-brand-panel{
  align-items:center !important;
}
body.tpl-usbeportal.portal-login-screen .portal-main > .login,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-login,
body.tpl-usbeportal.portal-login-screen .portal-main > .component-content,
body.tpl-usbeportal.portal-login-screen .portal-main > .portal-card,
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card{
  align-self:center !important;
  width:min(500px, 100%) !important;
  max-width:500px !important;
  border-radius:24px !important;
  padding:28px 40px 0 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth{
  width:min(840px, 84%) !important;
  height:400px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::before,
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::after{
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
  mix-blend-mode:multiply;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::before{
  top:2px !important;
  width:min(800px, 104%) !important;
  height:58px !important;
  opacity:.92 !important;
  background-image:url('../images/login/brand-shadow-top.png') !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth::after{
  bottom:2px !important;
  width:min(800px, 104%) !important;
  height:58px !important;
  opacity:.88 !important;
  background-image:url('../images/login/brand-shadow-bottom.png') !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
  position:relative;
  z-index:2;
  width:min(740px, 78%) !important;
  min-height:400px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{
  width:100%;
  min-height:400px;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:space-between !important;
  text-align:center !important;
  padding:100px 0 100px !important;
  box-sizing:border-box;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-main{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  margin:0 !important;
  font-size:clamp(48px, 4.15vw, 74px) !important;
  line-height:1.02 !important;
  white-space:nowrap;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-byline{
  color:rgba(221,230,246,.86);
  font-size:18px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.01em;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo{
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.14));
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{ max-height:48px; }
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{ max-height:28px; }

/* Compact login card, keep a single subtitle */
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1,
body.tpl-usbeportal.portal-login-screen .login > h1{
  margin:0 0 4px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title::before,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1::before,
body.tpl-usbeportal.portal-login-screen .login > h1::before{
  font-size:26px !important;
  line-height:1.04 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title::after,
body.tpl-usbeportal.portal-login-screen .com-users-login > h1::after,
body.tpl-usbeportal.portal-login-screen .login > h1::after{
  content:"Please sign in to continue.";
  display:block;
  margin-top:10px;
  color:#64748b !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-sub,
body.tpl-usbeportal.portal-login-screen .com-users-login .com-users-login__description,
body.tpl-usbeportal.portal-login-screen .login-description,
body.tpl-usbeportal.portal-login-screen .login .lead,
body.tpl-usbeportal.portal-login-screen .login > p,
body.tpl-usbeportal.portal-login-screen .com-users-login > p{
  display:none !important;
}
body.tpl-usbeportal.portal-login-screen .control-group,
body.tpl-usbeportal.portal-login-screen .form-group,
body.tpl-usbeportal.portal-login-screen .mod-login__userdata > div{
  margin:0 0 14px !important;
}
body.tpl-usbeportal.portal-login-screen label{
  margin:0 0 6px !important;
  font-size:13px !important;
}
body.tpl-usbeportal.portal-login-screen .form-control,
body.tpl-usbeportal.portal-login-screen input[type="text"],
body.tpl-usbeportal.portal-login-screen input[type="password"],
body.tpl-usbeportal.portal-login-screen input[type="email"]{
  height:46px !important;
  min-height:46px !important;
  border-radius:14px !important;
  font-size:14px !important;
  padding:0 16px !important;
}
body.tpl-usbeportal.portal-login-screen .input-group{ gap:10px !important; }
body.tpl-usbeportal.portal-login-screen .input-password-toggle,
body.tpl-usbeportal.portal-login-screen button.input-password-toggle{
  flex:0 0 42px !important;
  width:42px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:12px !important;
}
body.tpl-usbeportal.portal-login-screen .form-check,
body.tpl-usbeportal.portal-login-screen .mod-login__remember .form-check{
  gap:10px !important;
  margin:0 0 14px !important;
}
body.tpl-usbeportal.portal-login-screen .form-check-input,
body.tpl-usbeportal.portal-login-screen input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
}
body.tpl-usbeportal.portal-login-screen .form-check label,
body.tpl-usbeportal.portal-login-screen .mod-login__remember label{
  font-size:14px !important;
}
body.tpl-usbeportal.portal-login-screen .btn.btn-primary,
body.tpl-usbeportal.portal-login-screen button[type="submit"],
body.tpl-usbeportal.portal-login-screen input[type="submit"]{
  height:46px !important;
  min-height:46px !important;
  border-radius:14px !important;
  font-size:14px !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__options,
body.tpl-usbeportal.portal-login-screen ul.nav,
body.tpl-usbeportal.portal-login-screen .com-users-login__options{
  margin:18px -40px 0 !important;
  padding:14px 40px 16px !important;
  gap:22px !important;
}
body.tpl-usbeportal.portal-login-screen .mod-login__options a,
body.tpl-usbeportal.portal-login-screen ul.nav a,
body.tpl-usbeportal.portal-login-screen .com-users-login__options a{
  font-size:14px !important;
}

@media (max-width: 1260px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{ height:370px !important; min-height:370px !important; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{ padding:88px 0 88px !important; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{ font-size:clamp(42px, 3.8vw, 64px) !important; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-byline{ font-size:17px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{ max-height:44px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{ max-height:26px; }
}
@media (max-height: 900px) and (min-width: 821px){
  body.tpl-usbeportal.portal-login-screen .portal-main > .login,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-login,
  body.tpl-usbeportal.portal-login-screen .portal-main > .component-content,
  body.tpl-usbeportal.portal-login-screen .portal-main > .portal-card,
  body.tpl-usbeportal.portal-login-screen .portal-card.pr-card{
    width:min(480px, 100%) !important;
    max-width:480px !important;
    padding:24px 34px 0 !important;
  }
  body.tpl-usbeportal.portal-login-screen .portal-card.pr-card .pr-title::before,
  body.tpl-usbeportal.portal-login-screen .com-users-login > h1::before,
  body.tpl-usbeportal.portal-login-screen .login > h1::before{ font-size:24px !important; }
  body.tpl-usbeportal.portal-login-screen .control-group,
  body.tpl-usbeportal.portal-login-screen .form-group,
  body.tpl-usbeportal.portal-login-screen .mod-login__userdata > div{ margin-bottom:12px !important; }
  body.tpl-usbeportal.portal-login-screen .mod-login__options,
  body.tpl-usbeportal.portal-login-screen ul.nav,
  body.tpl-usbeportal.portal-login-screen .com-users-login__options{
    margin-left:-34px !important;
    margin-right:-34px !important;
    padding:12px 34px 14px !important;
  }
}
@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-depth,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon,
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{ min-height:unset !important; height:auto !important; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{ padding:44px 0 !important; gap:22px !important; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-main{ gap:12px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{ white-space:normal; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-byline{ font-size:16px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{ gap:20px; flex-wrap:wrap; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{ max-height:40px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{ max-height:24px; }
}


/* ------------------------------------------------------------
   v0.3.50 – Partner logos anchored bottom-left of brand panel
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-lockup--noicon{
  position:relative !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{
  position:relative;
  justify-content:center !important;
  padding:0 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-main{
  position:relative;
  z-index:2;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
  position:absolute;
  left:34px;
  bottom:30px;
  width:auto;
  justify-content:flex-start;
  gap:22px;
  z-index:2;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{
  max-height:44px;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{
  max-height:24px;
}
@media (max-width: 1260px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
    left:28px;
    bottom:24px;
    gap:18px;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{ max-height:40px; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{ max-height:22px; }
}
@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{
    padding:40px 0 78px !important;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    justify-content:center;
    flex-wrap:wrap;
  }
}


/* ------------------------------------------------------------
   v0.3.51 – Move partner logos to true bottom-left of the page
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
  position:fixed !important;
  left:28px !important;
  bottom:24px !important;
  width:auto !important;
  justify-content:flex-start !important;
  gap:20px !important;
  z-index:4 !important;
  transform:none !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{
  max-height:42px !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{
  max-height:23px !important;
}
@media (max-width: 1260px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
    left:22px !important;
    bottom:20px !important;
    gap:16px !important;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--b1066{ max-height:38px !important; }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogo--sebs{ max-height:21px !important; }
}
@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-copy--neutral{
    padding:44px 0 82px !important;
  }
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-footerlogos{
    position:absolute !important;
    left:50% !important;
    bottom:18px !important;
    transform:translateX(-50%) !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
  }
}


/* ------------------------------------------------------------
   v0.3.52 – Remove shared-business byline under Client Portal
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-byline{
  display:none !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-main{
  gap:0 !important;
}


/* ------------------------------------------------------------
   v0.3.53 – Subtle animated sheen for Client Portal title
------------------------------------------------------------ */
@keyframes portalTitleSheen {
  0%, 12%   { background-position: 130% 50%; }
  42%, 58%  { background-position: 50% 50%; }
  88%, 100% { background-position: -30% 50%; }
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  position:relative;
  display:inline-block;
  color:#ffffff;
  background-image:linear-gradient(90deg,
    #ffffff 0%,
    #ffffff 34%,
    #d7e6ff 49%,
    #ffffff 62%,
    #ffffff 100%);
  background-size:220% 100%;
  background-position:130% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    0 2px 0 rgba(7, 20, 49, 0.18),
    0 12px 28px rgba(0, 0, 0, 0.16);
  animation:portalTitleSheen 9s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    animation:none !important;
    background-position:50% 50% !important;
  }
}


/* ------------------------------------------------------------
   v0.3.56 – Bolder, more premium Client Portal title treatment
------------------------------------------------------------ */
@keyframes portalTitlePremiumSweep {
  0%, 16%   { background-position: 125% 50%; }
  44%, 58%  { background-position: 50% 50%; }
  86%, 100% { background-position: -25% 50%; }
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  position: relative;
  display: inline-block;
  font-size: clamp(54px, 4.5vw, 82px) !important;
  line-height: 1.01 !important;
  letter-spacing: -0.035em;
  font-weight: 900;
  color: #ffffff;
  background-image: linear-gradient(100deg,
    #ffffff 0%,
    #ffffff 24%,
    #eef5ff 38%,
    #c8ddff 47%,
    #ffffff 50%,
    #eef5ff 54%,
    #ffffff 66%,
    #ffffff 100%);
  background-size: 235% 100%;
  background-position: 125% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow:
    0 1px 0 rgba(255,255,255,0.10),
    0 2px 0 rgba(8, 24, 58, 0.18),
    0 10px 24px rgba(0, 0, 0, 0.16),
    0 0 18px rgba(140, 185, 255, 0.10);
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.10));
  animation: portalTitlePremiumSweep 8.8s cubic-bezier(.42,.05,.18,.98) infinite;
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::before{
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 52%;
  height: 66%;
  transform: translateY(-38%);
  background: radial-gradient(ellipse at center,
    rgba(131, 170, 255, 0.18) 0%,
    rgba(131, 170, 255, 0.08) 42%,
    rgba(131, 170, 255, 0.00) 76%);
  filter: blur(18px);
  pointer-events: none;
  z-index: -1;
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::after{
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -10px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(184,212,255,0.22) 18%,
    rgba(255,255,255,0.34) 50%,
    rgba(184,212,255,0.22) 82%,
    rgba(255,255,255,0) 100%);
  filter: blur(6px);
  opacity: .72;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    animation: none !important;
    background-position: 50% 50% !important;
  }
}

@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    font-size: clamp(44px, 9vw, 64px) !important;
  }
}


/* ------------------------------------------------------------
   v0.3.57 – Glassy / modern SaaS title treatment
------------------------------------------------------------ */
@keyframes portalTitleGlassSweep {
  0%, 14%   { background-position: 120% 50%; }
  46%, 58%  { background-position: 50% 50%; }
  88%, 100% { background-position: -20% 50%; }
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  position: relative;
  display: inline-block;
  font-size: clamp(54px, 4.5vw, 82px) !important;
  line-height: 1.01 !important;
  letter-spacing: -0.035em;
  font-weight: 900;
  color: #ffffff;
  background-image: linear-gradient(102deg,
    rgba(255,255,255,0.92) 0%,
    rgba(255,255,255,0.98) 16%,
    rgba(220,236,255,1) 28%,
    rgba(186,219,255,1) 40%,
    rgba(255,255,255,1) 50%,
    rgba(196,226,255,1) 58%,
    rgba(232,243,255,1) 72%,
    rgba(255,255,255,0.96) 100%) !important;
  background-size: 230% 100% !important;
  background-position: 120% 50% !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,0.12);
  text-shadow:
    0 1px 0 rgba(255,255,255,0.26),
    0 2px 0 rgba(15, 36, 83, 0.16),
    0 10px 22px rgba(0, 0, 0, 0.14),
    0 0 22px rgba(120, 188, 255, 0.12),
    0 0 42px rgba(120, 188, 255, 0.10) !important;
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.08));
  animation: portalTitleGlassSweep 9.6s cubic-bezier(.42,.08,.18,.98) infinite !important;
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::before{
  content: "";
  position: absolute;
  left: -14px;
  right: -14px;
  top: 46%;
  height: 74%;
  transform: translateY(-42%);
  background: radial-gradient(ellipse at center,
    rgba(123, 181, 255, 0.22) 0%,
    rgba(123, 181, 255, 0.12) 36%,
    rgba(123, 181, 255, 0.04) 56%,
    rgba(123, 181, 255, 0.00) 78%);
  filter: blur(16px);
  pointer-events: none;
  z-index: -1;
}

body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::after{
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  top: 16%;
  height: 22%;
  border-radius: 999px;
  background: linear-gradient(90deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.20) 18%,
    rgba(255,255,255,0.48) 50%,
    rgba(255,255,255,0.20) 82%,
    rgba(255,255,255,0.00) 100%);
  filter: blur(7px);
  opacity: .88;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    animation: none !important;
    background-position: 50% 50% !important;
  }
}

@media (max-width: 900px){
  body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
    font-size: clamp(44px, 9vw, 64px) !important;
  }
}


/* ------------------------------------------------------------
   v0.3.58 – Glassy title without the blurred background glow
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  text-shadow:
    0 1px 0 rgba(255,255,255,0.22),
    0 2px 0 rgba(15, 36, 83, 0.14),
    0 8px 18px rgba(0, 0, 0, 0.12),
    0 0 10px rgba(120, 188, 255, 0.06) !important;
  filter: none !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::before{
  display:none !important;
  content:none !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::after{
  left:10% !important;
  right:10% !important;
  top:15% !important;
  height:18% !important;
  background: linear-gradient(90deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.16) 18%,
    rgba(255,255,255,0.34) 50%,
    rgba(255,255,255,0.16) 82%,
    rgba(255,255,255,0.00) 100%) !important;
  filter: blur(5px) !important;
  opacity: .72 !important;
}


/* ------------------------------------------------------------
   v0.3.59 – Clean glass title, remove remaining halo / banding
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  text-shadow:
    0 1px 0 rgba(255,255,255,0.16),
    0 2px 0 rgba(13, 31, 72, 0.12),
    0 4px 10px rgba(0, 0, 0, 0.10) !important;
  filter:none !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::before,
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::after{
  display:none !important;
  content:none !important;
}


/* ------------------------------------------------------------
   v0.3.60 – Clean premium title: solid white, no glass/metal effect
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:none !important;
  background-image:none !important;
  background-size:auto !important;
  background-position:initial !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-stroke:0 !important;
  font-weight:850 !important;
  letter-spacing:-0.045em !important;
  text-shadow:
    0 2px 0 rgba(5, 16, 38, .18),
    0 12px 26px rgba(0, 0, 0, .18) !important;
  filter:none !important;
  animation:none !important;
}
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::before,
body.tpl-usbeportal.portal-login-screen .portal-login-brand-title--simple::after{
  display:none !important;
  content:none !important;
}


/* ------------------------------------------------------------
   v0.3.65 – Login/reset form polish and sane message placement
   Fixes reset/verification layouts, field spacing, and Joomla alerts.
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen .portal-main{
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
}

/* Keep Joomla messages above the form instead of as a second flex column. */
body.tpl-usbeportal.portal-login-screen #system-message-container,
body.tpl-usbeportal.portal-login-screen .system-message-container{
  order:0 !important;
  width:min(500px, 100%) !important;
  max-width:500px !important;
  margin:0 auto 2px !important;
  align-self:center !important;
  position:relative !important;
  z-index:20 !important;
}
body.tpl-usbeportal.portal-login-screen .portal-main > .login,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-login,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-reset,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-remind,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-methods,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-profile,
body.tpl-usbeportal.portal-login-screen .portal-main > .component-content,
body.tpl-usbeportal.portal-login-screen .portal-main > .portal-card,
body.tpl-usbeportal.portal-login-screen .portal-card.pr-card{
  order:1 !important;
}

/* Alerts/toasts: compact card styling and no odd left-floating. */
body.tpl-usbeportal.portal-login-screen .joomla-alert,
body.tpl-usbeportal.portal-login-screen .alert,
body.tpl-usbeportal.portal-login-screen #system-message-container .alert,
body.tpl-usbeportal.portal-login-screen #system-message-container joomla-alert{
  box-sizing:border-box !important;
  width:100% !important;
  margin:0 0 12px !important;
  padding:14px 44px 14px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(14, 116, 144, .18) !important;
  background:rgba(225, 247, 252, .90) !important;
  color:#075569 !important;
  box-shadow:0 14px 34px rgba(15,35,70,.10) !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
body.tpl-usbeportal.portal-login-screen .joomla-alert .alert-heading,
body.tpl-usbeportal.portal-login-screen .alert .alert-heading{
  margin:0 0 6px !important;
  font-size:15px !important;
  font-weight:800 !important;
  color:#075569 !important;
}
body.tpl-usbeportal.portal-login-screen .joomla-alert .joomla-alert--close,
body.tpl-usbeportal.portal-login-screen .joomla-alert button,
body.tpl-usbeportal.portal-login-screen .alert .btn-close,
body.tpl-usbeportal.portal-login-screen .alert button.close{
  top:12px !important;
  right:12px !important;
}

/* Make reset/remind/verification screens use the same polished card as login. */
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-reset,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-remind,
body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-methods,
body.tpl-usbeportal.portal-login-screen .portal-main > .reset,
body.tpl-usbeportal.portal-login-screen .portal-main > .remind,
body.tpl-usbeportal.portal-login-screen .portal-main > form,
body.tpl-usbeportal.portal-login-screen .com-users-reset,
body.tpl-usbeportal.portal-login-screen .com-users-remind{
  width:min(500px, 100%) !important;
  max-width:500px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 32px 90px rgba(15,35,70,.14), 0 1px 0 rgba(255,255,255,.80) inset !important;
  padding:28px 40px !important;
  overflow:hidden !important;
}
body.tpl-usbeportal.portal-login-screen .com-users-reset form,
body.tpl-usbeportal.portal-login-screen .com-users-remind form,
body.tpl-usbeportal.portal-login-screen .com-users-methods form,
body.tpl-usbeportal.portal-login-screen .reset form,
body.tpl-usbeportal.portal-login-screen .remind form{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Reset page headings and explanatory copy. */
body.tpl-usbeportal.portal-login-screen .com-users-reset > h1,
body.tpl-usbeportal.portal-login-screen .com-users-remind > h1,
body.tpl-usbeportal.portal-login-screen .reset > h1,
body.tpl-usbeportal.portal-login-screen .remind > h1,
body.tpl-usbeportal.portal-login-screen .com-users-reset > legend,
body.tpl-usbeportal.portal-login-screen .com-users-remind > legend{
  margin:0 0 12px !important;
  color:#081b3a !important;
  font-size:26px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  letter-spacing:-.03em !important;
}
body.tpl-usbeportal.portal-login-screen .com-users-reset p,
body.tpl-usbeportal.portal-login-screen .com-users-remind p,
body.tpl-usbeportal.portal-login-screen .reset p,
body.tpl-usbeportal.portal-login-screen .remind p{
  color:#172033 !important;
  font-size:15px !important;
  line-height:1.42 !important;
  margin:0 0 20px !important;
}

/* Form spacing: labels, validation messages, inputs and buttons. */
body.tpl-usbeportal.portal-login-screen .control-group,
body.tpl-usbeportal.portal-login-screen .form-group,
body.tpl-usbeportal.portal-login-screen .mb-3{
  margin:0 0 18px !important;
}
body.tpl-usbeportal.portal-login-screen .control-label,
body.tpl-usbeportal.portal-login-screen .control-label label,
body.tpl-usbeportal.portal-login-screen .form-label,
body.tpl-usbeportal.portal-login-screen label{
  display:block !important;
  margin:0 0 8px !important;
  line-height:1.25 !important;
}
body.tpl-usbeportal.portal-login-screen .invalid-feedback,
body.tpl-usbeportal.portal-login-screen .form-text,
body.tpl-usbeportal.portal-login-screen .help-block{
  display:block !important;
  margin:6px 0 0 !important;
  font-size:13px !important;
  line-height:1.3 !important;
}
body.tpl-usbeportal.portal-login-screen .form-control,
body.tpl-usbeportal.portal-login-screen input[type="text"],
body.tpl-usbeportal.portal-login-screen input[type="password"],
body.tpl-usbeportal.portal-login-screen input[type="email"]{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body.tpl-usbeportal.portal-login-screen .btn.btn-primary,
body.tpl-usbeportal.portal-login-screen button[type="submit"],
body.tpl-usbeportal.portal-login-screen input[type="submit"]{
  margin-top:4px !important;
}

/* Reset pages sometimes output a bare fieldset/button block: keep breathing room. */
body.tpl-usbeportal.portal-login-screen fieldset + .control-group,
body.tpl-usbeportal.portal-login-screen fieldset + .form-group,
body.tpl-usbeportal.portal-login-screen .com-users-reset .controls,
body.tpl-usbeportal.portal-login-screen .com-users-remind .controls{
  width:100% !important;
}
body.tpl-usbeportal.portal-login-screen .com-users-reset .btn,
body.tpl-usbeportal.portal-login-screen .com-users-remind .btn,
body.tpl-usbeportal.portal-login-screen .reset .btn,
body.tpl-usbeportal.portal-login-screen .remind .btn{
  width:100% !important;
}

@media (max-width: 820px){
  body.tpl-usbeportal.portal-login-screen #system-message-container,
  body.tpl-usbeportal.portal-login-screen .system-message-container,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-reset,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-remind,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-methods,
  body.tpl-usbeportal.portal-login-screen .portal-main > .reset,
  body.tpl-usbeportal.portal-login-screen .portal-main > .remind{
    width:100% !important;
    max-width:100% !important;
  }
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-reset,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-remind,
  body.tpl-usbeportal.portal-login-screen .portal-main > .com-users-methods,
  body.tpl-usbeportal.portal-login-screen .portal-main > .reset,
  body.tpl-usbeportal.portal-login-screen .portal-main > .remind{
    padding:26px 24px !important;
  }
}

/* ------------------------------------------------------------
   v0.3.66 – MFA / 2FA setup screens use the same auth shell
   Applies to com_users methods.* / method.* / captive.* pages while logged in.
------------------------------------------------------------ */
body.tpl-usbeportal.portal-login-screen.portal-mfa-screen{
  overflow-y:auto;
}

body.tpl-usbeportal.portal-mfa-screen .portal-login-userbar{
  position:fixed;
  top:22px;
  right:28px;
  z-index:8;
  display:flex;
  align-items:center;
  gap:6px;
  color:#0f172a;
  font-size:15px;
  font-weight:500;
}
body.tpl-usbeportal.portal-mfa-screen .portal-login-userbar a{
  color:#0f172a;
  text-decoration:none;
}
body.tpl-usbeportal.portal-mfa-screen .portal-login-userbar a:hover{
  text-decoration:underline;
}

body.tpl-usbeportal.portal-mfa-screen .portal-main{
  padding-top:72px !important;
  padding-bottom:72px !important;
}

/* MFA pages need a little more room than the login card. */
body.tpl-usbeportal.portal-mfa-screen .portal-main > .com-users-methods,
body.tpl-usbeportal.portal-mfa-screen .portal-main > .com-users-captive,
body.tpl-usbeportal.portal-mfa-screen .portal-main > .component-content,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive{
  width:min(640px, 100%) !important;
  max-width:640px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 32px 90px rgba(15,35,70,.14), 0 1px 0 rgba(255,255,255,.80) inset !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:32px 40px !important;
  overflow:hidden !important;
}

body.tpl-usbeportal.portal-mfa-screen .com-users-methods > h1,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods h1,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive > h1,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive h1{
  margin:0 0 10px !important;
  color:#081b3a !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:850 !important;
  letter-spacing:-.035em !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods h2,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods h3,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive h2,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive h3{
  margin:24px 0 8px !important;
  color:#0b1732 !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:820 !important;
  letter-spacing:-.02em !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods p,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive p{
  color:#475569 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  margin:0 0 12px !important;
}

/* Status text near the top, e.g. “not enabled”. */
body.tpl-usbeportal.portal-mfa-screen .com-users-methods > p:first-of-type,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .mfa-status,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:2px 0 18px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:#f1f5f9 !important;
  border:1px solid rgba(15,23,42,.08) !important;
  color:#334155 !important;
  font-size:13px !important;
  font-weight:650 !important;
}

/* Verification methods as clean SaaS rows/cards rather than raw Joomla output. */
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .list-group,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .com-users-methods-list,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods ul{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  margin:14px 0 0 !important;
  padding:0 !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .list-group-item,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .com-users-methods-list-method,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods li{
  list-style:none !important;
  position:relative !important;
  display:block !important;
  margin:0 !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:rgba(248,251,255,.86) !important;
  box-shadow:0 10px 28px rgba(15,35,70,.06) !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .list-group-item h2,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .list-group-item h3,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .com-users-methods-list-method h2,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .com-users-methods-list-method h3,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods li h2,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods li h3{
  margin-top:0 !important;
}

/* Stop method icons appearing as oversized raw glyphs/checkbox-looking artefacts. */
body.tpl-usbeportal.portal-mfa-screen .com-users-methods img,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods svg{
  max-width:42px !important;
  max-height:42px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  vertical-align:middle !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods [class^="icon-"],
body.tpl-usbeportal.portal-mfa-screen .com-users-methods [class*=" icon-"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  margin-right:10px !important;
  border-radius:11px !important;
  background:#eef6ff !important;
  color:#155cff !important;
  font-size:18px !important;
  line-height:1 !important;
}

body.tpl-usbeportal.portal-mfa-screen .com-users-methods a,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive a{
  color:#0d58ee !important;
  font-weight:650 !important;
  text-decoration:none !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods a:hover,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive a:hover{
  text-decoration:underline !important;
}

/* Add/setup links become tidy outline actions. */
body.tpl-usbeportal.portal-mfa-screen .com-users-methods a[href*="method"],
body.tpl-usbeportal.portal-mfa-screen .com-users-methods a[href*="methods"],
body.tpl-usbeportal.portal-mfa-screen .com-users-methods .btn:not(.btn-primary){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:12px !important;
  border:1px solid rgba(21,92,255,.18) !important;
  background:#f7faff !important;
  color:#155cff !important;
  box-shadow:none !important;
}

/* MFA setup forms: keep submit buttons sensible, not every small button full-width. */
body.tpl-usbeportal.portal-mfa-screen .btn,
body.tpl-usbeportal.portal-mfa-screen button,
body.tpl-usbeportal.portal-mfa-screen input[type="submit"]{
  width:auto !important;
}
body.tpl-usbeportal.portal-mfa-screen .btn.btn-primary,
body.tpl-usbeportal.portal-mfa-screen button[type="submit"],
body.tpl-usbeportal.portal-mfa-screen input[type="submit"]{
  width:auto !important;
  min-width:150px !important;
  padding-left:18px !important;
  padding-right:18px !important;
}

body.tpl-usbeportal.portal-mfa-screen input[type="text"],
body.tpl-usbeportal.portal-mfa-screen input[type="password"],
body.tpl-usbeportal.portal-mfa-screen input[type="email"],
body.tpl-usbeportal.portal-mfa-screen input[type="number"]{
  width:100% !important;
  height:46px !important;
  min-height:46px !important;
  box-sizing:border-box !important;
  border-radius:14px !important;
  border:1px solid rgba(80,98,128,.22) !important;
  background:rgba(255,255,255,.92) !important;
  color:#0f172a !important;
  padding:0 16px !important;
  font-size:14px !important;
  box-shadow:0 1px 0 rgba(255,255,255,.90) inset !important;
}

@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen .portal-login-userbar{
    top:12px;
    right:14px;
    color:#fff;
  }
  body.tpl-usbeportal.portal-mfa-screen .portal-login-userbar a{ color:#fff; }
  body.tpl-usbeportal.portal-mfa-screen .portal-main{
    padding-top:28px !important;
    padding-bottom:42px !important;
  }
  body.tpl-usbeportal.portal-mfa-screen .portal-main > .com-users-methods,
  body.tpl-usbeportal.portal-mfa-screen .portal-main > .com-users-captive,
  body.tpl-usbeportal.portal-mfa-screen .portal-main > .component-content,
  body.tpl-usbeportal.portal-mfa-screen .com-users-methods,
  body.tpl-usbeportal.portal-mfa-screen .com-users-captive{
    width:100% !important;
    max-width:100% !important;
    padding:26px 24px !important;
  }
}

/* ------------------------------------------------------------
   v0.3.68 – hide duplicate MFA setup title
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-mfa-title{
  margin-top:12px !important;
  max-width:520px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(20px, 2.1vw, 34px) !important;
  line-height:1.12 !important;
  font-weight:820 !important;
  letter-spacing:-.035em !important;
  text-shadow:0 8px 22px rgba(0,0,0,.18) !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-byline{
  margin-top:10px !important;
}
body.tpl-usbeportal.portal-mfa-screen .com-users-methods > h1,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods h1:first-child,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive > h1,
body.tpl-usbeportal.portal-mfa-screen .com-users-captive h1:first-child{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-mfa-title{
    font-size:22px !important;
  }
}


/* ------------------------------------------------------------
   v0.3.68 – hide duplicated MFA setup wording
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-mfa-title{
  display:none !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-main h1,
body.tpl-usbeportal.portal-mfa-screen .page-header h1,
body.tpl-usbeportal.portal-mfa-screen .componentheading,
body.tpl-usbeportal.portal-mfa-screen .page-title{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}


/* ------------------------------------------------------------
   v0.3.69 – MFA title lives on the left brand panel only
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-mfa-title{
  display:block !important;
  margin-top:14px !important;
  max-width:560px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(22px, 2.2vw, 34px) !important;
  line-height:1.12 !important;
  font-weight:820 !important;
  letter-spacing:-.035em !important;
  text-align:center !important;
  text-shadow:0 10px 28px rgba(0,0,0,.24) !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-byline{
  margin-top:10px !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-main h1,
body.tpl-usbeportal.portal-mfa-screen .portal-main .page-header,
body.tpl-usbeportal.portal-mfa-screen .portal-main .componentheading,
body.tpl-usbeportal.portal-mfa-screen .portal-main .page-title,
body.tpl-usbeportal.portal-mfa-screen .portal-main header:has(h1),
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-duplicate-title{
  display:none !important;
}
@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-mfa-title{
    font-size:20px !important;
    max-width:360px !important;
  }
}


/* ------------------------------------------------------------
   v0.3.70 – hide Joomla MFA list heading when rendered as h2
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen #com-users-methods-list-head,
body.tpl-usbeportal.portal-mfa-screen .portal-main > h2:first-child,
body.tpl-usbeportal.portal-mfa-screen .portal-main .com-users-methods > h2:first-child,
body.tpl-usbeportal.portal-mfa-screen .portal-main h2[id*="methods-list-head"]{
  display:none !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-login-brand-mfa-title{
  display:block !important;
  color:rgba(255,255,255,.94) !important;
}


/* ------------------------------------------------------------
   v0.3.71 – tidy MFA setup method cards
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen #com-users-methods-list-container,
body.tpl-usbeportal.portal-mfa-screen .com-users-methods-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
  margin:18px 0 0 !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card{
  display:block !important;
  padding:20px 22px !important;
  border-radius:20px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,250,255,.96) 100%) !important;
  box-shadow:0 12px 28px rgba(15,35,70,.07) !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__header{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  margin:0 0 8px !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__icon{
  flex:0 0 52px !important;
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg, #eef5ff 0%, #e7f0ff 100%) !important;
  color:#155cff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 6px 14px rgba(21,92,255,.10) !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__icon img,
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__icon svg{
  max-width:28px !important;
  max-height:28px !important;
  width:28px !important;
  height:28px !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__icon [class^="icon-"],
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__icon [class*=" icon-"]{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  font-size:22px !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__content{
  min-width:0 !important;
  flex:1 1 auto !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__eyebrow{
  margin:0 0 4px !important;
  color:#155cff !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__title{
  margin:0 !important;
  color:#0b1732 !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:840 !important;
  letter-spacing:-.03em !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__desc{
  margin:10px 0 0 !important;
  color:#475569 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__actions{
  margin-top:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__actions > a,
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__actions > .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 14px !important;
  border-radius:12px !important;
  border:1px solid rgba(21,92,255,.16) !important;
  background:#f7faff !important;
  color:#155cff !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__actions > a:hover,
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__actions > .btn:hover{
  background:#eef5ff !important;
  text-decoration:none !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__extra{
  margin-top:14px !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__extra:empty{
  display:none !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__extra > *:first-child{
  margin-top:0 !important;
}
body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__extra > *:last-child{
  margin-bottom:0 !important;
}
@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card{
    padding:18px !important;
  }
  body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__header{
    gap:12px !important;
  }
  body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__icon{
    flex-basis:46px !important;
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
  }
  body.tpl-usbeportal.portal-mfa-screen .portal-mfa-method-card__title{
    font-size:24px !important;
  }
}


/* ------------------------------------------------------------
   v0.3.72 – auth-shell styling for MFA add / edit pages
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main{
  padding-top:56px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main > .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main > .com-users-method,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main > .com-users-methods,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main > form,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main > .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main > .com-users-method,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main > .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main > .com-users-method,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .component-content{
  width:min(820px, 100%) !important;
  max-width:820px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .component-content,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .component-content{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:24px !important;
  box-shadow:0 32px 90px rgba(15,35,70,.14), 0 1px 0 rgba(255,255,255,.80) inset !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:32px 40px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main form,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main form,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main form{
  display:block !important;
  margin:0 !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main fieldset,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main fieldset,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main fieldset{
  margin:0 0 20px !important;
  padding:0 !important;
  border:0 !important;
  min-inline-size:0 !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main legend,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main legend,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main legend{
  margin:18px 0 10px !important;
  color:#0b1732 !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:840 !important;
  letter-spacing:-.03em !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .control-group,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .form-group,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .mb-3,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .control-group,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .form-group,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .mb-3,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .control-group,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .form-group,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .mb-3{
  margin:0 0 18px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main label,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main label,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main label{
  display:block !important;
  margin:0 0 8px !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:760 !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="text"],
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="password"],
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="email"],
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="number"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="text"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="password"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="email"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="number"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="text"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="password"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="email"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="number"]{
  width:min(100%, 430px) !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 14px !important;
  border-radius:14px !important;
  border:1px solid rgba(80,98,128,.22) !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(255,255,255,.94) inset !important;
  color:#0f172a !important;
  font-size:14px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="checkbox"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="checkbox"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  margin-right:10px !important;
  accent-color:#155cff;
  vertical-align:middle !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main p,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main p,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main p,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main li,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main li,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main li{
  color:#475569 !important;
  font-size:15px !important;
  line-height:1.58 !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main h2,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main h3,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main h2,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main h3,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main h2,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main h3{
  margin:22px 0 10px !important;
  color:#0b1732 !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:820 !important;
  letter-spacing:-.02em !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main a,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main a,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main a{
  color:#155cff !important;
  font-weight:700 !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .btn,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main button,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="submit"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .btn,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main button,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="submit"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .btn,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main button,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="submit"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:14px !important;
  border:1px solid rgba(21,92,255,.16) !important;
  background:linear-gradient(180deg, #2f6dff 0%, #155cff 100%) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:760 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 14px 26px rgba(21,92,255,.18) !important;
  cursor:pointer !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main a:not(.btn)[href*="cancel"],
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main a:not(.btn)[href*="layout=firsttime"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main a:not(.btn)[href*="cancel"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main a:not(.btn)[href*="cancel"]{
  display:inline-flex !important;
  align-items:center !important;
  min-height:44px !important;
  padding:0 8px !important;
  margin-left:10px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main img,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main img,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main img{
  max-width:min(100%, 260px) !important;
  height:auto !important;
  border-radius:18px !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main img[src*="qr"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main img[src*="qr"],
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main img[alt*="QR"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main img[alt*="QR"]{
  display:block !important;
  padding:14px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(15,35,70,.08) !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main code,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main code,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main code{
  display:inline-block !important;
  padding:8px 12px !important;
  border-radius:12px !important;
  background:#f8fafc !important;
  border:1px solid rgba(15,23,42,.08) !important;
  color:#0f172a !important;
  font-size:14px !important;
  word-break:break-all !important;
}
@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main > .component-content,
  body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main > .component-content,
  body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main > .component-content,
  body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .component-content,
  body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .component-content,
  body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .component-content{
    padding:24px 22px !important;
  }
  body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="text"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="password"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="email"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main input[type="number"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="text"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="password"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="email"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main input[type="number"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="text"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="password"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="email"],
  body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main input[type="number"]{
    width:100% !important;
  }
}


/* ------------------------------------------------------------
   v0.3.73 – honour frontend MFA title-hidden behaviour
   Hide Joomla's MFA method title field on frontend add/edit screens.
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .portal-mfa-title-field,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .portal-mfa-title-field,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .portal-mfa-title-field{
  display:none !important;
}


/* ------------------------------------------------------------
   v0.3.74 – hard-hide Joomla MFA method title row when disabled
   Joomla renders this as #com-users-method-edit-title inside a .row.
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main #com-users-method-edit-title,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main #com-users-method-edit-title,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main #com-users-method-edit-title,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main label[for="com-users-method-edit-title"],
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main label[for="com-users-method-edit-title"],
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main label[for="com-users-method-edit-title"],
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main #com-users-method-edit-title-helper,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main #com-users-method-edit-title-helper,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main #com-users-method-edit-title-helper,
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .portal-mfa-title-field,
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .portal-mfa-title-field,
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .portal-mfa-title-field{
  display:none !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add .portal-main .row:has(#com-users-method-edit-title),
body.tpl-usbeportal.portal-mfa-screen.task-method-edit .portal-main .row:has(#com-users-method-edit-title),
body.tpl-usbeportal.portal-mfa-screen.task-method-display .portal-main .row:has(#com-users-method-edit-title){
  display:none !important;
}


/* ------------------------------------------------------------
   v0.3.76 – force-hide MFA method Title field and wrapper
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen .portal-main #com-users-method-edit-title,
body.tpl-usbeportal.portal-mfa-screen .portal-main label[for="com-users-method-edit-title"],
body.tpl-usbeportal.portal-mfa-screen .portal-main #com-users-method-edit-title-helper,
body.tpl-usbeportal.portal-mfa-screen .portal-main label[for="com-users-method-edit-title"] + div,
body.tpl-usbeportal.portal-mfa-screen .portal-main .row:has(#com-users-method-edit-title),
body.tpl-usbeportal.portal-mfa-screen .portal-main .control-group:has(#com-users-method-edit-title),
body.tpl-usbeportal.portal-mfa-screen .portal-main .form-group:has(#com-users-method-edit-title),
body.tpl-usbeportal.portal-mfa-screen .portal-main .mb-3:has(#com-users-method-edit-title),
body.tpl-usbeportal.portal-mfa-screen .portal-main .portal-mfa-title-field{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}


/* ------------------------------------------------------------
   v0.3.81 – right-side heading for Code by Email MFA setup
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-email .portal-main form::before{
  content:"Add Code by Email";
  display:block !important;
  margin:0 0 24px !important;
  color:#0b1732 !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:840 !important;
  letter-spacing:-.03em !important;
}
@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-email .portal-main form::before{
    font-size:24px !important;
    margin-bottom:20px !important;
  }
}


/* ------------------------------------------------------------
   v0.3.82 – MFA method picker cleanup
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen .portal-main #com-users-methods-list-instructions,
body.tpl-usbeportal.portal-mfa-screen.task-methods-display .portal-main .alert.alert-info{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-methods-display .portal-main #com-users-methods-list-container::before,
body.tpl-usbeportal.portal-mfa-screen.view-methods .portal-main #com-users-methods-list-container::before{
  content:"Please select preferred MFA method";
  display:block !important;
  margin:0 0 2px !important;
  color:#0b1732 !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:840 !important;
  letter-spacing:-.03em !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-methods-display .portal-main #com-users-methods-list-container,
body.tpl-usbeportal.portal-mfa-screen.view-methods .portal-main #com-users-methods-list-container{
  margin-top:0 !important;
}


/* ------------------------------------------------------------
   v0.3.83 – right-side headings for MFA setup methods
------------------------------------------------------------ */
body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-webauthn .portal-main form::before{
  content:"Add Passkey";
  display:block !important;
  margin:0 0 24px !important;
  color:#0b1732 !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:840 !important;
  letter-spacing:-.03em !important;
}
body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-totp .portal-main form::before,
body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-authenticator .portal-main form::before,
body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-verification .portal-main form::before,
body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-verificationcode .portal-main form::before{
  content:"Add Verification Code";
  display:block !important;
  margin:0 0 24px !important;
  color:#0b1732 !important;
  font-size:28px !important;
  line-height:1.08 !important;
  font-weight:840 !important;
  letter-spacing:-.03em !important;
}
@media (max-width: 820px){
  body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-webauthn .portal-main form::before,
  body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-totp .portal-main form::before,
  body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-authenticator .portal-main form::before,
  body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-verification .portal-main form::before,
  body.tpl-usbeportal.portal-mfa-screen.task-method-add.method-verificationcode .portal-main form::before{
    font-size:24px !important;
    margin-bottom:20px !important;
  }
}
