@font-face{font-family:TXTitle;src:url("/shared/assets/fonts/Montserrat-Variable-Latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:TXBody;src:url("/shared/assets/fonts/Geomini-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--tx-login-navy:#03045e;--tx-login-blue:#0077b6;--tx-login-cyan:#01d1ff;--tx-login-soft:#caf0f8;--tx-login-ink:#111827;--tx-login-muted:#667085;--tx-login-line:#d8e1ea}
.login-screen,.login-page{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:radial-gradient(circle at 15% 15%,rgba(1,209,255,.25),transparent 30%),radial-gradient(circle at 88% 82%,rgba(0,119,182,.34),transparent 34%),linear-gradient(145deg,var(--tx-login-navy),var(--tx-login-blue))!important}
.login-card{width:min(440px,100%)!important;margin:auto!important;padding:36px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:0!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:28px!important;background:#fff!important;box-shadow:0 30px 90px rgba(3,4,94,.38)!important;text-align:center!important}
.login-card .login-logo,.login-card>img{display:block!important;width:210px!important;height:118px!important;margin:0 auto 10px!important;object-fit:contain!important;object-position:center!important}
.login-eyebrow,.login-card>.eyebrow,.login-card>span{display:block!important;margin:0 0 7px!important;color:var(--tx-login-blue)!important;font-family:TXTitle,Montserrat,sans-serif!important;font-size:.77rem!important;font-weight:850!important;letter-spacing:.1em!important;text-align:center!important;text-transform:uppercase!important}
.login-card h1{margin:0!important;color:var(--tx-login-navy)!important;font-family:TXTitle,Montserrat,sans-serif!important;font-size:clamp(1.72rem,5vw,2.05rem)!important;font-weight:900!important;letter-spacing:-.04em!important;line-height:1.08!important;text-align:center!important}
.login-card>p{max-width:360px!important;margin:12px auto 23px!important;color:var(--tx-login-muted)!important;font-family:TXBody,system-ui,sans-serif!important;font-size:.94rem!important;line-height:1.5!important;text-align:center!important}
.login-card label,.login-card .field{width:100%!important;margin:0 0 15px!important;display:grid!important;gap:7px!important;color:var(--tx-login-ink)!important;font-family:TXBody,system-ui,sans-serif!important;font-size:.84rem!important;font-weight:800!important;text-align:left!important}
.login-card .field label{margin:0!important;display:block!important;text-align:left!important}
.login-card input{width:100%!important;min-height:48px!important;padding:12px 14px!important;border:1px solid var(--tx-login-line)!important;border-radius:12px!important;background:#fff!important;color:var(--tx-login-ink)!important;font-family:TXBody,system-ui,sans-serif!important;font-size:1rem!important;outline:0!important;transition:border-color .18s,box-shadow .18s!important}
.login-card input:focus{border-color:var(--tx-login-blue)!important;box-shadow:0 0 0 4px rgba(0,119,182,.13)!important}
.login-card button[type=submit],.login-card .btn{width:100%!important;min-height:49px!important;margin:4px 0 0!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--tx-login-blue),var(--tx-login-navy))!important;color:#fff!important;font-family:TXTitle,Montserrat,sans-serif!important;font-size:.95rem!important;font-weight:900!important;letter-spacing:.01em!important;box-shadow:0 12px 24px rgba(0,119,182,.23)!important}
.login-card button[type=submit]:hover,.login-card .btn:hover{filter:brightness(1.05)!important;transform:translateY(-1px)!important}
.login-card>a,.portal-link{display:block!important;margin:18px 0 0!important;color:var(--tx-login-blue)!important;font-family:TXBody,system-ui,sans-serif!important;font-size:.84rem!important;font-weight:850!important;text-align:center!important;text-decoration:none!important}
@media(max-width:520px){.login-screen,.login-page{padding:16px!important}.login-card{padding:29px 22px!important;border-radius:23px!important}.login-card .login-logo,.login-card>img{width:188px!important;height:103px!important}}
/* TELEXPRESS AUTH VISIBILITY FIX 2.10.8 START */
/*
 * login.css is loaded after driver.css and defines .login-page with
 * display:flex!important. These selectors have greater specificity and
 * guarantee that login and dashboard can never remain visible together.
 */
html.tx-driver-authenticated #login,
main#login.hidden,
#login.hidden,
.login-page.hidden,
.login-screen.hidden {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
}
html:not(.tx-driver-authenticated) #app,
main#app.hidden,
#app.hidden {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  height:0!important;
  max-height:0!important;
  overflow:hidden!important;
}
html.tx-driver-authenticated #app:not(.hidden) {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
body.driver-session-active {
  overflow-x:hidden!important;
}
/* TELEXPRESS AUTH VISIBILITY FIX 2.10.8 END */
