.tsl-cb-registration {
  --tsl-red:#ff2c54;
  --tsl-dark:#181c22;
  --tsl-muted:#707887;
  --tsl-border:#e2e6eb;
  max-width:1080px;
}
.tsl-cb-hidden-tab{display:none!important;}
.tsl-cb-registration .tsl-edit-profile-header{
  margin:0 0 22px;
  padding:24px 28px;
  border-left:5px solid var(--tsl-red);
  border-radius:14px;
  background:linear-gradient(125deg,#171b21 0%,#242a33 100%);
  box-shadow:0 12px 30px rgba(22,28,35,.10);
}
.tsl-cb-registration .tsl-edit-profile-header>span{
  display:block;
  margin-bottom:5px;
  color:#ff607b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.tsl-cb-registration .tsl-edit-profile-header h2{
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:900!important;
  line-height:1.12!important;
}
.tsl-cb-registration .tsl-edit-profile-header p{margin:0;color:#c8ced6;font-size:13px;line-height:1.55;}
.tsl-cb-registration .nav-tabs,
.tsl-cb-registration ul.nav{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:18px!important;
  border-bottom:1px solid #e2e6eb!important;
}
.tsl-cb-registration .nav-tabs>li>a,
.tsl-cb-registration ul.nav>li>a{
  margin:0!important;
  padding:9px 13px!important;
  border:1px solid #dfe3e8!important;
  border-bottom:0!important;
  border-radius:9px 9px 0 0!important;
  background:#f7f8fa!important;
  color:#59616d!important;
  font-size:12px!important;
  font-weight:800!important;
}
.tsl-cb-registration .nav-tabs>li.active>a,
.tsl-cb-registration ul.nav>li.active>a{
  background:#181c22!important;
  color:#fff!important;
  border-color:#181c22!important;
}
.tsl-cb-registration .tsl-register-racing-intro {
  margin:26px 0 18px;
  padding:24px 26px;
  border-radius:14px;
  background:linear-gradient(125deg,#171b21 0%,#242a33 100%);
  border-left:5px solid var(--tsl-red);
  color:#fff;
  box-shadow:0 12px 30px rgba(22,28,35,.10);
}
.tsl-cb-registration .tsl-register-racing-intro__eyebrow {
  display:block;margin-bottom:6px;color:#ff607b;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
}
.tsl-cb-registration .tsl-register-racing-intro h3 {margin:0 0 6px;color:#fff;font-size:24px;line-height:1.2;}
.tsl-cb-registration .tsl-register-racing-intro p {margin:0;color:#c8ced6;font-size:13px;line-height:1.55;}
.tsl-cb-registration .tsl-driver-choice {margin-top:8px;padding:14px 16px;border:1px solid #ffd0d9;border-radius:10px;background:#fff7f9;}
.tsl-cb-registration .tsl-driver-field {transition:opacity .18s ease,transform .18s ease;}
.tsl-cb-registration .tsl-driver-field.tsl-driver-field--hidden {display:none!important;}
.tsl-cb-registration input[type="text"],
.tsl-cb-registration input[type="email"],
.tsl-cb-registration input[type="password"],
.tsl-cb-registration input[type="number"],
.tsl-cb-registration input[type="date"],
.tsl-cb-registration select,
.tsl-cb-registration textarea {
  min-height:42px;border:1px solid #d9dee5!important;border-radius:7px!important;background:#fff;box-shadow:none!important;
}
.tsl-cb-registration textarea {min-height:105px;}
.tsl-cb-registration input:focus,
.tsl-cb-registration select:focus,
.tsl-cb-registration textarea:focus {border-color:var(--tsl-red)!important;box-shadow:0 0 0 3px rgba(255,44,84,.10)!important;outline:none;}
.tsl-cb-registration button[type="submit"],
.tsl-cb-registration input[type="submit"],
.tsl-cb-registration .btn-primary {
  border:0!important;border-radius:7px!important;background:var(--tsl-red)!important;color:#fff!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:12px 22px!important;
}
.tsl-cb-registration label,
.tsl-cb-registration .control-label {font-weight:700;color:#3b414a;}
.tsl-cb-registration .tsl-field-note {display:block;margin-top:5px;color:#8a919c;font-size:11px;}
.tsl-cb-registration .tsl-field-note a {color:var(--tsl-red);font-weight:700;text-decoration:none;}
.tsl-cb-registration .tsl-field-note a:hover{text-decoration:underline;}

/* Tracks data inside Community Builder Edit Your Details */
.tsl-cb-registration .tsl-tracks-profile-edit{
  margin:24px 0 8px;
  overflow:hidden;
  border:1px solid #dfe4ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,24,32,.05);
}
.tsl-cb-registration .tsl-tracks-profile-edit__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 20px;
  border-bottom:1px solid #30353d;
  background:#1c2026;
  color:#fff;
}
.tsl-cb-registration .tsl-tracks-profile-edit__head span:first-child{display:block;color:#ff5b78;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.tsl-cb-registration .tsl-tracks-profile-edit__head h3{margin:2px 0 3px!important;color:#fff!important;font-size:19px!important;font-weight:900!important;}
.tsl-cb-registration .tsl-tracks-profile-edit__head p{margin:0;color:#bfc6cf;font-size:11px;}
.tsl-cb-registration .tsl-tracks-profile-edit__sync{display:inline-flex!important;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;background:#204d37;color:#7ce4a5!important;font-size:9px!important;letter-spacing:.08em;}
.tsl-cb-registration .tsl-tracks-profile-edit__body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;padding:20px;}
.tsl-cb-registration .tsl-tracks-avatar{padding:14px;border:1px solid #e3e7ec;border-radius:12px;background:#f8f9fb;}
.tsl-cb-registration .tsl-tracks-avatar__visual{display:flex;width:100%;aspect-ratio:1/1;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:linear-gradient(145deg,#171b21,#2a3038);}
.tsl-cb-registration .tsl-tracks-avatar__visual img{width:100%;height:100%;object-fit:contain;object-position:center bottom;}
.tsl-cb-registration .tsl-tracks-avatar__visual span{color:#fff;font-size:2rem;font-weight:900;opacity:.4;}
.tsl-cb-registration .tsl-tracks-avatar__copy{display:flex;flex-direction:column;margin-top:11px;}
.tsl-cb-registration .tsl-tracks-avatar__copy strong{color:#23272e;font-size:13px;}
.tsl-cb-registration .tsl-tracks-avatar__copy>span{display:inline-flex;width:max-content;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eceff3;color:#6d7682;font-size:9px;font-weight:900;text-transform:uppercase;}
.tsl-cb-registration .tsl-tracks-avatar__copy small{margin-top:7px;color:#8a929e;font-size:10px;line-height:1.45;}
.tsl-cb-registration .tsl-tracks-profile-edit__fields{min-width:0;}
.tsl-cb-registration .tsl-tracks-edit-field{display:flex;min-width:0;flex-direction:column;gap:5px;}
.tsl-cb-registration .tsl-tracks-edit-field label{margin:0;color:#343a43;font-size:12px;font-weight:850;}
.tsl-cb-registration .tsl-tracks-edit-field input{width:100%!important;box-sizing:border-box;}
.tsl-cb-registration .tsl-tracks-edit-field small{color:#8a929e;font-size:10px;line-height:1.4;}
.tsl-cb-registration .tsl-tracks-info-editor{min-height:135px;padding:11px 12px;overflow:auto;border:1px solid #d9dee5;border-radius:8px;background:#fff;color:#333a43;font-size:13px;line-height:1.55;outline:none;}
.tsl-cb-registration .tsl-tracks-info-editor:focus{border-color:var(--tsl-red);box-shadow:0 0 0 3px rgba(255,44,84,.10);}
.tsl-cb-registration .tsl-tracks-info-editor img{max-width:100%;height:auto;}
.tsl-cb-registration .tsl-social-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;}
.tsl-cb-registration.tsl-cb-edit-profile .cb_form_line,
.tsl-cb-registration.tsl-cb-edit-profile .form-group,
.tsl-cb-registration.tsl-cb-edit-profile .control-group{margin-bottom:12px;}
.tsl-cb-registration.tsl-cb-edit-profile .tab-content{padding:0 2px;}

@media (max-width:800px){
  .tsl-cb-registration .tsl-tracks-profile-edit__body{grid-template-columns:1fr;}
  .tsl-cb-registration .tsl-tracks-avatar{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;}
  .tsl-cb-registration .tsl-social-edit-grid{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .tsl-cb-registration .tsl-register-racing-intro{padding:19px 18px;}
  .tsl-cb-registration .tsl-register-racing-intro h3{font-size:20px;}
  .tsl-cb-registration .tsl-edit-profile-header{padding:20px 18px;}
  .tsl-cb-registration .tsl-edit-profile-header h2{font-size:23px!important;}
}
@media (max-width:480px){
  .tsl-cb-registration .tsl-tracks-avatar{grid-template-columns:1fr;}
}
.tsl-cb-registration .tsl-personal-edit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.tsl-cb-registration .tsl-readonly-input{
  background:#f5f7f9!important;
  color:#69727e!important;
  cursor:not-allowed;
}
@media (max-width:800px){
  .tsl-cb-registration .tsl-personal-edit-grid{grid-template-columns:1fr;}
}
/* Phase 20 v0.11 - driver career state inside Edit Profile */
.tsl-cb-registration .tsl-career-edit{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 18px;
  align-items:center;
  margin-top:16px;
  padding:15px 16px;
  border:1px solid #dfe4e9;
  border-left:4px solid #27a66f;
  border-radius:11px;
  background:#f8fbfa;
}
.tsl-cb-registration .tsl-career-edit.is-retired{
  border-left-color:#747d88;
  background:#f6f7f8;
}
.tsl-cb-registration .tsl-career-edit__copy>span{
  display:block;
  margin-bottom:3px;
  color:#8a939d;
  font-size:9px;
  font-weight:950;
  letter-spacing:.10em;
}
.tsl-cb-registration .tsl-career-edit__copy>strong{
  display:block;
  color:#273039;
  font-size:14px;
  font-weight:900;
}
.tsl-cb-registration .tsl-career-edit__copy>p{
  margin:4px 0 0;
  color:#737d88;
  font-size:10px;
  line-height:1.45;
}
.tsl-cb-registration .tsl-career-edit__actions{
  display:flex;
  gap:6px;
}
.tsl-cb-registration .tsl-career-edit__actions button{
  min-height:34px;
  padding:7px 10px;
  border:1px solid #d8dde3;
  border-radius:7px;
  background:#fff;
  color:#606a75;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  cursor:pointer;
}
.tsl-cb-registration .tsl-career-edit__actions button.is-selected{
  border-color:#28a670;
  background:#e9f8f1;
  color:#237957;
}
.tsl-cb-registration .tsl-career-edit.is-retired .tsl-career-edit__actions button.is-selected{
  border-color:#6f7781;
  background:#eceff2;
  color:#4d555f;
}
.tsl-cb-registration .tsl-career-edit>small{
  grid-column:1/-1;
  color:#8a929c;
  font-size:9px;
  line-height:1.4;
}
@media(max-width:700px){
  .tsl-cb-registration .tsl-career-edit{grid-template-columns:1fr;}
  .tsl-cb-registration .tsl-career-edit__actions{flex-wrap:wrap;}
}

.tsl-cb-registration .tsl-tracks-edit-field select{width:100%!important;box-sizing:border-box;padding:7px 9px;}


/* v1.2 - registration country alignment */
.tsl-cb-registration .tsl-registration-country{
  display:grid !important;
  grid-template-columns:245px minmax(0,390px) !important;
  gap:20px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 0 12px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.tsl-cb-registration .tsl-registration-country > label{
  margin:0 !important;
  padding:9px 0 0 !important;
  color:#3b414a !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

.tsl-cb-registration .tsl-registration-country__control{
  width:100% !important;
  max-width:390px !important;
  margin:0 !important;
  padding:0 !important;
}

.tsl-cb-registration .tsl-registration-country select{
  display:block !important;
  width:100% !important;
  min-height:42px !important;
  box-sizing:border-box !important;
}

.tsl-cb-registration .tsl-registration-country .tsl-field-note{
  max-width:390px;
}

/* v1.2 - Community Builder login in TSL style */
.tsl-cb-login-shell{
  max-width:820px !important;
  margin:46px auto 60px !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}

form.tsl-cb-login{
  --tsl-login-red:#ff2c54;
  --tsl-login-dark:#1d222a;
  --tsl-login-border:#dfe4ea;
  overflow:hidden;
  max-width:760px !important;
  margin:0 auto !important;
  padding:0 26px 26px !important;
  border:1px solid var(--tsl-login-border) !important;
  border-left:5px solid var(--tsl-login-red) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 14px 38px rgba(20,28,38,.09) !important;
  box-sizing:border-box !important;
}

.tsl-cb-login .tsl-login-intro{
  margin:0 -26px 24px !important;
  padding:23px 26px 22px !important;
  background:linear-gradient(125deg,#171b21 0%,#242a33 100%) !important;
  color:#fff !important;
}

.tsl-cb-login .tsl-login-intro__eyebrow{
  display:block;
  margin-bottom:6px;
  color:#ff607b !important;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tsl-cb-login .tsl-login-intro h2{
  margin:0 0 5px !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}

.tsl-cb-login .tsl-login-intro p{
  margin:0 !important;
  max-width:600px;
  color:#c8ced6 !important;
  font-size:12px !important;
  line-height:1.55 !important;
}

.tsl-cb-login input[type="text"],
.tsl-cb-login input[type="password"],
.tsl-cb-login input[name="username"],
.tsl-cb-login input[name="passwd"]{
  display:block !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 0 12px !important;
  padding:10px 13px !important;
  border:1px solid #d9dee5 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#343a43 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  font-size:14px !important;
}

.tsl-cb-login input[type="text"]:focus,
.tsl-cb-login input[type="password"]:focus,
.tsl-cb-login input[name="username"]:focus,
.tsl-cb-login input[name="passwd"]:focus{
  border-color:var(--tsl-login-red) !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(255,44,84,.10) !important;
}

.tsl-cb-login .control-group,
.tsl-cb-login .form-group,
.tsl-cb-login .cb_form_line{
  margin-bottom:12px !important;
}

.tsl-cb-login .tsl-login-remember{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  width:max-content !important;
  margin:2px 0 16px !important;
  color:#69727e !important;
  font-size:12px !important;
  font-weight:600 !important;
}

.tsl-cb-login .tsl-login-remember input[type="checkbox"]{
  width:15px !important;
  height:15px !important;
  margin:0 !important;
  accent-color:var(--tsl-login-red);
}

.tsl-cb-login button[type="submit"],
.tsl-cb-login input[type="submit"],
.tsl-cb-login .tsl-login-submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:120px !important;
  min-height:44px !important;
  padding:10px 22px !important;
  border:0 !important;
  border-radius:8px !important;
  background:var(--tsl-login-red) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}

.tsl-cb-login button[type="submit"]:hover,
.tsl-cb-login input[type="submit"]:hover,
.tsl-cb-login .tsl-login-submit:hover{
  background:#e91f47 !important;
  color:#fff !important;
}

@media(max-width:800px){
  .tsl-cb-registration .tsl-registration-country{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .tsl-cb-registration .tsl-registration-country > label{
    padding-top:0 !important;
  }

  .tsl-cb-registration .tsl-registration-country__control{
    max-width:none !important;
  }

  .tsl-cb-login-shell{
    margin-top:28px !important;
    padding:0 12px !important;
  }

  form.tsl-cb-login{
    padding:0 18px 20px !important;
  }

  .tsl-cb-login .tsl-login-intro{
    margin-left:-18px !important;
    margin-right:-18px !important;
    padding:20px 18px !important;
  }
}


/* v1.3 - CB login wrapper normalization */
.tsl-cb-login-shell .tsl-cb-login{
  width:100% !important;
}

.tsl-cb-login .input-prepend,
.tsl-cb-login .input-append,
.tsl-cb-login .controls,
.tsl-cb-login .cb_field,
.tsl-cb-login .cb_form_line > div{
  max-width:none !important;
}

.tsl-cb-login .input-prepend,
.tsl-cb-login .input-append{
  display:block !important;
  width:100% !important;
}

.tsl-cb-login .input-prepend > input,
.tsl-cb-login .input-append > input{
  width:100% !important;
}


/* v1.6 SAFE DIRECT - strip only the login modal's outer white chrome */
.tsl-login-modal-owner{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.tsl-login-modal-owner.tsl-login-modal-chrome,
.tsl-login-modal-owner .tsl-login-modal-chrome{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

.tsl-login-modal-hide-title{
  display:none !important;
}

/* Preserve the TSL card itself exactly as designed. */
.tsl-login-modal-owner form.tsl-cb-login{
  margin:0 !important;
  border-left:5px solid #ff2c54 !important;
  background:#fff !important;
  box-shadow:0 14px 38px rgba(20,28,38,.12) !important;
}

.tsl-login-modal-owner .tsl-login-intro{
  background:linear-gradient(125deg,#171b21 0%,#242a33 100%) !important;
}

/* Keep close control visible, floating on the card. */
.tsl-login-modal-close{
  position:absolute !important;
  z-index:50 !important;
  top:8px !important;
  right:8px !important;
  width:32px !important;
  height:32px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:7px !important;
  background:#2b313a !important;
  color:#fff !important;
  opacity:1 !important;
  font-size:20px !important;
  line-height:1 !important;
}

.tsl-login-modal-close:hover{
  background:#ff2c54 !important;
  border-color:#ff2c54 !important;
  color:#fff !important;
}

/* Public Racing Profile on NEW driver registrations and website-user upgrades. */
.tsl-cb-registration .tsl-tracks-profile-edit__sync{white-space:nowrap;}
.tsl-cb-registration .tsl-tracks-profile-edit .tsl-tracks-info-editor{width:100%;box-sizing:border-box;}
.tsl-cb-registration .tsl-tracks-profile-edit textarea.tsl-tracks-info-editor{display:block;resize:vertical;min-height:135px;}
.tsl-cb-registration .tsl-tracks-profile-edit__body input[type="date"]{min-height:42px;padding:7px 10px;border:1px solid #d9dee5;border-radius:7px;background:#fff;color:#353b44;}
.tsl-cb-registration .tsl-tracks-profile-edit__body select{min-height:42px;border:1px solid #d9dee5;border-radius:7px;background:#fff;}
.tsl-cb-registration .tsl-tracks-profile-edit__body .tsl-career-edit--new{grid-template-columns:1fr;}
.tsl-cb-registration .tsl-tracks-profile-edit.tsl-driver-field--hidden{display:none!important;}
