/* =====================================================
   TayyariPoint — Auth & Checkout Flow  v2.0
   Each page below is scoped under its own wrapper class
   (.tpc-page-login / -signup / -forgot / -reset / -checkout)
   and mirrors its original standalone design 1:1 — nothing
   shared/merged between pages, so each keeps its exact
   spacing, sizing and colors.
   ===================================================== */

.tpc-page-login, .tpc-page-signup, .tpc-page-forgot, .tpc-page-reset, .tpc-page-checkout,
.tpc-page-login *, .tpc-page-signup *, .tpc-page-forgot *, .tpc-page-reset *, .tpc-page-checkout * {
    box-sizing: border-box;
}
.tpc-page-login *, .tpc-page-signup *, .tpc-page-forgot *, .tpc-page-reset *, .tpc-page-checkout * {
    margin: 0; padding: 0;
}

/* ============================================================
   LOGIN  (.tpc-page-login)
   ============================================================ */
.tpc-page-login{
    --blue:#1D4ED8; --blue-dark:#1B3FB0; --green:#16A34A; --amber:#F59E0B;
    --ink:#0F172A; --slate:#64748B; --line:#E2E8F0; --bg:#F8FAFC; --white:#FFFFFF; --radius:14px;
    font-family:'Inter','Segoe UI',sans-serif;
    color:var(--ink);
    min-height:100vh;
    position:relative;
}
.tpc-page-login .bg{ position:fixed; inset:0; z-index:-1; background:var(--bg); overflow:hidden; }
.tpc-page-login .bg::before,.tpc-page-login .bg::after{ content:""; position:absolute; border-radius:50%; filter:blur(90px); }
.tpc-page-login .bg::before{ width:640px;height:640px; top:-160px;left:-160px; background:radial-gradient(circle,rgba(29,78,216,.20) 0%,transparent 70%); }
.tpc-page-login .bg::after{ width:600px;height:600px; bottom:-180px;right:-140px; background:radial-gradient(circle,rgba(245,158,11,.16) 0%,transparent 70%); }
.tpc-page-login .bg-mid{ position:absolute; width:520px;height:520px; top:38%;left:52%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(22,163,74,.14) 0%,transparent 70%); filter:blur(90px); }
.tpc-page-login .shell{ min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:56px 20px 30px; position:relative; }
@media (min-width:768px){ .tpc-page-login .shell{align-items:flex-start;padding-top:11vh} }
.tpc-page-login .back-home{ position:absolute; top:24px;left:24px; z-index:5; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--slate); text-decoration:none; transition:color .15s; padding:8px; margin:-8px; }
.tpc-page-login .back-home:hover{color:var(--blue)}
.tpc-page-login .back-home:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.tpc-page-login .card{ width:100%; max-width:400px; background:var(--white); border-radius:20px; padding:32px 32px 30px; box-shadow:0 20px 60px -12px rgba(15,23,42,.18), 0 2px 8px rgba(15,23,42,.04); border:1px solid rgba(226,232,240,.7); }
.tpc-page-login .logo{ display:block; margin:0 auto 16px; width:56px;height:56px; object-fit:contain; }
.tpc-page-login h1{ font-family:'Poppins','Segoe UI',sans-serif; font-weight:700; font-size:22px; text-align:center; letter-spacing:-0.4px; }
.tpc-page-login h1 span{color:var(--green)}
.tpc-page-login .quote-inline{ font-family:'Noto Nastaliq Urdu',serif; direction:rtl; unicode-bidi:embed; text-align:center; font-size:13px; line-height:1.7; color:var(--slate); margin:6px 0 22px; display:block; min-height:22px; transition:opacity .45s ease; }
.tpc-page-login .sub{ text-align:center; color:var(--slate); font-size:13px; line-height:1.55; margin:6px 0 22px; }
.tpc-page-login .field{margin-bottom:14px}
.tpc-page-login label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.tpc-page-login .input-wrap{position:relative;display:flex;align-items:center}
.tpc-page-login .input-icon{ position:absolute; left:13px; color:#94A3B8; display:flex; pointer-events:none; }
.tpc-page-login input[type=email],.tpc-page-login input[type=password],.tpc-page-login input[type=text]{
    width:100%; font:inherit; font-size:14.5px; padding:12px 14px 12px 40px;
    border:1.5px solid var(--line); border-radius:11px; background:var(--white); color:var(--ink);
    transition:border-color .15s, box-shadow .15s; min-height:44px;
}
.tpc-page-login input::placeholder{color:#94A3B8}
.tpc-page-login input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(29,78,216,.14); }
.tpc-page-login .toggle-pass{ position:absolute; right:4px; background:none;border:none; padding:8px;cursor:pointer; color:var(--slate); display:flex;align-items:center; border-radius:9px; }
.tpc-page-login .toggle-pass:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.tpc-page-login .btn{ width:100%; font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px; padding:12px; border-radius:11px; border:none; cursor:pointer; min-height:46px; margin-top:4px; transition:transform .12s, box-shadow .15s, background .15s; }
.tpc-page-login .btn:focus-visible{outline:3px solid rgba(29,78,216,.4);outline-offset:2px}
.tpc-page-login .btn-primary{ background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); color:var(--white); box-shadow:0 6px 18px rgba(29,78,216,.28); }
.tpc-page-login .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,78,216,.34)}
.tpc-page-login .btn-primary:active{transform:translateY(0)}
.tpc-page-login .mini-divider{ height:1px; background:var(--line); margin:18px 0 14px; }
.tpc-page-login .btn-secondary{ background:var(--white); border:1.5px solid var(--green); color:var(--green); }
.tpc-page-login .btn-secondary:hover{background:rgba(22,163,74,.06)}
.tpc-page-login .forgot{ display:block; text-align:center; font-size:13px;font-weight:600; color:var(--blue);text-decoration:none; margin-top:16px; }
.tpc-page-login .forgot:hover{text-decoration:underline}
.tpc-page-login .signup{ text-align:center; font-size:13.5px; color:var(--slate); margin-top:16px; }
.tpc-page-login .signup a{color:var(--green);font-weight:700;text-decoration:none}
.tpc-page-login .signup a:hover{text-decoration:underline}
.tpc-page-login .error{ display:none; font-size:12.5px; color:#DC2626; background:#FEF2F2; border:1px solid #FECACA; border-radius:9px; padding:9px 12px; margin:10px 0 0; }
.tpc-page-login .error.show{display:block}
@media (prefers-reduced-motion:reduce){ .tpc-page-login *{transition:none!important} }

/* ============================================================
   SIGN UP  (.tpc-page-signup)
   ============================================================ */
.tpc-page-signup{
    --blue:#1D4ED8; --blue-dark:#1B3FB0; --green:#16A34A; --amber:#F59E0B;
    --ink:#0F172A; --slate:#64748B; --line:#E2E8F0; --bg:#F8FAFC; --white:#FFFFFF; --radius:16px;
    font-family:'Inter','Segoe UI',sans-serif;
    color:var(--ink);
    min-height:100vh;
    overflow-x:hidden;
    position:relative;
}
.tpc-page-signup .bg{ position:fixed; inset:0; z-index:-2; background:var(--bg); }
.tpc-page-signup .bg::before,.tpc-page-signup .bg::after{ content:""; position:absolute; border-radius:50%; filter:blur(90px); }
.tpc-page-signup .bg::before{ width:640px;height:640px; top:-160px;left:-160px; background:radial-gradient(circle,rgba(29,78,216,.18) 0%,transparent 70%); }
.tpc-page-signup .bg::after{ width:600px;height:600px; bottom:-180px;right:-140px; background:radial-gradient(circle,rgba(245,158,11,.15) 0%,transparent 70%); }
.tpc-page-signup .bg-mid{ position:absolute; width:520px;height:520px; top:35%;left:50%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(22,163,74,.12) 0%,transparent 70%); filter:blur(90px); }
.tpc-page-signup .floaters{ position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.tpc-page-signup .floaters span{ position:absolute; font-size:26px; opacity:.35; animation:tpcSignupDrift 7s ease-in-out infinite; }
.tpc-page-signup .f1{top:10%;left:11%;animation-delay:0s;font-size:30px}
.tpc-page-signup .f2{top:8%;left:52%;animation-delay:.6s;font-size:24px}
.tpc-page-signup .f3{top:24%;right:8%;animation-delay:1.1s;font-size:26px}
.tpc-page-signup .f4{top:52%;left:6%;animation-delay:.3s;font-size:24px}
.tpc-page-signup .f5{bottom:16%;left:16%;animation-delay:1.4s;font-size:24px}
.tpc-page-signup .f6{bottom:22%;right:10%;animation-delay:.8s;font-size:26px}
.tpc-page-signup .f7{bottom:10%;left:42%;animation-delay:1.7s;font-size:22px}
@keyframes tpcSignupDrift{ 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-14px) rotate(6deg)} }
@media (max-width:640px){ .tpc-page-signup .floaters span{opacity:.2} .tpc-page-signup .f2,.tpc-page-signup .f3,.tpc-page-signup .f6{display:none} }
.tpc-page-signup .progress-track{ position:relative; top:0;left:0;right:0; height:4px; background:var(--line); z-index:20; }
.tpc-page-signup .progress-fill{ height:100%; width:25%; background:linear-gradient(90deg,var(--blue) 0%,var(--blue-dark) 100%); border-radius:0 4px 4px 0; transition:width .4s ease; }
.tpc-page-signup .topbar{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center; padding:22px 20px 0; }
.tpc-page-signup .signin-link{ position:absolute; right:12px; top:16px; font-size:13.5px; color:var(--slate); z-index:5; padding:10px 12px; display:inline-block; }
.tpc-page-signup .signin-link strong{color:var(--blue);font-weight:700}
.tpc-page-signup .signin-link:hover strong{text-decoration:underline}
.tpc-page-signup .step-dots{ display:flex; align-items:center; gap:8px; }
.tpc-page-signup .step-dots .dot{ width:8px;height:8px; border-radius:50%; background:var(--line); transition:background .25s, transform .25s; }
.tpc-page-signup .step-dots .dot.active{ background:var(--blue); transform:scale(1.25); }
.tpc-page-signup .step-dots .dot.done{background:var(--green)}
.tpc-page-signup .shell{ position:relative; z-index:2; min-height:calc(100vh - 60px); display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:20px 20px 40px; }
.tpc-page-signup .logo{ display:block; margin:0 auto 20px; width:52px;height:52px; object-fit:contain; }
.tpc-page-signup .card{ width:100%; max-width:440px; background:var(--white); border-radius:24px; padding:34px 30px 30px; box-shadow:0 20px 60px -12px rgba(15,23,42,.16), 0 2px 8px rgba(15,23,42,.04); border:1px solid rgba(226,232,240,.7); text-align:center; }
.tpc-page-signup h1{ font-family:'Poppins','Segoe UI',sans-serif; font-weight:700; font-size:clamp(21px,5vw,26px); letter-spacing:-0.4px; line-height:1.25; margin-bottom:8px; }
.tpc-page-signup h1 .emoji{font-size:.85em}
.tpc-page-signup .motivate{ font-size:13.5px; color:var(--slate); line-height:1.55; margin-bottom:24px; }
.tpc-page-signup .input-wrap{position:relative;margin-bottom:22px}
.tpc-page-signup .input-wrap.tight{margin-bottom:14px}
.tpc-page-signup input[type=text],.tpc-page-signup input[type=email],.tpc-page-signup input[type=password],.tpc-page-signup input[type=tel]{
    width:100%; font:inherit; font-size:16px; text-align:center; padding:15px 44px;
    border:1.5px solid var(--line); border-radius:12px; background:var(--white); color:var(--ink);
    transition:border-color .15s, box-shadow .15s; min-height:52px;
}
.tpc-page-signup input::placeholder{color:#94A3B8}
.tpc-page-signup input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(29,78,216,.14); }
.tpc-page-signup .toggle-pass{ position:absolute; right:6px;top:50%; transform:translateY(-50%); background:none;border:none; padding:10px;cursor:pointer; color:var(--slate); display:flex;align-items:center; border-radius:10px; }
.tpc-page-signup .toggle-pass:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.tpc-page-signup .hint{ font-size:12px; color:var(--slate); margin-top:-14px; margin-bottom:20px; text-align:center; }
.tpc-page-signup .nav{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.tpc-page-signup .btn-back{ background:none; border:none; font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; color:var(--slate); cursor:pointer; padding:12px 6px; visibility:hidden; }
.tpc-page-signup .btn-back.show{visibility:visible}
.tpc-page-signup .btn-back:hover{color:var(--ink)}
.tpc-page-signup .btn-continue{
    flex:1; max-width:220px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; padding:14px 22px; border-radius:12px; border:none; cursor:pointer;
    color:var(--white); background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); box-shadow:0 6px 18px rgba(29,78,216,.28);
    transition:transform .12s, box-shadow .15s;
}
.tpc-page-signup .btn-continue:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,78,216,.34)}
.tpc-page-signup .btn-continue:active{transform:translateY(0)}
.tpc-page-signup .btn-continue:focus-visible{outline:3px solid rgba(29,78,216,.4);outline-offset:2px}
.tpc-page-signup .btn-continue:disabled{opacity:.6;cursor:not-allowed;transform:none!important}
.tpc-page-signup .btn-continue svg{flex-shrink:0}
.tpc-page-signup .step{display:none}
.tpc-page-signup .step.active{display:block;animation:tpcSignupFadeUp .35s ease}
@keyframes tpcSignupFadeUp{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.tpc-page-signup .signup-foot{ text-align:center; font-size:12.5px; color:var(--slate); margin-top:18px; }
.tpc-page-signup .avatar-zone{ display:flex; flex-direction:column; align-items:center; margin-bottom:22px; }
.tpc-page-signup .avatar-preview{
    width:96px;height:96px; border-radius:50%; display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); box-shadow:0 8px 20px rgba(29,78,216,.28);
    overflow:hidden; margin-bottom:16px; flex-shrink:0;
}
.tpc-page-signup .avatar-preview img{ width:100%;height:100%; object-fit:cover; display:block; }
.tpc-page-signup .avatar-preview span{ font-family:'Poppins',sans-serif; font-weight:800; font-size:36px; color:var(--white); text-transform:uppercase; }
.tpc-page-signup .avatar-actions{ display:flex; align-items:center; gap:10px; }
.tpc-page-signup .btn-upload{ font-family:'Inter',sans-serif; font-weight:600; font-size:13.5px; padding:10px 18px; border-radius:999px; border:1.5px solid var(--line); background:var(--white); color:var(--ink); cursor:pointer; transition:border-color .15s, color .15s; }
.tpc-page-signup .btn-upload:hover{border-color:var(--blue);color:var(--blue)}
.tpc-page-signup .btn-remove{ font-family:'Inter',sans-serif; font-weight:600; font-size:13.5px; padding:10px 14px; border:none; background:none; color:#DC2626; cursor:pointer; }
.tpc-page-signup .btn-remove:hover{text-decoration:underline}
.tpc-page-signup .avatar-status{ font-size:12px; color:var(--slate); margin-top:10px; min-height:16px; }
.tpc-page-signup .avatar-status.ok{color:var(--green);font-weight:600}
.tpc-page-signup .error{ display:none; font-size:12.5px; color:#DC2626; background:#FEF2F2; border:1px solid #FECACA; border-radius:9px; padding:9px 12px; margin:0 0 16px; text-align:left; }
.tpc-page-signup .error.show{display:block}
.tpc-page-signup .course-chip{ max-width:440px; width:100%; text-align:center; background:#EFF4FF; color:var(--blue); font-size:12.5px; font-weight:600; padding:8px 14px; border-radius:999px; margin-bottom:14px; }
@media (max-width:420px){ .tpc-page-signup .card{padding:28px 22px 24px;border-radius:20px} .tpc-page-signup input[type=text],.tpc-page-signup input[type=email],.tpc-page-signup input[type=password]{padding:14px 40px} }
@media (prefers-reduced-motion:reduce){ .tpc-page-signup *{animation:none!important;transition:none!important} }

/* ============================================================
   FORGOT PASSWORD  (.tpc-page-forgot)
   ============================================================ */
.tpc-page-forgot{
    --blue:#1D4ED8; --blue-dark:#1B3FB0; --green:#16A34A; --amber:#F59E0B;
    --ink:#0F172A; --slate:#64748B; --line:#E2E8F0; --bg:#F8FAFC; --white:#FFFFFF; --radius:14px;
    font-family:'Inter','Segoe UI',sans-serif;
    color:var(--ink);
    min-height:100vh;
    position:relative;
}
.tpc-page-forgot .bg{ position:fixed; inset:0; z-index:-1; background:var(--bg); overflow:hidden; }
.tpc-page-forgot .bg::before,.tpc-page-forgot .bg::after{ content:""; position:absolute; border-radius:50%; filter:blur(90px); }
.tpc-page-forgot .bg::before{ width:640px;height:640px; top:-160px;left:-160px; background:radial-gradient(circle,rgba(29,78,216,.20) 0%,transparent 70%); }
.tpc-page-forgot .bg::after{ width:600px;height:600px; bottom:-180px;right:-140px; background:radial-gradient(circle,rgba(245,158,11,.16) 0%,transparent 70%); }
.tpc-page-forgot .bg-mid{ position:absolute; width:520px;height:520px; top:38%;left:52%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(22,163,74,.14) 0%,transparent 70%); filter:blur(90px); }
.tpc-page-forgot .shell{ min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:56px 20px 40px; position:relative; }
@media (min-width:768px){ .tpc-page-forgot .shell{align-items:flex-start;padding-top:11vh} }
.tpc-page-forgot .back-home{ position:absolute; top:24px;left:24px; z-index:5; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--slate); text-decoration:none; transition:color .15s; padding:8px; margin:-8px; }
.tpc-page-forgot .back-home:hover{color:var(--blue)}
.tpc-page-forgot .back-home:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.tpc-page-forgot .card{ width:100%; max-width:400px; background:var(--white); border-radius:20px; padding:32px 32px 30px; box-shadow:0 20px 60px -12px rgba(15,23,42,.18), 0 2px 8px rgba(15,23,42,.04); border:1px solid rgba(226,232,240,.7); animation:tpcForgotPop .3s ease-out; }
@keyframes tpcForgotPop{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.tpc-page-forgot .logo{ display:block; margin:0 auto 14px; width:52px;height:52px; object-fit:contain; }
.tpc-page-forgot .icon-ring{ width:44px;height:44px; margin:0 auto 14px; border-radius:50%; background:#EFF4FF; display:flex;align-items:center;justify-content:center; color:var(--blue); }
.tpc-page-forgot h1{ font-family:'Poppins','Segoe UI',sans-serif; font-weight:700; font-size:22px; text-align:center; letter-spacing:-0.4px; }
.tpc-page-forgot h1 span{color:var(--green)}
.tpc-page-forgot .sub{ text-align:center; color:var(--slate); font-size:13px; line-height:1.55; margin:6px 0 22px; }
.tpc-page-forgot .field{margin-bottom:14px}
.tpc-page-forgot label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.tpc-page-forgot .input-wrap{position:relative;display:flex;align-items:center}
.tpc-page-forgot .input-icon{ position:absolute; left:13px; color:#94A3B8; display:flex; pointer-events:none; }
.tpc-page-forgot input[type=email]{
    width:100%; font:inherit; font-size:14.5px; padding:12px 14px 12px 40px;
    border:1.5px solid var(--line); border-radius:11px; background:var(--white); color:var(--ink);
    transition:border-color .15s, box-shadow .15s; min-height:44px;
}
.tpc-page-forgot input::placeholder{color:#94A3B8}
.tpc-page-forgot input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(29,78,216,.14); }
.tpc-page-forgot .btn{ width:100%; font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px; padding:12px; border-radius:11px; border:none; cursor:pointer; min-height:46px; margin-top:4px; transition:transform .12s, box-shadow .15s, background .15s; }
.tpc-page-forgot .btn:focus-visible{outline:3px solid rgba(29,78,216,.4);outline-offset:2px}
.tpc-page-forgot .btn-primary{ background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); color:var(--white); box-shadow:0 6px 18px rgba(29,78,216,.28); }
.tpc-page-forgot .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,78,216,.34)}
.tpc-page-forgot .btn-primary:active{transform:translateY(0)}
.tpc-page-forgot .success{ display:none; text-align:center; background:#F0FDF4; border:1.5px solid #BBF7D0; color:#166534; font-size:13px; line-height:1.55; border-radius:11px; padding:12px 14px; margin-top:16px; }
.tpc-page-forgot .success.show{display:block;animation:tpcForgotPop .25s ease-out}
.tpc-page-forgot .error{ display:none; font-size:12.5px; color:#DC2626; background:#FEF2F2; border:1px solid #FECACA; border-radius:9px; padding:9px 12px; margin-top:16px; }
.tpc-page-forgot .error.show{display:block}
.tpc-page-forgot .back-link{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:18px; font-size:13.5px; font-weight:600; color:var(--slate); text-decoration:none; }
.tpc-page-forgot .back-link:hover{color:var(--blue)}
@media (prefers-reduced-motion:reduce){ .tpc-page-forgot *{transition:none!important;animation:none!important} }

/* ============================================================
   RESET PASSWORD  (.tpc-page-reset)
   ============================================================ */
.tpc-page-reset{
    --blue:#1D4ED8; --blue-dark:#1B3FB0; --green:#16A34A; --amber:#F59E0B;
    --ink:#0F172A; --slate:#64748B; --line:#E2E8F0; --bg:#F8FAFC; --white:#FFFFFF; --radius:14px;
    font-family:'Inter','Segoe UI',sans-serif;
    color:var(--ink);
    min-height:100vh;
    position:relative;
}
.tpc-page-reset .bg{ position:fixed; inset:0; z-index:-1; background:var(--bg); overflow:hidden; }
.tpc-page-reset .bg::before,.tpc-page-reset .bg::after{ content:""; position:absolute; border-radius:50%; filter:blur(90px); }
.tpc-page-reset .bg::before{ width:640px;height:640px; top:-160px;left:-160px; background:radial-gradient(circle,rgba(29,78,216,.20) 0%,transparent 70%); }
.tpc-page-reset .bg::after{ width:600px;height:600px; bottom:-180px;right:-140px; background:radial-gradient(circle,rgba(245,158,11,.16) 0%,transparent 70%); }
.tpc-page-reset .bg-mid{ position:absolute; width:520px;height:520px; top:38%;left:52%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(22,163,74,.14) 0%,transparent 70%); filter:blur(90px); }
.tpc-page-reset .shell{ min-height:100vh; display:flex; align-items:flex-start; justify-content:center; padding:56px 20px 40px; position:relative; }
@media (min-width:768px){ .tpc-page-reset .shell{align-items:flex-start;padding-top:11vh} }
.tpc-page-reset .back-home{ position:absolute; top:24px;left:24px; z-index:5; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--slate); text-decoration:none; transition:color .15s; padding:8px; margin:-8px; }
.tpc-page-reset .back-home:hover{color:var(--blue)}
.tpc-page-reset .back-home:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.tpc-page-reset .card{ width:100%; max-width:400px; background:var(--white); border-radius:20px; padding:32px 32px 30px; box-shadow:0 20px 60px -12px rgba(15,23,42,.18), 0 2px 8px rgba(15,23,42,.04); border:1px solid rgba(226,232,240,.7); animation:tpcResetPop .3s ease-out; }
@keyframes tpcResetPop{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.tpc-page-reset .logo{ display:block; margin:0 auto 14px; width:52px;height:52px; object-fit:contain; }
.tpc-page-reset .icon-ring{ width:44px;height:44px; margin:0 auto 14px; border-radius:50%; background:#EFF4FF; display:flex;align-items:center;justify-content:center; color:var(--blue); }
.tpc-page-reset h1{ font-family:'Poppins','Segoe UI',sans-serif; font-weight:700; font-size:22px; text-align:center; letter-spacing:-0.4px; }
.tpc-page-reset h1 span{color:var(--green)}
.tpc-page-reset .sub{ text-align:center; color:var(--slate); font-size:13px; line-height:1.55; margin:6px 0 22px; }
.tpc-page-reset .field{margin-bottom:14px}
.tpc-page-reset label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.tpc-page-reset .input-wrap{position:relative;display:flex;align-items:center}
.tpc-page-reset .input-icon{ position:absolute; left:13px; color:#94A3B8; display:flex; pointer-events:none; }
.tpc-page-reset input[type=password]{
    width:100%; font:inherit; font-size:14.5px; padding:12px 42px 12px 40px;
    border:1.5px solid var(--line); border-radius:11px; background:var(--white); color:var(--ink);
    transition:border-color .15s, box-shadow .15s; min-height:44px;
}
.tpc-page-reset input::placeholder{color:#94A3B8}
.tpc-page-reset input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(29,78,216,.14); }
.tpc-page-reset .toggle-pass{ position:absolute; right:4px; background:none;border:none; padding:8px;cursor:pointer; color:var(--slate); display:flex;align-items:center; border-radius:9px; }
.tpc-page-reset .toggle-pass:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.tpc-page-reset .hint{ font-size:11.5px; color:var(--slate); margin:-8px 0 14px 2px; }
.tpc-page-reset .match-msg{ font-size:11.5px; margin:-8px 0 14px 2px; display:none; }
.tpc-page-reset .match-msg.show{display:block}
.tpc-page-reset .match-msg.ok{color:var(--green)}
.tpc-page-reset .match-msg.bad{color:#DC2626}
.tpc-page-reset .btn{ width:100%; font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px; padding:12px; border-radius:11px; border:none; cursor:pointer; min-height:46px; margin-top:4px; transition:transform .12s, box-shadow .15s, background .15s; }
.tpc-page-reset .btn:focus-visible{outline:3px solid rgba(29,78,216,.4);outline-offset:2px}
.tpc-page-reset .btn-primary{ background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); color:var(--white); box-shadow:0 6px 18px rgba(29,78,216,.28); }
.tpc-page-reset .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,78,216,.34)}
.tpc-page-reset .btn-primary:active{transform:translateY(0)}
.tpc-page-reset .success{ display:none; text-align:center; background:#F0FDF4; border:1.5px solid #BBF7D0; color:#166534; font-size:13px; line-height:1.55; border-radius:11px; padding:12px 14px; margin-top:16px; }
.tpc-page-reset .success.show{display:block;animation:tpcResetPop .25s ease-out}
.tpc-page-reset .error{ display:none; text-align:center; background:#FEF2F2; border:1.5px solid #FECACA; color:#DC2626; font-size:13px; line-height:1.55; border-radius:11px; padding:12px 14px; margin-top:16px; }
.tpc-page-reset .error.show{display:block;animation:tpcResetPop .25s ease-out}
.tpc-page-reset .back-link{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:18px; font-size:13.5px; font-weight:600; color:var(--slate); text-decoration:none; }
.tpc-page-reset .back-link:hover{color:var(--blue)}
@media (prefers-reduced-motion:reduce){ .tpc-page-reset *{transition:none!important;animation:none!important} }

/* ============================================================
   CHECKOUT / PRICING  (.tpc-page-checkout)
   ============================================================ */
.tpc-page-checkout{
    --blue:#1D4ED8; --blue-dark:#1B3FB0; --green:#16A34A; --amber:#F59E0B;
    --ink:#0F172A; --slate:#64748B; --line:#E2E8F0; --bg:#F8FAFC; --white:#FFFFFF; --radius:14px;
    font-family:'Inter','Segoe UI',sans-serif;
    color:var(--ink);
    background:var(--bg);
    min-height:100vh;
    position:relative;
}
.tpc-page-checkout .bg{position:fixed;inset:0;z-index:-1;background:var(--bg);overflow:hidden}
.tpc-page-checkout .bg::before,.tpc-page-checkout .bg::after{content:"";position:absolute;border-radius:50%;filter:blur(90px)}
.tpc-page-checkout .bg::before{width:640px;height:640px;top:-160px;left:-160px;background:radial-gradient(circle,rgba(29,78,216,.16) 0%,transparent 70%)}
.tpc-page-checkout .bg::after{width:600px;height:600px;bottom:-180px;right:-140px;background:radial-gradient(circle,rgba(245,158,11,.13) 0%,transparent 70%)}
.tpc-page-checkout .progress-track{position:relative;top:0;left:0;right:0;height:4px;background:var(--line);z-index:20}
.tpc-page-checkout .progress-fill{height:100%;width:50%;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-dark) 100%);border-radius:0 4px 4px 0;transition:width .4s ease}
.tpc-page-checkout .topbar{ position:relative; max-width:920px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 20px 0; }
.tpc-page-checkout .brand{ display:flex;align-items:center;gap:8px; text-decoration:none; }
.tpc-page-checkout .brand img{width:30px;height:30px;object-fit:contain}
.tpc-page-checkout .brand span{font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;color:var(--ink)}
.tpc-page-checkout .step-dots{display:flex;align-items:center;gap:8px}
.tpc-page-checkout .step-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .25s,transform .25s}
.tpc-page-checkout .step-dots .dot.active{background:var(--blue);transform:scale(1.25)}
.tpc-page-checkout .step-dots .dot.done{background:var(--green)}
.tpc-page-checkout .help-link{font-size:13px;font-weight:600;color:var(--slate);text-decoration:none;white-space:nowrap}
.tpc-page-checkout .help-link:hover{color:var(--blue)}
.tpc-page-checkout .wrap{ max-width:920px; margin:0 auto; padding:22px 20px 60px; display:flex; flex-direction:column; gap:22px; }
.tpc-page-checkout .summary-card{order:2}
.tpc-page-checkout .form-card{order:1}
@media (min-width:860px){
    .tpc-page-checkout .wrap{flex-direction:row;align-items:flex-start}
    .tpc-page-checkout .summary-card{flex:0 0 300px;position:sticky;top:24px}
    .tpc-page-checkout .form-card{flex:1;min-width:0}
}
.tpc-page-checkout .summary-card{ background:var(--white); border-radius:18px; border:1px solid rgba(226,232,240,.8); box-shadow:0 16px 40px -14px rgba(15,23,42,.14); overflow:hidden; }
.tpc-page-checkout .summary-img{ width:100%; aspect-ratio:21/9; object-fit:cover; display:block; background:linear-gradient(135deg,#DBEAFE,#FEF3C7); }
.tpc-page-checkout .summary-body{padding:16px 18px 18px}
.tpc-page-checkout .summary-kicker{ display:inline-flex;align-items:center;gap:6px; font-size:10px;font-weight:700;letter-spacing:.5px; text-transform:uppercase;color:var(--blue); background:#EFF4FF;padding:3px 9px;border-radius:999px; margin-bottom:8px; }
.tpc-page-checkout .summary-title{ font-family:'Poppins',sans-serif; font-weight:700; font-size:15.5px; line-height:1.3; margin-bottom:10px; }
.tpc-page-checkout .summary-features{list-style:none;margin-bottom:12px}
.tpc-page-checkout .summary-features li{ display:flex;align-items:flex-start;gap:7px; font-size:12px;color:var(--slate); padding:3px 0; }
.tpc-page-checkout .summary-features li svg{flex-shrink:0;margin-top:2px;color:var(--green)}
.tpc-page-checkout .summary-divider{height:1px;background:var(--line);margin:12px 0}
.tpc-page-checkout .price-row{ display:flex;align-items:center;justify-content:space-between; font-size:12.5px;color:var(--slate); margin-bottom:5px; }
.tpc-page-checkout .price-row .strike{text-decoration:line-through;color:#94A3B8}
.tpc-page-checkout .price-row.discount{color:var(--green);font-weight:600}
.tpc-page-checkout .price-total{ display:flex;align-items:baseline;justify-content:space-between; margin-top:8px; }
.tpc-page-checkout .price-total .label{font-size:13px;font-weight:600;color:var(--ink)}
.tpc-page-checkout .price-total .amount{ font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; color:var(--blue); }
.tpc-page-checkout .price-total .amount sup{font-size:12.5px;font-weight:700;margin-right:2px}
.tpc-page-checkout .trust-badge{ display:flex;align-items:center;gap:7px; background:#F0FDF4;border:1px solid #BBF7D0; color:#166534;font-size:11px;font-weight:600; border-radius:10px;padding:8px 10px; margin-bottom:14px; line-height:1.4; }
.tpc-page-checkout .trust-badge svg{flex-shrink:0}
.tpc-page-checkout .cta-row{ display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-bottom:4px; }
@media (min-width:560px){ .tpc-page-checkout .cta-row{ flex-direction:row; } .tpc-page-checkout .cta-row > *{ flex:1; } }
.tpc-page-checkout .btn-demo{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:var(--white);border:1.5px solid var(--blue);color:var(--blue);
    font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px;
    border-radius:11px;padding:13px 22px; text-decoration:none;
    transition:background .15s, transform .12s;
}
.tpc-page-checkout .btn-demo:hover{background:var(--blue-soft, #EFF4FF);transform:translateY(-1px)}
.tpc-page-checkout .btn-portal{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    margin-top:14px; width:100%; max-width:280px;
    font-family:'Poppins',sans-serif; font-weight:600; font-size:14px;
    padding:12px 20px; border-radius:11px; text-decoration:none;
    color:#fff; background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);
    box-shadow:0 6px 18px rgba(29,78,216,.28);
    transition:transform .12s, box-shadow .15s;
}
.tpc-page-checkout .btn-portal:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,78,216,.34)}
.tpc-page-checkout .form-card{ background:var(--white); border-radius:20px; border:1px solid rgba(226,232,240,.8); box-shadow:0 16px 40px -14px rgba(15,23,42,.14); padding:28px 26px 26px; }
.tpc-page-checkout .step{display:none}
.tpc-page-checkout .step.active{display:block;animation:tpcCheckoutFadeUp .35s ease}
@keyframes tpcCheckoutFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tpc-page-checkout .step-eyebrow{ font-size:11px;font-weight:700;letter-spacing:.6px; text-transform:uppercase;color:var(--blue); margin-bottom:6px; }
.tpc-page-checkout h1{ font-family:'Poppins','Segoe UI',sans-serif; font-weight:700; font-size:clamp(20px,4vw,24px); letter-spacing:-0.4px; margin-bottom:6px; }
.tpc-page-checkout h1 span{color:var(--green)}
.tpc-page-checkout .step-sub{font-size:13.5px;color:var(--slate);line-height:1.55;margin-bottom:24px}
.tpc-page-checkout .field{margin-bottom:16px}
.tpc-page-checkout label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.tpc-page-checkout .input-wrap{position:relative;display:flex;align-items:center}
.tpc-page-checkout .input-icon{position:absolute;left:13px;color:#94A3B8;display:flex;pointer-events:none}
.tpc-page-checkout input[type=text],.tpc-page-checkout input[type=email],.tpc-page-checkout input[type=tel]{
    width:100%;font:inherit;font-size:14.5px; padding:12px 14px 12px 40px;
    border:1.5px solid var(--line);border-radius:11px; background:var(--white);color:var(--ink);
    transition:border-color .15s, box-shadow .15s; min-height:46px;
}
.tpc-page-checkout input::placeholder{color:#94A3B8}
.tpc-page-checkout input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.14)}
.tpc-page-checkout .nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}
.tpc-page-checkout .btn-back{ background:none;border:none;font-family:'Inter',sans-serif; font-weight:600;font-size:14px;color:var(--slate); cursor:pointer;padding:12px 6px;visibility:hidden; }
.tpc-page-checkout .btn-back.show{visibility:visible}
.tpc-page-checkout .btn-back:hover{color:var(--ink)}
.tpc-page-checkout .btn-continue{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px; padding:13px 22px;border-radius:11px;border:none;cursor:pointer;
    color:var(--white); background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); box-shadow:0 6px 18px rgba(29,78,216,.28);
    transition:transform .12s, box-shadow .15s;
}
.tpc-page-checkout .btn-continue:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,78,216,.34)}
.tpc-page-checkout .btn-continue:focus-visible{outline:3px solid rgba(29,78,216,.4);outline-offset:2px}
.tpc-page-checkout .pay-methods{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}
.tpc-page-checkout .pay-card{ border:1.5px solid var(--line); border-radius:14px; padding:16px 16px 14px; }
.tpc-page-checkout .pay-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tpc-page-checkout .pay-icon{ width:36px;height:36px;border-radius:9px; display:flex;align-items:center;justify-content:center; flex-shrink:0; overflow:hidden; padding:5px; }
.tpc-page-checkout .pay-icon img{width:100%;height:100%;object-fit:contain;display:block}
.tpc-page-checkout .pay-icon.bank{background:#EFF4FF}
.tpc-page-checkout .pay-icon.ep{background:#EFFDF4}
.tpc-page-checkout .pay-card-head strong{font-size:14.5px;font-weight:700}
.tpc-page-checkout .pay-row{ display:flex;align-items:center;justify-content:space-between; gap:10px; padding:8px 0; border-top:1px dashed var(--line); }
.tpc-page-checkout .pay-row:first-of-type{border-top:none}
.tpc-page-checkout .pay-row .k{font-size:12px;color:var(--slate)}
.tpc-page-checkout .pay-row .v{font-size:13.5px;font-weight:600;color:var(--ink) !important;word-break:break-all;text-align:right}
.tpc-page-checkout .pay-row .v,
.tpc-page-checkout .pay-row .v a,
.tpc-page-checkout .pay-row .v a:link,
.tpc-page-checkout .pay-row .v a:visited{color:var(--ink) !important;text-decoration:none !important}
.tpc-page-checkout .copy-btn{ flex-shrink:0; display:inline-flex;align-items:center;gap:5px; background:#F1F5F9;border:none;border-radius:8px; padding:6px 9px;font-size:11.5px;font-weight:600; color:var(--slate);cursor:pointer; transition:background .15s,color .15s; }
.tpc-page-checkout .copy-btn:hover{background:#E2E8F0;color:var(--ink)}
.tpc-page-checkout .copy-btn.copied{background:#DCFCE7;color:#166534}
.tpc-page-checkout .amount-due{
    display:flex;align-items:center;justify-content:space-between; gap:14px;
    background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%); border-radius:14px; padding:16px 20px; margin-bottom:20px;
    box-shadow:0 10px 24px -8px rgba(29,78,216,.4);
}
.tpc-page-checkout .amount-due .adl{color:rgba(255,255,255,.85);font-size:12.5px;font-weight:600}
.tpc-page-checkout .amount-due .adv{ font-family:'Poppins',sans-serif; font-weight:800; font-size:28px; color:var(--white); line-height:1; }
.tpc-page-checkout .amount-due .adv sup{font-size:14px;font-weight:700;margin-right:2px}
.tpc-page-checkout .btn-whatsapp{
    flex:1;max-width:260px;margin-left:auto; display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px; padding:13px 22px;border-radius:11px;border:none;cursor:pointer;
    color:var(--white); background:linear-gradient(135deg,#22C55E 0%,#15803D 100%); box-shadow:0 6px 18px rgba(21,128,61,.32);
    transition:transform .12s, box-shadow .15s;
}
.tpc-page-checkout .btn-whatsapp:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(21,128,61,.4)}
.tpc-page-checkout .btn-whatsapp:focus-visible{outline:3px solid rgba(21,128,61,.4);outline-offset:2px}
.tpc-page-checkout .btn-whatsapp:disabled{opacity:.6;cursor:not-allowed;transform:none!important}
.tpc-page-checkout .review-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tpc-page-checkout .chip{ display:flex;align-items:center;gap:6px; background:#F8FAFC;border:1px solid var(--line); border-radius:999px;padding:7px 12px; font-size:12.5px;color:var(--ink); }
.tpc-page-checkout .chip svg{color:var(--slate)}
.tpc-page-checkout .upload-zone{ border:1.5px dashed var(--line); border-radius:14px; padding:26px 18px; text-align:center; cursor:pointer; transition:border-color .15s, background .15s; margin-bottom:8px; }
.tpc-page-checkout .upload-zone:hover, .tpc-page-checkout .upload-zone.drag{border-color:var(--blue);background:#F8FAFF}
.tpc-page-checkout .upload-zone svg{color:var(--blue);margin-bottom:8px}
.tpc-page-checkout .upload-zone .u-title{font-size:14px;font-weight:600;margin-bottom:4px}
.tpc-page-checkout .upload-zone .u-sub{font-size:12px;color:var(--slate)}
.tpc-page-checkout .upload-preview{display:none;text-align:center;margin-bottom:8px}
.tpc-page-checkout .upload-preview.show{display:block}
.tpc-page-checkout .upload-preview img{ max-width:100%;max-height:220px;border-radius:12px; border:1px solid var(--line); box-shadow:0 8px 20px -8px rgba(15,23,42,.2); }
.tpc-page-checkout .upload-preview .file-status{ display:flex;align-items:center;justify-content:center;gap:8px; font-size:12.5px;color:var(--green);font-weight:600;margin-top:10px; }
.tpc-page-checkout .upload-preview .file-remove{ background:none;border:none;color:#DC2626; font-size:12px;font-weight:600;cursor:pointer; text-decoration:underline;margin-top:6px; }
.tpc-page-checkout .error{ display:none; font-size:12.5px; color:#DC2626; background:#FEF2F2; border:1px solid #FECACA; border-radius:9px; padding:9px 12px; margin-top:8px; }
.tpc-page-checkout .error.show{display:block}
.tpc-page-checkout .success-panel{display:none;text-align:center;padding:10px 4px 4px}
.tpc-page-checkout .success-panel.show{display:block;animation:tpcCheckoutFadeUp .35s ease}
.tpc-page-checkout .success-icon{ width:56px;height:56px;margin:0 auto 14px; border-radius:50%; background:#F0FDF4;color:var(--green); display:flex;align-items:center;justify-content:center; }
.tpc-page-checkout .success-panel h2{ font-family:'Poppins',sans-serif;font-weight:700;font-size:19px; margin-bottom:8px; }
.tpc-page-checkout .success-panel p{font-size:13.5px;color:var(--slate);line-height:1.6;max-width:340px;margin:0 auto}
.tpc-page-checkout .success-panel .eta{ display:inline-flex;align-items:center;gap:6px; background:#EFF4FF;color:var(--blue); font-size:12.5px;font-weight:700; padding:6px 14px;border-radius:999px; margin-top:14px; }
@media (prefers-reduced-motion:reduce){ .tpc-page-checkout *{animation:none!important;transition:none!important} }
