/* TPT stable public/admin auth styling */
:root{
  --tpt-ink:#17324d;
  --tpt-muted:#60778f;
  --tpt-line:#dbe5ef;
  --tpt-blue:#17395c;
  --tpt-gold:#f6c542;
  --tpt-red:#941910;
}
*{box-sizing:border-box}
body.tpt-auth-screen{
  margin:0;
  min-height:100vh;
  font-family:Avenir,"Avenir Next","Nunito Sans",Aptos,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  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%);
  color:var(--tpt-ink);
  padding:1.25rem;
}
body.tpt-auth-screen h1,
body.tpt-auth-screen h2,
body.tpt-auth-screen h3,
body.tpt-auth-screen .tpt-eyebrow,
body.tpt-auth-screen .tpt-btn,
body.tpt-auth-screen .tpt-back,
body.tpt-auth-screen .tpt-mini-pill{
  font-family:Raleway,Avenir,"Avenir Next",system-ui,sans-serif;
}
.tpt-auth-wrap{width:min(1080px,100%);margin:0 auto;display:grid;gap:1rem}
.tpt-auth-header{
  background:rgba(255,255,255,.95);
  border:1px solid var(--tpt-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;
  flex-wrap:wrap;
}
.tpt-auth-brand{display:flex;align-items:center;gap:1rem;min-width:0}
.tpt-auth-logo{width:132px;max-height:78px;object-fit:contain;display:block}
.tpt-auth-brand h1{margin:0;color:var(--tpt-ink);font-size:clamp(1.7rem,4vw,2.7rem);line-height:.98;letter-spacing:-.04em;font-weight:850}
.tpt-auth-brand p{margin:.32rem 0 0;color:var(--tpt-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.tpt-back{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--tpt-line);background:#f7fafc;color:var(--tpt-ink);border-radius:999px;padding:.65rem .95rem;text-decoration:none;font-weight:850;white-space:nowrap}
.tpt-card{background:#fff;border:1px solid var(--tpt-line);border-radius:32px;box-shadow:0 22px 58px rgba(23,50,77,.10);overflow:hidden}
.tpt-accent{height:6px;background:linear-gradient(90deg,var(--tpt-blue),var(--tpt-gold),var(--tpt-red))}
.tpt-card-inner{padding:clamp(1.25rem,3vw,2rem);max-width:620px;margin:0 auto}
.tpt-card-inner.wide{max-width:none}
.tpt-eyebrow{display:inline-flex;align-items:center;border-radius:999px;background:#eef4f9;color:var(--tpt-blue);padding:.32rem .68rem;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}
.tpt-title{margin:0 0 .5rem;color:var(--tpt-ink);font-size:clamp(2rem,4.7vw,3.4rem);letter-spacing:-.052em;line-height:.96;font-weight:850}
.tpt-subtitle{margin:0 0 1rem;color:#506b86;font-size:1.02rem;line-height:1.55}
.tpt-form{display:grid;gap:.85rem}
.tpt-form label.field{display:grid;gap:.35rem;color:var(--tpt-ink);font-weight:800}
.tpt-form input[type="text"],.tpt-form input[type="password"],.tpt-form input[type="email"],.tpt-form input[type="number"],.tpt-form input:not([type]){width:100%;border:1px solid #d6e2ec;border-radius:16px;padding:.86rem .95rem;font:inherit;background:#fff;color:var(--tpt-ink)}
.tpt-code-input{font-size:1.35rem;letter-spacing:.16em;text-align:center;font-weight:850}
.tpt-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}
.tpt-btn,.tpt-actions button,.tpt-actions input[type="submit"]{width:auto;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.85rem 1.2rem;font-weight:850;background:var(--tpt-blue);color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 10px 22px rgba(23,57,92,.14)}
.tpt-btn.secondary,.tpt-actions .secondary{background:#eef4f9;color:var(--tpt-ink);box-shadow:none}
.tpt-link{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--tpt-blue);padding:0;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.tpt-note{border:1px solid #dbe8f4;background:#f8fbff;border-radius:18px;padding:.85rem;margin:0 0 1rem;color:var(--tpt-ink)}
.tpt-note.error{border-color:#fecaca;background:#fef2f2;color:#7f1d1d}
.tpt-note.success{border-color:#bbf7d0;background:#ecfdf5;color:#14532d}
.tpt-check-card{display:flex;align-items:flex-start;gap:.8rem;padding:.9rem;border:1px solid #dbe5ef;background:#f8fbff;border-radius:18px;color:#506b86;line-height:1.4;cursor:pointer}
.tpt-check-card input{position:absolute;opacity:0;pointer-events:none}
.tpt-fake-check{width:1.35rem;height:1.35rem;border-radius:8px;border:2px solid #b8c9d9;background:#fff;display:grid;place-items:center;flex:0 0 auto;margin-top:.1rem;color:#fff;font-size:.9rem;font-weight:900;transition:.15s ease}
.tpt-check-card input:checked + .tpt-fake-check{border-color:#16834a;background:#16834a}
.tpt-check-card input:checked + .tpt-fake-check:after{content:"✓"}
.tpt-check-card strong{display:block;color:var(--tpt-ink);font-weight:850;margin-bottom:.15rem}
.tpt-footer{text-align:center;color:#60778f;font-size:.9rem;font-weight:400}
@media(max-width:760px){.tpt-auth-header{justify-content:center;text-align:center}.tpt-auth-brand{flex-direction:column;justify-content:center}.tpt-auth-wrap{gap:.85rem}}
