:root{--graphite:#1C2126;--graphite-soft:#2A3138;--steel:#41505E;--steel-line:#DDE2E6;--paper:#F5F6F4;--white:#FFFFFF;--amber:#D98E2C;--amber-dark:#B5721B;--ok-green:#2E7D4F; }
.ta-shell{
  --ta-ink:#14171A;--ta-ink-soft:#1F252B;--ta-steel:#5B6672;--ta-line:#DAD7CD; --graphite: #1C2126;
    --graphite-soft: #2A3138;  --ta-paper:#F5F6F4;--ta-white:#FFFFFF;--ta-amber:#FFC229;--ta-amber-deep:#E39F00;
  --ta-teal:#12856A;--ta-red:#C0392B;--ta-border-mid:#CFC9B4;
  font-family:'Inter',sans-serif;color:var(--ta-ink);
  padding:44px 16px 64px;background:radial-gradient(circle at 18% 16%,rgba(255,194,41,.14),transparent 30%),linear-gradient(120deg,#F5F6F4 0%,#ECEFEC 100%);
}
.ta-shell *{box-sizing:border-box;}
.ta-shell h1,.ta-shell h2,.ta-shell h3{font-family:'Outfit',sans-serif;letter-spacing:-.01em;margin:0;}
.ta-shell a{text-decoration:none;color:inherit;}

.ta-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start;}
@media(max-width:960px){.ta-grid{grid-template-columns:1fr;}}

/* ---- Card ---- */
.ta-card{background:var(--ta-white);border:1px solid var(--ta-line);border-radius:14px;box-shadow:0 20px 50px rgba(20,23,26,.09);overflow:hidden;animation:taRise .5s cubic-bezier(.22,1,.36,1) both;}
@keyframes taRise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.ta-head{padding:26px 28px 0;}
.ta-head h2{font-size:27px;font-weight:800;margin-bottom:6px;}
.ta-head p{font-size:13px;color:var(--ta-steel);margin-bottom:16px;}
.ta-body{padding:18px 28px 28px;}
.ta-section{display:none;}
.ta-section.active{display:block;animation:taFade .35s ease both;}
@keyframes taFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.ta-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--ta-paper);border-radius:8px;padding:5px;margin-bottom:18px;}
.ta-tab{height:44px;border:0;border-radius:6px;background:transparent;font-size:13px;font-weight:800;color:var(--ta-steel);cursor:pointer;transition:color .2s;}
.ta-tab.active{background:var(--ta-ink);color:#fff;box-shadow:0 7px 16px rgba(20,23,26,.14);animation:taPop .25s cubic-bezier(.34,1.56,.64,1);}
@keyframes taPop{from{transform:scale(.92);}to{transform:scale(1);}}

.ta-group{margin-bottom:14px;}
.ta-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:480px){.ta-form-row-2{grid-template-columns:1fr;}}
.ta-group label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ta-steel);margin-bottom:7px;}
.ta-required-tag{font-size:9.5px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ta-amber-deep);background:#FFF1DE;padding:2px 7px;border-radius:99px;margin-left:6px;}
.ta-field{width:100%;height:46px;border:1px solid var(--ta-line);border-radius:7px;background:#FAFBFA;font-size:14px;color:var(--ta-ink);padding:0 13px;outline:none;transition:border-color .15s,background .15s,box-shadow .15s;}
.ta-field:focus{border-color:var(--ta-amber);background:#fff;box-shadow:0 0 0 4px rgba(255,194,41,.16);}
.ta-field:disabled{background:#F0F1EF;color:#9AA1A8;}

.ta-otp-row{display:flex;gap:8px;}
.ta-otp-row .ta-field{flex:1;min-width:0;}
.ta-otp-row .ta-btn{flex-shrink:0;white-space:nowrap; background: linear-gradient(135deg, var(--graphite-soft), var(--graphite)); }
.ta-otp-block{display:none;margin:10px 0 14px;padding:14px;background:var(--ta-paper);border:1px dashed var(--ta-border-mid);border-radius:10px;}
.ta-otp-block.active{display:block;animation:taFade .3s ease both;}
.ta-otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px;}
.ta-otp-boxes input{text-align:center;font-weight:800;font-size:16px;padding:0; border: 1px solid var(--steel-line); transition:transform .15s cubic-bezier(.34,1.56,.64,1), border-color .2s,box-shadow .2s;}
.ta-otp-boxes input:focus{transform:translateY(-2px) scale(1.04);border-color:var(--ta-amber);box-shadow:0 6px 14px rgba(255,194,41,.25);}
.ta-otp-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ta-hint{font-size:12px;color:var(--ta-steel);margin-top:6px;min-height:16px;}
.ta-hint.ta-hint-error{color:var(--ta-red);font-weight:600;}
.ta-hint.ta-hint-ok{color:var(--ta-teal);font-weight:600;}

.ta-link-btn{border:0;background:none;color:var(--ta-amber-deep);font-weight:800;font-size:12.5px;cursor:pointer;text-decoration:underline;padding:0;}
.ta-link-btn:disabled{color:#B9C0C6;cursor:not-allowed;text-decoration:none;}

.ta-verify-pill{display:inline-flex;align-items:center;gap:7px;margin:2px 0 16px;padding:8px 12px;border-radius:999px;background:#EAF5EF;color:var(--ta-teal);font-size:12.5px;font-weight:800;animation:taPulse 1.6s ease-out infinite;}
@keyframes taPulse{0%{box-shadow:0 0 0 0 rgba(18,133,106,.28);}100%{box-shadow:0 0 0 8px rgba(18,133,106,0);}}

.ta-notice{display:flex;align-items:flex-start;gap:10px;background:#FFF7ED;border:1px solid #F1D2AA;border-radius:8px;padding:12px;margin-bottom:16px;color:#7D5119;font-size:12.5px;font-weight:600;}
.ta-notice i{margin-top:2px;color:var(--ta-amber-deep);}
.ta-notice-info{background:#EEF5FF;border-color:#C7DBFA;color:#1F4E8C;}
.ta-notice-info i{color:#3268C4;}

.ta-alert{border-radius:8px;padding:11px 14px;font-size:12.5px;font-weight:600;margin:10px 0 14px;animation:taFade .25s ease both;}
.ta-alert-error{background:#FDECEA;border:1px solid #F3B9B2;color:var(--ta-red);}
.ta-alert-ok{background:#EAF6F0;border:1px solid #BFE3D0;color:#0B6350;}

.ta-verify-inline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#FFF7ED;border:1px solid #F1D2AA;border-radius:8px;padding:11px 14px;margin-bottom:14px;font-size:12.5px;color:#7D5119;font-weight:600;animation:taFade .25s ease both;}
.ta-verify-inline .ta-link-btn{white-space:nowrap;}

.ta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;padding:12px 20px;border-radius:5px;border:1.5px solid transparent;cursor:pointer;transition:transform .12s ease,background .15s ease,box-shadow .15s ease,opacity .15s;position:relative;overflow:hidden;}
.ta-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.35) 45%,transparent 60%);transform:translateX(-120%);transition:transform .5s ease;}
.ta-btn:hover:not(:disabled):after{transform:translateX(120%);}
.ta-btn:hover:not(:disabled){transform:translateY(-1px);}
.ta-btn:disabled{opacity:.55;cursor:not-allowed;}
.ta-btn-amber{background: linear-gradient(135deg, #E4A13F, var(--amber) 55%, var(--amber-dark));color:var(--ta-ink);box-shadow:0 4px 14px rgba(255,194,41,.3);}
.ta-btn-dark{background:linear-gradient(135deg,var(--ta-ink-soft),var(--ta-ink));color:#fff;}
.ta-btn-light{background:#fff;border-color:var(--ta-line);color:var(--ta-ink);}
.ta-btn-light:hover:not(:disabled){border-color:var(--ta-amber-deep);color:var(--ta-amber-deep);}
.ta-btn-block{width:100%;height:48px;}
.ta-submit-row{display:flex;gap:10px;}
.ta-submit-row .ta-btn{flex:1;height:46px;}
.ta-btn.is-loading{pointer-events:none;}
.ta-btn.is-loading .fa-solid{animation:taSpin .8s linear infinite;}
@keyframes taSpin{to{transform:rotate(360deg);}}

.ta-terms{font-size:12px;color:var(--ta-steel);margin:14px 0;}
.ta-terms a{color:var(--ta-amber-deep);font-weight:800;}
.ta-switch{margin-top:18px;padding:15px;border:1px solid #F1D2AA;background:#FFF7ED;border-radius:10px;text-align:center;font-size:13px;color:#7D5119;font-weight:700;}
.ta-switch button{border:0;background:none;color:var(--ta-ink);font-weight:900;text-decoration:underline;cursor:pointer;}
.ta-forgot-link{text-align:right;margin-top:10px;}
.ta-forgot-link button{border:0;background:none;color:var(--ta-amber-deep);font-weight:700;font-size:12.5px;cursor:pointer;text-decoration:underline;}
.ta-reset-success{text-align:center;padding:10px 0 6px;}

/* ---- Email verify block ---- */
.ta-verify-body{text-align:center;padding-top:36px;}
.ta-verify-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(135deg,#FFF1DE,#FFE4B0);color:var(--ta-amber-deep);display:flex;align-items:center;justify-content:center;font-size:26px;animation:taFloat 3s ease-in-out infinite;}
@keyframes taFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.ta-verify-body h2{font-size:24px;margin-bottom:8px;}
.ta-verify-body p{font-size:13.5px;color:var(--ta-steel);margin-bottom:16px;}
.ta-verify-body .ta-notice{text-align:left;}
.ta-verify-footnote{font-size:12px;color:#9AA1A8;margin-top:16px;}
.ta-goto-login-btn{margin-top:14px;}

/* ---- Brand panel ---- */
.ta-brand{background:var(--ta-ink);color:#fff;border-radius:14px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 20px 50px rgba(20,23,26,.28);animation:taRise .5s .1s cubic-bezier(.22,1,.36,1) both;}
.ta-brand:after{content:"";position:absolute;right:-70px;bottom:-80px;width:260px;height:260px;border:42px solid rgba(255,194,41,.22);border-radius:50%;animation:taFloat 8s ease-in-out infinite;}
.ta-brand-copy,.ta-brand-metrics{position:relative;z-index:1;}
.ta-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ta-amber);margin-bottom:16px;}
.ta-eyebrow:before{content:"";width:18px;height:2px;background:var(--ta-amber);}
.ta-brand h1{font-size:36px;font-weight:800;line-height:1.1;margin-bottom:16px;background:linear-gradient(92deg,#fff 0%,#fff 55%,var(--ta-amber) 130%);-webkit-background-clip:text;background-clip:text;}
.ta-brand>.ta-brand-copy>p{font-size:14px;color:#C9D0D6;max-width:390px;}
.ta-machine-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;}
.ta-machine-card{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:10px;padding:15px;transition:transform .25s ease,background .25s ease;}
.ta-machine-card:hover{transform:translateY(-3px);background:rgba(255,194,41,.1);}
.ta-machine-card i{color:var(--ta-amber);font-size:20px;margin-bottom:10px;display:block;}
.ta-machine-card b{display:block;font-size:12.5px;margin-bottom:2px;}
.ta-machine-card span{font-size:11.5px;color:#C9D0D6;}
.ta-brand-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px;padding-top:20px;border-top:1px dashed rgba(255,255,255,.18);}
.ta-metric{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:13px;text-align:center;transition:transform .2s ease;}
.ta-metric:hover{transform:translateY(-2px);}
.ta-metric b{display:block;font-family:'Outfit',sans-serif;color:var(--ta-amber);font-size:20px;}
.ta-metric span{font-size:10.5px;color:#C9D0D6;}

/* ---- OTP login modal ---- */
.ta-modal-backdrop{position:fixed;inset:0;background:rgba(15,18,22,.72);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:99999;padding:20px;}
.ta-modal-backdrop.active{display:flex;}
.ta-otp-modal{width:420px;max-width:100%;background:#fff;border:1px solid var(--ta-line);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.4);padding:26px;animation:taPop .3s cubic-bezier(.22,1,.36,1) both;}
.ta-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.ta-modal-head h3{font-size:21px;margin-bottom:5px;}
.ta-modal-head p{font-size:12.5px;color:var(--ta-steel);margin:0;line-height:1.5;}
.ta-close-btn{flex-shrink:0;width:34px;height:34px;border:1px solid var(--ta-line);border-radius:8px;background:#fff;cursor:pointer;color:var(--steel-line);transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s;font-size:13px;}
.ta-close-btn:hover{transform:rotate(90deg);color:var(--ta-amber-deep);}
.ta-otp-modal .ta-otp-row{display:flex;gap:8px;}
.ta-otp-modal .ta-otp-row .ta-field{flex:1;min-width:0; border:1px solid #DDE2E6;}
.ta-btn-nowrap{white-space:nowrap; flex-shrink:0; width:auto;}

/* ---- Toast (email link return) ---- */
.ta-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:9999;padding:13px 22px;border-radius:10px;font-size:13.5px;font-weight:700;box-shadow:0 14px 34px rgba(20,23,26,.2);animation:taToastIn .4s cubic-bezier(.22,1,.36,1) both,taToastOut .4s ease 4.6s forwards;}
.ta-toast-success{background:#EAF6F0;border:1px solid #BFE3D0;color:#0B6350;}
.ta-toast-invalid{background:#FDECEA;border:1px solid #F3B9B2;color:var(--ta-red);}
@keyframes taToastIn{from{opacity:0;transform:translate(-50%,-14px);}to{opacity:1;transform:translate(-50%,0);}}
@keyframes taToastOut{to{opacity:0;transform:translate(-50%,-14px);}}

@media(max-width:620px){.ta-otp-boxes{grid-template-columns:repeat(6,1fr);}.ta-brand{padding:26px;}.ta-brand h1{font-size:28px;}}

/* ---- Already logged in card ---- */
.ta-loggedin-wrap{max-width:480px;margin:0 auto;}
.ta-loggedin-card{background:var(--ta-white);border:1px solid var(--ta-line);border-radius:16px;padding:40px 36px;text-align:center;box-shadow:0 20px 50px rgba(20,23,26,.1);animation:taRise .5s cubic-bezier(.22,1,.36,1) both;}
.ta-loggedin-avatar{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#FFD666,var(--ta-amber) 60%,var(--ta-amber-deep));color:var(--ta-ink);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:24px;box-shadow:0 10px 22px rgba(255,194,41,.35);}
.ta-loggedin-card h2{font-size:24px;margin-bottom:6px;}
.ta-loggedin-meta{font-size:13px;color:var(--ta-steel);margin-bottom:24px;}
.ta-loggedin-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
.ta-loggedin-note{font-size:12px;color:#9AA1A8;margin:0;}
