
:root{
  --tb-text:#f4f8ff;
  --tb-muted:#c4d3e8;
  --tb-line:rgba(122,168,231,.34);
  --tb-line-strong:rgba(78,169,255,.94);
  --tb-field-border:rgba(74,154,247,.62);
  --tb-card:rgba(3,12,28,.15);
  --tb-field:rgba(4,13,31,.14);
  --tb-shadow:0 24px 68px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0}
body.tb-auth-body{
  min-height:100vh;
  min-height:100dvh;
  color:var(--tb-text);
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  background:#020916;
  overflow:hidden;
}
.tb-auth-page{
  position:relative;
  width:100vw;
  height:100vh;
  height:100dvh;
  min-height:100vh;
  overflow:hidden;
}
.tb-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.tb-stage__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  user-select:none;
  pointer-events:none;
}
.tb-stage__scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(1,7,16,.03) 0%,rgba(1,7,16,.01) 42%,rgba(0,5,14,.10) 100%);
}
.tb-brand-overlay,.tb-top-slogan,.tb-stage__legacy-mask-right,.tb-stage__legacy-mask-bottom{display:none!important}

.tb-auth-card{
  position:absolute;
  z-index:3;
  right:clamp(26px,4.3vw,92px);
  top:50%;
  transform:translateY(-50%);
  width:min(36vw,620px);
  max-width:calc(100vw - 52px);
  max-height:calc(100dvh - 72px);
  overflow:auto;
  scrollbar-width:none;
  border-radius:30px;
  border:1px solid rgba(117,170,239,.38);
  background:linear-gradient(180deg,rgba(4,16,39,.16) 0%,rgba(1,9,24,.13) 100%);
  backdrop-filter:blur(22px) saturate(118%);
  -webkit-backdrop-filter:blur(22px) saturate(118%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),var(--tb-shadow);
  padding:30px 36px 26px;
}
.tb-auth-card::-webkit-scrollbar{display:none}
.tb-auth-card--short{width:min(36vw,620px)}
.tb-auth-card__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.tb-auth-lock{display:flex;justify-content:center;margin-bottom:18px}
.tb-auth-lock__box{
  width:70px;height:70px;border-radius:18px;
  display:grid;place-items:center;
  border:1px solid rgba(103,165,239,.42);
  background:rgba(4,16,39,.10);
}
.tb-auth-lock__box svg{width:33px;height:33px;stroke:#36adff;fill:none;stroke-width:1.9}
.tb-auth-title{
  margin:0;
  font-size:clamp(32px,2.15vw,50px);
  line-height:1.05;
  letter-spacing:-.025em;
  font-weight:750;
}
.tb-auth-subtitle{
  margin:13px 0 0;
  color:var(--tb-muted);
  font-size:clamp(14px,1vw,19px);
  line-height:1.45;
}
.tb-form{
  display:flex;
  flex-direction:column;
  gap:15px;
  margin-top:25px;
}
.tb-form__row{display:flex;flex-direction:column;gap:8px}
.tb-form__label{font-size:14px;font-weight:650;color:#edf4ff}
.tb-form__help{margin-top:2px;color:#c7d6eb;font-size:13px;line-height:1.42}
.tb-field{position:relative}
.tb-field__control{
  width:100%;
  height:62px;
  border-radius:18px;
  border:1px solid var(--tb-field-border);
  background:var(--tb-field);
  color:var(--tb-text);
  font-size:17px;
  padding:0 52px 0 54px;
  outline:none;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.tb-field__control:focus{
  border-color:var(--tb-line-strong);
  box-shadow:0 0 0 3px rgba(43,136,255,.18);
}
.tb-field__control::placeholder{color:rgba(222,235,254,.52)}
.tb-field__icon{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:22px;height:22px;
  color:#dbe8fb;
  opacity:.84;
  display:grid;place-items:center;
}
.tb-field__icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.tb-field__action{
  position:absolute;
  right:11px;top:50%;
  transform:translateY(-50%);
  width:40px;height:40px;
  border:0;border-radius:12px;
  background:transparent;
  color:#dbe8fb;
  cursor:pointer;
}
.tb-auth-inline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  font-size:14px;
  color:#dbe8fb;
}
.tb-auth-inline a,.tb-link-quiet,.tb-chip-link{
  color:#67bdff;
  text-decoration:none;
}
.tb-auth-inline a:hover,.tb-link-quiet:hover,.tb-chip-link:hover{text-decoration:underline}
.tb-submit{
  width:100%;
  height:66px;
  border:0;
  border-radius:19px;
  cursor:pointer;
  color:#fff;
  font-size:clamp(21px,1.25vw,29px);
  font-weight:750;
  background:linear-gradient(180deg,#67c3ff 0%,#3b7cff 100%);
  box-shadow:0 15px 28px rgba(36,112,255,.27),inset 0 1px 0 rgba(255,255,255,.22);
}
.tb-divider{
  display:flex;
  align-items:center;
  gap:17px;
  margin:20px 0 15px;
  color:#d6e5fa;
  font-size:10px;
  letter-spacing:.40em;
  text-transform:uppercase;
  white-space:nowrap;
}
.tb-divider::before,.tb-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(135,173,225,.28);
}
.tb-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.tb-footer__brand-title{font-size:18px;font-weight:700;margin-bottom:4px}
.tb-footer__brand-sub{
  color:#cad9ee;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.tb-lang{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.tb-lang a{
  min-width:42px;
  height:42px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border-radius:13px;
  border:1px solid rgba(118,161,221,.35);
  background:rgba(5,16,34,.10);
  color:#dce9ff;
  text-decoration:none;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tb-lang a[aria-current="page"],.tb-lang a.active{
  border-color:rgba(93,181,255,.92);
  box-shadow:0 0 0 2px rgba(74,151,255,.20) inset;
  background:rgba(18,44,84,.18);
}
.tb-company-chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(120,161,221,.27);
  border-radius:17px;
  padding:11px 14px;
  background:rgba(4,16,35,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tb-company-chip__meta{min-width:0}
.tb-company-chip__meta strong{
  display:block;
  margin-bottom:4px;
  color:#a9c4e8;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.tb-company-chip__meta span{
  display:block;
  max-width:315px;
  color:#fff;
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-auth-alert{
  padding:13px 15px;
  border-radius:15px;
  font-size:14px;
  line-height:1.45;
  border:1px solid rgba(255,255,255,.10);
}
.tb-auth-alert--error{background:rgba(148,25,44,.42);border-color:rgba(255,186,197,.22)}
.tb-auth-alert--warn{background:rgba(128,97,17,.34);border-color:rgba(255,224,152,.22)}

/* Real footer text/icons, not baked into the image. */
.tb-bottom-meta{
  position:absolute;
  z-index:2;
  left:clamp(24px,4.2vw,80px);
  right:clamp(24px,4.2vw,80px);
  bottom:18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  pointer-events:none;
}
.tb-bottom-meta__items{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.tb-bottom-meta__item{display:flex;align-items:center;gap:11px;color:#edf5ff}
.tb-bottom-meta__icon{width:28px;height:28px;display:grid;place-items:center}
.tb-bottom-meta__icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8}
.tb-bottom-meta__text{display:flex;flex-direction:column;gap:2px}
.tb-bottom-meta__text strong{font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.tb-bottom-meta__text span{font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:#c9d9ef}
.tb-bottom-meta__right{
  color:#cfdef1;
  font-size:11px;
  letter-spacing:.35em;
  text-transform:uppercase;
  white-space:nowrap;
}

.tb-auth-body input:-webkit-autofill,
.tb-auth-body input:-webkit-autofill:hover,
.tb-auth-body input:-webkit-autofill:focus,
.tb-auth-body input:-webkit-autofill:active{
  -webkit-text-fill-color:#f4f8ff;
  -webkit-box-shadow:0 0 0 1000px rgba(4,13,31,.14) inset !important;
  transition:background-color 5000s ease-in-out 0s;
  border:1px solid var(--tb-field-border)!important;
}

/* Browser zoom / short viewport: compact instead of overflowing the page. */
@media (max-height:780px){
  .tb-auth-card{padding:20px 26px 18px;max-height:calc(100dvh - 30px)}
  .tb-auth-lock{margin-bottom:10px}
  .tb-auth-lock__box{width:54px;height:54px}
  .tb-auth-lock__box svg{width:27px;height:27px}
  .tb-auth-title{font-size:32px}
  .tb-auth-subtitle{margin-top:8px;font-size:14px}
  .tb-form{margin-top:16px;gap:11px}
  .tb-field__control{height:52px;font-size:15px}
  .tb-submit{height:54px;font-size:20px}
  .tb-divider{margin:12px 0 10px}
  .tb-footer__brand-title{font-size:15px}
  .tb-footer__brand-sub{font-size:9px}
  .tb-lang a{height:36px;min-width:36px}
  .tb-bottom-meta{display:none}
}
@media (max-width:980px){
  body.tb-auth-body{overflow:auto}
  .tb-auth-page{min-height:100dvh;height:auto;overflow:visible;padding:18px}
  .tb-stage{position:relative;min-height:calc(100dvh - 36px);height:auto;overflow:hidden}
  .tb-stage__bg{position:fixed;object-position:36% center}
  .tb-stage__scrim{position:fixed}
  .tb-auth-card{
    position:relative;
    top:auto;right:auto;
    transform:none;
    width:min(92vw,560px);
    max-width:none;
    max-height:none;
    margin:24px auto 110px;
  }
  .tb-bottom-meta{
    position:fixed;
    left:16px;right:16px;bottom:10px;
    background:rgba(2,8,18,.28);
    border-radius:16px;
    padding:10px 12px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .tb-bottom-meta__items{gap:14px}
  .tb-bottom-meta__right{display:none}
}
@media (max-width:580px){
  .tb-auth-page{padding:10px}
  .tb-auth-card{width:100%;margin-top:10px;padding:20px 17px 18px;border-radius:22px}
  .tb-auth-title{font-size:34px}
  .tb-auth-subtitle{font-size:14px}
  .tb-field__control{height:56px}
  .tb-footer{flex-direction:column;align-items:flex-start}
  .tb-lang{justify-content:flex-start}
  .tb-company-chip{flex-direction:column;align-items:flex-start}
  .tb-bottom-meta{display:none}
}


/* v42 — fixed language selector */
.tb-footer{min-width:0}
.tb-lang{
  display:grid!important;
  grid-template-columns:repeat(3,44px);
  gap:8px!important;
  align-items:center;
  justify-content:end!important;
  flex:0 0 auto;
  white-space:nowrap;
}
.tb-lang a{
  width:44px!important;
  min-width:44px!important;
  height:42px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  font-size:14px;
  line-height:1;
  font-weight:600;
  letter-spacing:.02em;
}
.tb-lang a[aria-current="page"]{
  color:#fff!important;
  border-color:#61b9ff!important;
  background:rgba(20,64,120,.30)!important;
  box-shadow:0 0 0 2px rgba(75,157,255,.22) inset,0 0 18px rgba(47,149,255,.12)!important;
}
@media(max-width:580px){
  .tb-footer{width:100%;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important}
  .tb-footer__brand-sub{max-width:190px}
  .tb-lang{grid-template-columns:repeat(3,40px)}
  .tb-lang a{width:40px!important;min-width:40px!important;height:40px!important;font-size:13px}
}
