/* TPT FIX410 shared auth/login styling */
:root{
  --tpt-auth-ink:#17324d;
  --tpt-auth-muted:#60778f;
  --tpt-auth-line:#dbe5ef;
  --tpt-auth-blue:#17395c;
  --tpt-auth-gold:#f6c542;
  --tpt-auth-red:#941910;
}

body.tpt-auth-page,
body.tpt-admin-auth-page{
  min-height:100vh !important;
  margin:0 !important;
  font-family:Avenir, "Avenir Next", "Nunito Sans", Aptos, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(23,57,92,.10), transparent 28rem),
    radial-gradient(circle at 92% 10%, rgba(246,197,66,.14), transparent 30rem),
    linear-gradient(180deg,#f8fbfd 0%,#edf3f8 100%) !important;
  color:var(--tpt-auth-ink) !important;
}

body.tpt-auth-page h1,
body.tpt-auth-page h2,
body.tpt-auth-page h3,
body.tpt-auth-page button,
body.tpt-auth-page .btn,
body.tpt-admin-auth-page h1,
body.tpt-admin-auth-page h2,
body.tpt-admin-auth-page h3,
body.tpt-admin-auth-page button,
body.tpt-admin-auth-page .btn{
  font-family:Raleway, Avenir, "Avenir Next", system-ui, sans-serif !important;
}

.tpt-auth-back{
  position:fixed;
  top:1rem;
  left:1rem;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:1px solid var(--tpt-auth-line);
  background:#fff;
  color:var(--tpt-auth-ink);
  border-radius:999px;
  padding:.62rem .9rem;
  text-decoration:none;
  font-weight:850;
  box-shadow:0 12px 28px rgba(23,50,77,.12);
}

.tpt-auth-brandbar{
  width:min(980px, calc(100% - 2rem));
  margin:2.2rem auto 1rem;
  background:rgba(255,255,255,.94);
  border:1px solid var(--tpt-auth-line);
  border-radius:28px;
  box-shadow:0 16px 44px rgba(23,50,77,.09);
  padding:1rem 1.2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.tpt-auth-brand{
  display:flex;
  align-items:center;
  gap:1rem;
}

.tpt-auth-logo{
  width:128px;
  max-height:76px;
  object-fit:contain;
  display:block;
}

.tpt-auth-brand h1{
  margin:0;
  color:var(--tpt-auth-ink);
  font-size:clamp(1.65rem,4vw,2.7rem);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:850;
}

.tpt-auth-brand p{
  margin:.32rem 0 0;
  color:var(--tpt-auth-muted);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
}

.tpt-auth-shell{
  width:min(980px, calc(100% - 2rem));
  margin:0 auto 2rem;
  background:#fff;
  border:1px solid var(--tpt-auth-line);
  border-radius:32px;
  box-shadow:0 22px 58px rgba(23,50,77,.10);
  overflow:hidden;
}

.tpt-auth-accent{
  height:6px;
  background:linear-gradient(90deg,var(--tpt-auth-blue),var(--tpt-auth-gold),var(--tpt-auth-red));
}

.tpt-auth-inner{
  padding:clamp(1.15rem,3vw,2rem);
}

.tpt-auth-eyebrow{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eef4f9;
  color:var(--tpt-auth-blue);
  padding:.32rem .68rem;
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.75rem;
}

.tpt-auth-title{
  margin:0 0 .5rem;
  color:var(--tpt-auth-ink);
  font-size:clamp(2rem,4.7vw,3.4rem);
  letter-spacing:-.052em;
  line-height:.96;
  font-weight:850;
}

.tpt-auth-subtitle{
  margin:0 0 1rem;
  color:#506b86;
  font-size:1.04rem;
  line-height:1.55;
}

.tpt-auth-grid{
  display:grid;
  gap:.75rem;
}

.tpt-auth-grid label{
  display:grid;
  gap:.35rem;
  color:var(--tpt-auth-ink);
  font-weight:800;
}

.tpt-auth-grid input,
.tpt-auth-grid select,
.tpt-auth-grid textarea,
body.tpt-admin-auth-page input,
body.tpt-admin-auth-page select,
body.tpt-admin-auth-page textarea{
  width:100% !important;
  border:1px solid #d6e2ec !important;
  border-radius:16px !important;
  padding:.86rem .95rem !important;
  font:inherit !important;
  background:#fff !important;
  color:var(--tpt-auth-ink) !important;
}

.tpt-auth-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
  margin-top:1rem;
}

.tpt-auth-btn,
.tpt-auth-actions button,
body.tpt-admin-auth-page button,
body.tpt-admin-auth-page input[type="submit"]{
  width:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:999px !important;
  padding:.82rem 1.08rem !important;
  font-weight:850 !important;
  background:var(--tpt-auth-blue) !important;
  color:#fff !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 10px 22px rgba(23,57,92,.14) !important;
}

.tpt-auth-btn.secondary,
.tpt-auth-actions .secondary,
.tpt-auth-secondary{
  background:#eef4f9 !important;
  color:var(--tpt-auth-ink) !important;
  box-shadow:none !important;
}

.tpt-auth-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:var(--tpt-auth-blue);
  padding:0;
  font:inherit;
  font-weight:800;
  text-decoration:underline;
  cursor:pointer;
}

.tpt-auth-note{
  border:1px solid #dbe8f4;
  background:#f8fbff;
  border-radius:18px;
  padding:.85rem;
  margin:.8rem 0;
  color:var(--tpt-auth-ink);
}

.tpt-auth-note.error{
  border-color:#fecaca;
  background:#fef2f2;
  color:#7f1d1d;
}

.tpt-auth-note.success{
  border-color:#bbf7d0;
  background:#ecfdf5;
  color:#14532d;
}

body.tpt-admin-auth-page form{
  width:min(520px, calc(100% - 2rem)) !important;
  margin:0 auto 2rem !important;
  background:#fff !important;
  border:1px solid var(--tpt-auth-line) !important;
  border-radius:28px !important;
  box-shadow:0 22px 58px rgba(23,50,77,.10) !important;
  padding:1.35rem !important;
}

body.tpt-admin-auth-page h1,
body.tpt-admin-auth-page h2{
  color:var(--tpt-auth-ink) !important;
}

@media(max-width:760px){
  .tpt-auth-brandbar{
    margin-top:4.8rem;
    justify-content:center;
    text-align:center;
  }
  .tpt-auth-brand{
    flex-direction:column;
  }
}
