:root{
  --tl-page-bg:#F3F8FA;--tl-card-bg:#fff;--tl-primary:#2B7088;--tl-primary-hover:#245D72;
  --tl-primary-soft:#E8F3F6;--tl-ai:#50AEB9;--tl-ai-soft:#EAF8F9;--tl-accent:#EE873D;--tl-accent-hover:#D9742E;--tl-accent-soft:#FFF2E8;--tl-gold:#E7A24A;
  --tl-text:#173A59;--tl-heading:#0D3153;--tl-muted:#6B8193;--tl-border:#D7E5EB;--tl-border-strong:#C7D9E1;
}
html,body{background:var(--tl-page-bg)!important;color:var(--tl-text)!important;font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body:before{display:none!important;content:none!important}
.signin__page{min-height:100vh;background:var(--tl-page-bg)!important}
.signin__page>header{height:68px!important;background:#fff!important;border-bottom:1px solid var(--tl-border)!important;box-shadow:none!important;position:relative!important;z-index:20!important}
.signin__page>header .nav-bar{height:68px!important;background:#fff!important;margin:0!important}
.signin__page>header .navigation{height:68px!important;padding:9px 22px!important}
.signin__page>header [data-testid="logo"]{width:220px!important;min-width:220px!important;padding:0!important}
.signin__page>header .logo{display:block!important;width:205px!important;height:46px!important;background:url('/public/img/brand/translioncat-logo.png') left center/contain no-repeat!important;margin:0!important}
.signin__page>header #menu-site{display:none!important}

.signin-page{position:relative!important;min-height:calc(100vh - 68px)!important;display:grid!important;grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr)!important;background:
  radial-gradient(circle at 18% 15%,rgba(43,112,136,.10),transparent 30%),
  radial-gradient(circle at 70% 20%,rgba(24,174,234,.08),transparent 26%),
  var(--tl-page-bg)!important;
}
.signin-bg{position:relative!important;inset:auto!important;background:none!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:56px!important}
.signin-bg:before{
  content:"TranslionCAT\A Translation technology for professionals";white-space:pre-line;
  width:min(520px,100%);padding:130px 46px 42px;border-radius:22px;
  background:url('/public/img/brand/translioncat-mark.svg') 46px 42px/68px 68px no-repeat,linear-gradient(145deg,#0F2454,#183A83);
  color:#fff;font-size:31px;line-height:1.25;font-weight:850;letter-spacing:-.65px;
  box-shadow:0 30px 80px rgba(15,36,84,.22)
}
.signin-bg:after{
  content:"One workspace for analysis, CAT translation, AutoTranslate, Claude QA and document templates.";
  position:absolute;left:max(56px,calc((100% - 520px)/2 + 46px));right:max(56px,calc((100% - 520px)/2 + 46px));top:calc(50% + 72px);
  max-width:420px;color:#DCE7FF;font-size:13px;line-height:1.6;font-weight:500;
}
.signin-overlay{position:relative!important;inset:auto!important;z-index:7!important;background:transparent!important;backdrop-filter:none!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:56px!important}
.signin-content{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;max-width:520px!important;width:100%!important}
.onboarding-wrapper{border-radius:18px!important;background:#fff!important;border:1px solid var(--tl-border)!important;box-shadow:0 22px 65px rgba(23,32,51,.11)!important;overflow:hidden!important}
.login-component,.register-component,.forgotpassword-component,.passwordreset-component{width:100%!important;padding:38px 42px!important;gap:20px!important;align-items:stretch!important}
.login-component h2,.register-component h2,.forgotpassword-component h2,.passwordreset-component h2{margin:0!important;color:var(--tl-heading)!important;font-size:24px!important;line-height:1.2!important;font-weight:850!important;letter-spacing:-.4px!important;text-align:left!important}
.login-component h2:after{content:"Continue to your secure workspace";display:block;margin-top:7px;color:var(--tl-muted);font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0}
.login-form,.register-form,.forgotpassword-form,.passwordreset-form{gap:14px!important}
.login-component input,.register-component input,.forgotpassword-component input,.passwordreset-component input{min-height:42px!important;border:1px solid var(--tl-border)!important;border-radius:9px!important;background:#fff!important;color:var(--tl-text)!important;box-shadow:none!important;font-family:inherit!important}
.login-component input:focus,.register-component input:focus,.forgotpassword-component input:focus,.passwordreset-component input:focus{border-color:var(--tl-primary)!important;box-shadow:0 0 0 3px rgba(43,112,136,.10)!important}
.login-component button,.register-component button,.forgotpassword-component button,.passwordreset-component button{border-radius:9px!important;font-family:inherit!important;font-weight:800!important}
.login-component form button[type="submit"],.register-component form button[type="submit"],.forgotpassword-component form button[type="submit"],.passwordreset-component form button[type="submit"]{min-height:42px!important;background:var(--tl-primary)!important;border-color:var(--tl-primary)!important;color:#fff!important;box-shadow:0 8px 18px rgba(43,112,136,.16)!important}
.login-social-buttons{gap:10px!important;justify-content:stretch!important}.login-social-buttons>*{flex:1!important}
.login-divider{gap:12px!important;color:var(--tl-muted)!important}.login-divider div{background:var(--tl-border)!important}.login-divider span{font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.5px!important}
.footer-links-container{gap:14px!important;font-size:12px!important;color:var(--tl-muted)!important;align-items:flex-start!important}.footer-links-container>span{display:block!important}
.signin__page a,.signin__page button.link-underline{color:var(--tl-primary)!important}
.onboarding-controls .container-buttons{padding:14px!important}
.form-errorMessage{font-size:11px!important;color:#C93A4A!important;text-align:left!important}

@media(max-width:1000px){.signin-page{grid-template-columns:1fr!important}.signin-bg{display:none!important}.signin-overlay{padding:34px 18px!important}}
@media(max-width:560px){.login-component,.register-component,.forgotpassword-component,.passwordreset-component{padding:32px 24px!important}.signin-content{max-width:100%!important}}

/* ===== RC3 authentication brand harmony ===== */
.signin-page{background:
  radial-gradient(circle at 18% 15%,rgba(80,174,185,.10),transparent 31%),
  radial-gradient(circle at 78% 18%,rgba(238,135,61,.055),transparent 27%),
  var(--tl-page-bg)!important;
}
.signin-bg:before{
  background:url('/public/img/brand/translioncat-mark.svg') 46px 42px/68px 68px no-repeat,
    linear-gradient(145deg,#0D3153,#245D72)!important;
  box-shadow:0 30px 80px rgba(13,49,83,.20)!important;
}
.signin-bg:after{color:#DDEDF1!important}
.onboarding-wrapper{border-color:var(--tl-border)!important;box-shadow:0 22px 60px rgba(13,49,83,.10)!important}
.login-component form button[type="submit"],.register-component form button[type="submit"],.forgotpassword-component form button[type="submit"],.passwordreset-component form button[type="submit"]{
  background:var(--tl-primary)!important;border-color:var(--tl-primary)!important;
  box-shadow:0 8px 18px rgba(43,112,136,.16)!important;
}
.login-component form button[type="submit"]:hover,.register-component form button[type="submit"]:hover{background:var(--tl-primary-hover)!important}
.login-component input:focus,.register-component input:focus,.forgotpassword-component input:focus,.passwordreset-component input:focus{box-shadow:0 0 0 3px rgba(43,112,136,.10)!important}


/* ===== V1.4.1 native header menu + stable hero markup ===== */
.signin__page > .tl-auth-header {
  position: relative !important;
  height: 68px !important;
  min-height: 68px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--tl-border) !important;
}

.signin__page > .tl-auth-header #menu-site {
  display: none !important;
}

.tl-auth-menu {
  position: absolute;
  top: 50%;
  right: 24px;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 24px;
  transform: translateY(-50%);
}

.tl-auth-menu a {
  color: var(--tl-muted) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.tl-auth-menu a:hover,
.tl-auth-menu a[aria-current="page"] {
  color: var(--tl-primary) !important;
}

.tl-auth-menu .tl-auth-menu__signin {
  min-height: 38px;
  padding: 0 17px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--tl-primary);
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(43,112,136,.15);
}

.signin-bg::before,
.signin-bg::after {
  display: none !important;
  content: none !important;
}

.tl-auth-hero {
  width: min(520px, 100%);
  min-height: 320px;
  padding: 42px 46px 44px;
  border-radius: 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background: linear-gradient(145deg, #0D3153, #245D72);
  color: #fff;
  box-shadow: 0 30px 80px rgba(13,49,83,.20);
}

.tl-auth-hero__mark {
  width: 68px;
  height: 68px;
  margin-bottom: 28px;
  display: block;
  background: url('/public/img/brand/translioncat-mark.svg') center/contain no-repeat;
}

.tl-auth-hero__brand {
  margin: 0 0 8px;
  color: #fff;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -.35px;
}

.tl-auth-hero h1 {
  margin: 0;
  max-width: 420px;
  color: #fff;
  font-size: 34px;
  line-height: 1.14;
  font-weight: 850;
  letter-spacing: -.75px;
}

.tl-auth-hero__text {
  margin: 22px 0 0;
  max-width: 420px;
  color: #DDEDF1;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 500;
}

@media (max-width: 820px) {
  .tl-auth-menu {
    right: 16px;
    gap: 14px;
  }

  .tl-auth-menu a {
    font-size: 12px !important;
  }

  .signin__page > header [data-testid="logo"] {
    width: 185px !important;
    min-width: 185px !important;
  }

  .signin__page > header .logo {
    width: 175px !important;
  }
}

@media (max-width: 640px) {
  .tl-auth-menu a:first-child,
  .tl-auth-menu .tl-auth-menu__signin {
    display: none !important;
  }

  .tl-auth-menu {
    gap: 12px;
  }
}

/* ===== V1.4.2 unified public header geometry ===== */

.signin__page > .tl-auth-header {
  position: relative !important;
  width: 100% !important;
  height: 72px !important;
  min-height: 72px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--tl-border) !important;
}

.signin__page > .tl-auth-header .nav-bar {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  height: 72px !important;
  margin: 0 auto !important;
  background: #fff !important;
}

.signin__page > .tl-auth-header .navigation {
  width: 100% !important;
  height: 72px !important;
  margin: 0 !important;
  padding: 9px 0 !important;
}

.signin__page > .tl-auth-header [data-testid="logo"] {
  width: 205px !important;
  min-width: 205px !important;
  padding: 0 !important;
}

.signin__page > .tl-auth-header .logo {
  width: 205px !important;
  height: 46px !important;
  margin: 0 !important;
  background:
    url('/public/img/brand/translioncat-logo.png')
    left center / contain no-repeat !important;
}

.signin__page .tl-auth-menu {
  position: absolute !important;
  top: 50% !important;
  right: max(20px, calc((100% - 1180px) / 2)) !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  transform: translateY(-50%) !important;
  z-index: 50 !important;
}

.signin__page .tl-auth-menu a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #607084 !important;
  -webkit-text-fill-color: #607084 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  white-space: nowrap !important;
}

.signin__page .tl-auth-menu a:hover,
.signin__page .tl-auth-menu a[aria-current="page"] {
  color: #245ba7 !important;
  -webkit-text-fill-color: #245ba7 !important;
}

.signin__page .tl-auth-menu a.tl-auth-menu__signin {
  min-width: 86px !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 9px !important;
  background: #245ba7 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 14px rgba(36, 91, 167, .15) !important;
}

.signin-page {
  min-height: calc(100vh - 72px) !important;
}

@media (max-width: 780px) {
  .signin__page .tl-auth-menu {
    right: 20px !important;
    gap: 14px !important;
  }

  .signin__page .tl-auth-menu a {
    font-size: 12px !important;
  }

  .signin__page > .tl-auth-header [data-testid="logo"],
  .signin__page > .tl-auth-header .logo {
    width: 175px !important;
    min-width: 175px !important;
  }
}

/* ===== V1.4.3 exact header typography and vertical alignment ===== */

.signin__page > .tl-auth-header {
  height: 72px !important;
  min-height: 72px !important;
  font-family: Manrope, Inter, Arial, sans-serif !important;
}

.signin__page > .tl-auth-header .nav-bar {
  height: 72px !important;
  min-height: 72px !important;
  display: flex !important;
  align-items: center !important;
}

.signin__page > .tl-auth-header .navigation {
  width: 100% !important;
  height: 72px !important;
  min-height: 72px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.signin__page > .tl-auth-header [data-testid="logo"] {
  width: 205px !important;
  min-width: 205px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.signin__page > .tl-auth-header .logo {
  width: 205px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  background-position: left center !important;
}

.signin__page .tl-auth-menu {
  top: 36px !important;
  height: 42px !important;
  transform: translateY(-50%) !important;
  font-family: Manrope, Inter, Arial, sans-serif !important;
}

.signin__page .tl-auth-menu a {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Manrope, Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
}

.signin__page .tl-auth-menu a.tl-auth-menu__signin {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  font-family: Manrope, Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 20px !important;
}

/* ===== V1.4.4 signin logo vertical alignment ===== */
.signin__page > .tl-auth-header [data-testid="logo"] {
  position: relative !important;
  top: 10px !important;
}

/* ===== V1.4.5 registration layout ===== */
.register-component{
  display:block!important;
  width:100%!important;
  max-width:520px!important;
  min-width:0!important;
  padding:38px 42px 42px!important;
  gap:0!important;
}
.register-component .column-info{display:none!important}
.register-component .column-form{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:18px!important;
}
.register-component .column-form>h2{
  margin:0!important;
  color:var(--tl-heading)!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:-.4px!important;
  text-align:left!important;
}
.register-component .column-form>h4{
  margin:0!important;
  color:var(--tl-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:700!important;
  text-align:center!important;
}
.register-component .login-social-buttons,
.register-component .register-divider{
  width:100%!important;
}
.register-component .login-social-buttons{
  justify-content:center!important;
}
.register-component .register-form{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:14px!important;
  column-gap:0!important;
}
.register-component .register-form>*{
  width:100%!important;
  min-width:0!important;
  grid-column:1!important;
}
.register-component fieldset{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.register-component fieldset>div,
.register-component input:not([type="checkbox"]){
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.register-component .terms-and-conditions,
.register-component .terms-and-conditions .input-container{
  width:100%!important;
  min-width:0!important;
}
.register-component .terms-and-conditions .input-container{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
}
.register-component .terms-and-conditions .input-container>span{
  min-width:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:4px!important;
  line-height:1.45!important;
}
.register-component form>button[type="submit"]{
  width:100%!important;
}
.register-component .footer-links-container{
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  text-align:center!important;
}
.signin-overlay:has(.register-component){
  align-items:flex-start!important;
  padding-top:40px!important;
  padding-bottom:40px!important;
}
@media(max-width:560px){
  .register-component{padding:32px 24px 36px!important}
}
