/* ============================================================
   TweakShift Account System — Premium Crimson UI v1.4.0
   Design-only frontend upgrade for the 2026 TweakShift theme.
   Backend/auth/licensing/download/session behavior is unchanged.
   ============================================================ */

.tas-root,
.tas-root *,
.tas-root *::before,
.tas-root *::after{box-sizing:border-box}

.tas-root{
  --tas-bg:#07090d;
  --tas-panel:#0d1015;
  --tas-panel-2:#0a0d12;
  --tas-panel-3:#10141a;
  --tas-line:#303640;
  --tas-line-soft:#232a32;
  --tas-line-hover:#454d57;
  --tas-text:#f7f8fa;
  --tas-copy:#b0b6be;
  --tas-muted:#7c858f;
  --tas-dim:#5f6873;
  --tas-red:#ef2737;
  --tas-red-2:#ff3545;
  --tas-red-deep:#351218;
  --tas-green:#40d987;
  --tas-green-deep:#10291e;
  --tas-danger:#ff6672;
  --tas-font:"Poppins",Arial,sans-serif;
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:calc(100vh - 1px);
  overflow:hidden;
  padding:clamp(52px,6vw,86px) 0 clamp(64px,7vw,96px);
  color:var(--tas-text)!important;
  font-family:var(--tas-font)!important;
  background:#07090d;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.tas-root::before,
.tas-root::after{
  content:"";
  position:absolute;
  z-index:-4;
  pointer-events:none;
}

/* Continuous diagonal website structure — subtle and static for performance. */
.tas-root::before{
  inset:-180px -140px;
  opacity:.34;
  background:
    linear-gradient(135deg,transparent 0 21%,rgba(107,116,128,.08) 21.05% 21.12%,transparent 21.17% 39%,rgba(107,116,128,.055) 39.05% 39.12%,transparent 39.17% 100%),
    linear-gradient(45deg,transparent 0 66%,rgba(239,39,55,.045) 66.05% 66.12%,transparent 66.17% 100%);
  transform:translateZ(0);
}

/* Quiet crimson focus behind the content; deliberately not a bright glow. */
.tas-root::after{
  width:min(980px,80vw);
  height:520px;
  left:50%;
  top:-310px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(239,39,55,.055),transparent 68%);
}

.tas-root a{color:inherit;text-decoration:none!important}
.tas-root button,
.tas-root input,
.tas-root select{font-family:var(--tas-font)!important}
.tas-root h1,
.tas-root h2,
.tas-root h3,
.tas-root p{color:inherit;margin-top:0}

/* Legacy decorative nodes retained in PHP, restyled to the new page language. */
.tas-bg-grid{
  position:absolute;
  z-index:-3;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:96px 96px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 76%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 76%,transparent 100%);
}

.tas-glow{position:absolute;z-index:-2;pointer-events:none;border-radius:50%}
.tas-glow-one{
  width:420px;height:420px;right:-260px;top:18%;
  border:1px solid rgba(239,39,55,.045);
  background:transparent;
}
.tas-glow-two{
  width:360px;height:360px;left:-250px;bottom:9%;
  border:1px solid rgba(116,126,139,.045);
  background:transparent;
}

/* ============================================================
   Layout
   ============================================================ */

.tas-wrap{
  position:relative;
  z-index:2;
  width:min(1240px,calc(100% - 64px));
  margin:0 auto;
}

.tas-shell-auth{
  display:flex;
  align-items:center;
}

.tas-shell-auth .tas-wrap{width:min(520px,calc(100% - 34px))}
.tas-shell-dashboard .tas-wrap{width:min(1240px,calc(100% - 64px))}

/* ============================================================
   Brand
   ============================================================ */

.tas-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 24px;
  opacity:0;
  transform:translateY(-8px);
}

.tas-root.is-ready .tas-brand{
  animation:tasBrandIn .55s .04s cubic-bezier(.22,1,.36,1) forwards;
}

@keyframes tasBrandIn{to{opacity:1;transform:none}}

.tas-logo-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  outline:none;
}

.tas-logo-link::after{
  content:"TWEAKSHIFT";
  color:#f7f8fa;
  font-size:15px;
  line-height:1;
  font-weight:700;
  font-style:italic;
  letter-spacing:.015em;
}

.tas-logo-link img{
  display:block;
  width:42px;
  height:36px;
  object-fit:contain;
  transform:scale(3.45);
  transform-origin:center;
  filter:none;
}

.tas-logo-text{
  color:#f7f8fa!important;
  font-size:20px;
  font-weight:700;
  letter-spacing:-.025em;
}

/* ============================================================
   Shared surfaces
   ============================================================ */

.tas-card,
.tas-dashboard-hero,
.tas-dashboard-card,
.tas-product-card{
  position:relative;
  border:1px solid var(--tas-line);
  background:#0d1015;
  box-shadow:0 24px 68px rgba(0,0,0,.22);
}

.tas-card,
.tas-dashboard-card,
.tas-product-card{overflow:hidden}

.tas-card::before,
.tas-dashboard-hero::before,
.tas-dashboard-card::before,
.tas-product-card::before{
  content:"";
  position:absolute;
  z-index:1;
  left:12%;right:12%;top:-1px;
  height:1px;
  background:var(--tas-red);
  opacity:0;
  transform:scaleX(.24);
  transform-origin:center;
  pointer-events:none;
  transition:opacity .22s ease,transform .42s cubic-bezier(.22,1,.36,1);
}

.tas-card:hover::before,
.tas-dashboard-hero:hover::before,
.tas-dashboard-card:hover::before,
.tas-product-card:hover::before{opacity:.68;transform:scaleX(1)}

.tas-card,
.tas-dashboard-card,
.tas-product-card{
  transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .24s ease,background-color .24s ease,box-shadow .24s ease;
}

.tas-card:hover,
.tas-dashboard-card:hover,
.tas-product-card:hover{
  transform:translateY(-4px);
  border-color:var(--tas-line-hover);
  background:#0f1318;
  box-shadow:0 31px 78px rgba(0,0,0,.29);
}

/* IntersectionObserver reveal — transform + opacity only. */
.tas-reveal-item{opacity:0;transform:translateY(18px)}
.tas-reveal-item.is-revealed{
  opacity:1;
  transform:none;
  transition:opacity .66s cubic-bezier(.22,1,.36,1) var(--tas-delay,0ms),transform .66s cubic-bezier(.22,1,.36,1) var(--tas-delay,0ms),border-color .24s ease,background-color .24s ease,box-shadow .24s ease;
}

/* ============================================================
   Authentication cards
   ============================================================ */

.tas-card-auth{
  max-width:520px;
  margin:0 auto;
  border-radius:16px;
}

.tas-card-small{
  max-width:840px;
  margin:0 auto;
  text-align:center;
  border-radius:16px;
}

.tas-card-inner{position:relative;z-index:2;padding:34px 34px 30px}
.tas-card-small .tas-card-inner{padding:42px 38px}

.tas-auth-card-head{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-bottom:18px;
}

/* The outer brand is the primary logo; keep this icon compact inside the card. */
.tas-auth-card-logo{
  width:38px;
  height:32px;
  object-fit:contain;
  transform:scale(3.3);
  margin-right:10px;
}

.tas-auth-card-logo-text{
  width:32px;height:32px;display:grid;place-items:center;margin-right:10px;
  border:1px solid #4b242b;border-radius:8px;color:var(--tas-red);font-weight:700;font-size:11px;
}

.tas-kicker,
.tas-card-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border:1px solid #4a232a;
  border-radius:6px;
  background:#120e12;
  color:#e64b59!important;
  font-size:9px;
  line-height:1;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.tas-auth-head-kicker svg{width:15px;height:15px;flex:0 0 15px}

.tas-card h1,
.tas-dashboard h1,
.tas-dashboard-card h1,
.tas-empty-state h1{
  margin:14px 0 10px!important;
  color:#f7f8fa!important;
  font-size:clamp(30px,4vw,44px)!important;
  line-height:1.05!important;
  font-weight:600!important;
  letter-spacing:-.047em!important;
  text-wrap:balance;
}

.tas-card-auth h1{text-align:center}

.tas-card h2,
.tas-dashboard-card h2,
.tas-product-card h2{
  margin:12px 0 8px!important;
  color:#f3f5f7!important;
  font-size:clamp(20px,2vw,27px)!important;
  line-height:1.15!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
}

.tas-copy,
.tas-dashboard-card p,
.tas-product-card p{
  margin:0!important;
  color:var(--tas-copy)!important;
  font-size:13px;
  line-height:1.68;
  font-weight:400;
}

.tas-card-auth>.tas-card-inner>.tas-copy{text-align:center;max-width:420px;margin-left:auto!important;margin-right:auto!important}

/* ============================================================
   Forms
   ============================================================ */

.tas-form{display:grid;gap:15px;margin-top:23px;width:100%}
.tas-form label{
  position:relative;
  display:grid;
  gap:8px;
  color:#c7ccd2!important;
  font-size:11px;
  line-height:1.2;
  font-weight:500;
}

.tas-field-link{position:absolute;top:0;right:0;font-size:10px;font-weight:500}
.tas-field-link a,.tas-switch a{color:#ef5260!important}
.tas-field-link a:hover,.tas-switch a:hover{color:#fff!important}

.tas-form input,
.tas-root select{
  width:100%;
  height:50px;
  border:1px solid #343b44!important;
  border-radius:9px!important;
  outline:0!important;
  color:#f7f8fa!important;
  -webkit-text-fill-color:#f7f8fa!important;
  caret-color:var(--tas-red)!important;
  background:#090c10!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
  font-size:12.5px!important;
  font-weight:400!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}

.tas-form input{padding:0 14px!important}
.tas-root select{
  padding:0 42px 0 14px!important;
  appearance:none;
  -webkit-appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#ef2737 50%),
    linear-gradient(135deg,#ef2737 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
}

.tas-form input::placeholder{color:#59636e!important;-webkit-text-fill-color:#59636e!important}
.tas-form input:focus,
.tas-root select:focus{
  border-color:#77313a!important;
  background-color:#0b0e13!important;
  box-shadow:0 0 0 3px rgba(239,39,55,.07),inset 0 1px 0 rgba(255,255,255,.022)!important;
}

.tas-root select option{color:#f7f8fa;background:#0a0d12}

.tas-form input:-webkit-autofill,
.tas-form input:-webkit-autofill:hover,
.tas-form input:-webkit-autofill:focus,
.tas-form input:-webkit-autofill:active{
  -webkit-text-fill-color:#f7f8fa!important;
  caret-color:var(--tas-red)!important;
  -webkit-box-shadow:0 0 0 1000px #090c10 inset,0 0 0 3px rgba(239,39,55,.05)!important;
  border-color:#5a2b32!important;
  transition:background-color 9999s ease-in-out 0s;
}

.tas-password-field{position:relative;display:block;width:100%}
.tas-password-field input{padding-right:48px!important}
.tas-password-toggle{
  position:absolute;
  z-index:3;
  top:50%;right:7px;
  width:35px;height:35px;
  display:grid;place-items:center;
  padding:0!important;
  border:0!important;
  border-radius:7px!important;
  outline:0!important;
  background:transparent!important;
  color:#707985!important;
  cursor:pointer;
  transform:translateY(-50%);
  transition:color .18s ease,background-color .18s ease,transform .18s ease!important;
}
.tas-password-toggle:hover{color:#fff!important;background:#11161c!important;transform:translateY(-50%) scale(1.025)}
.tas-password-toggle.is-visible{color:var(--tas-red)!important}
.tas-password-toggle svg{width:18px;height:18px;display:block}
.tas-password-toggle .tas-eye-slash{opacity:0;transition:opacity .16s ease}
.tas-password-toggle.is-visible .tas-eye-slash{opacity:1}

/* ============================================================
   Buttons
   ============================================================ */

.tas-btn{
  position:relative;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  overflow:hidden;
  padding:0 19px;
  border:1px solid transparent!important;
  border-radius:8px!important;
  outline:0!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
  cursor:pointer;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease,opacity .2s ease!important;
}

.tas-btn::before{
  content:"";
  position:absolute;
  top:-25px;left:-55px;
  width:24px;height:105px;
  background:rgba(255,255,255,.10);
  transform:skewX(-22deg);
  transition:left .5s cubic-bezier(.22,1,.36,1);
}
.tas-btn:hover::before{left:calc(100% + 45px)}
.tas-btn:hover{transform:translateY(-2px)}

.tas-btn-primary{
  border-color:var(--tas-red)!important;
  background:var(--tas-red)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(239,39,55,.14)!important;
}
.tas-btn-primary:hover{border-color:var(--tas-red-2)!important;background:var(--tas-red-2)!important;box-shadow:0 16px 34px rgba(239,39,55,.2)!important}

.tas-btn-outline{
  border-color:#38404a!important;
  background:#0a0d12!important;
  color:#f1f3f5!important;
  box-shadow:none!important;
}
.tas-btn-outline:hover{border-color:#505a66!important;background:#11161c!important}

.tas-form .tas-btn{width:100%;margin-top:2px}
.tas-form button[disabled],.tas-btn.is-busy{opacity:.72;cursor:wait!important;transform:none!important}

.tas-switch{margin:18px 0 0!important;color:#7e8791!important;font-size:11px;line-height:1.5;text-align:center}

/* ============================================================
   Social login
   ============================================================ */

.tas-social-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:22px 0 0}
.tas-social-btn{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 13px;
  border:1px solid #343b44;
  border-radius:9px;
  background:#0a0d12;
  color:#e9ecef!important;
  font-size:10.5px;
  font-weight:500;
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease!important;
}
.tas-social-btn:hover{transform:translateY(-2px);border-color:#4b5560;background:#11161c}
.tas-social-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 19px}
.tas-social-icon svg{width:19px;height:19px;display:block}
.tas-social-discord .tas-social-icon{color:#8b9dff}

.tas-divider{position:relative;display:flex;align-items:center;justify-content:center;margin:20px 0 0;color:#5f6872;font-size:8px;text-transform:uppercase;letter-spacing:.12em}
.tas-divider::before,.tas-divider::after{content:"";height:1px;flex:1;background:#252c34}
.tas-divider span{padding:0 12px}

/* ============================================================
   Notices
   ============================================================ */

.tas-notice{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 18px!important;
  padding:11px 14px!important;
  min-height:46px;
  border:1px solid rgba(239,39,55,.34)!important;
  border-radius:9px!important;
  background:#0d1015!important;
  color:#e9edf1!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 3px 0 0 var(--tas-red)!important;
  font-size:10.5px;
  line-height:1.5;
  font-weight:500;
}
.tas-notice-icon{
  flex:0 0 auto;
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(239,39,55,.34);
  border-radius:7px;
  background:rgba(239,39,55,.07);
  color:var(--tas-red-2);
}
.tas-notice-icon svg{width:15px;height:15px}
.tas-notice-text{min-width:0;color:#e9edf1!important}
.tas-notice-success{border-color:rgba(239,39,55,.34)!important;background:#0d1015!important;color:#e9edf1!important}
.tas-notice-error{border-color:rgba(255,102,114,.38)!important;background:#0d1015!important;color:#ffd2d6!important;box-shadow:0 14px 34px rgba(0,0,0,.22),inset 3px 0 0 var(--tas-danger)!important}
.tas-notice-error .tas-notice-icon{border-color:rgba(255,102,114,.36);background:rgba(255,102,114,.07);color:var(--tas-danger)}
.tas-notice-error .tas-notice-text{color:#ffd2d6!important}

/* ============================================================
   Dashboard
   ============================================================ */

.tas-dashboard{display:grid;gap:18px}
.tas-dashboard-advanced{width:100%}

.tas-dashboard-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:178px;
  overflow:hidden;
  padding:30px;
  border-radius:15px;
}

.tas-dashboard-hero::after{
  content:"";
  position:absolute;
  width:280px;height:280px;
  right:-130px;top:-160px;
  border:1px solid rgba(239,39,55,.08);
  border-radius:50%;
  pointer-events:none;
}

.tas-dashboard-hero>*{position:relative;z-index:2}
.tas-dashboard-hero>div:first-child{max-width:760px}
.tas-dashboard-hero h1{font-size:clamp(32px,4vw,48px)!important;margin-top:13px!important}
.tas-dashboard-hero .tas-copy{max-width:720px}
.tas-dashboard-hero-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.tas-dashboard-hero-actions .tas-btn{min-width:146px}

.tas-dashboard-grid{display:grid;gap:18px;align-items:stretch}
.tas-dashboard-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tas-dashboard-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}

.tas-dashboard-card{
  min-height:184px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:25px;
  border-radius:14px;
}
.tas-dashboard-card>*{position:relative;z-index:2}
.tas-dashboard-card .tas-card-label{margin-bottom:12px}
.tas-dashboard-card h2{margin-top:0!important;margin-bottom:9px!important}
.tas-dashboard-card p{max-width:670px}

.tas-status-pill{
  width:max-content;
  max-width:100%;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding:0 10px;
  border:1px solid rgba(64,217,135,.22);
  border-radius:6px;
  background:rgba(64,217,135,.055);
  color:#aeeecb!important;
  font-size:8px;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.tas-status-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--tas-green);box-shadow:0 0 0 4px rgba(64,217,135,.055)}
.tas-status-muted{border-color:#343b44;background:#0a0d12;color:#747d87!important}
.tas-status-muted::before{background:#68727d;box-shadow:none}
.tas-status-active::before{animation:tasStatusPulse 2.6s ease-in-out infinite}
@keyframes tasStatusPulse{50%{box-shadow:0 0 0 6px rgba(64,217,135,0)}}

.tas-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.tas-actions .tas-btn{min-width:150px}

/* ============================================================
   Product cards
   ============================================================ */

.tas-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tas-product-card{
  min-height:245px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:19px;
  padding:25px;
  border-radius:14px;
}
.tas-product-card>*{position:relative;z-index:2}
.tas-product-card.is-active{border-color:#3b4b45}

.tas-product-icon{
  width:68px;height:68px;
  display:grid;place-items:center;
  border:1px solid #4c242b;
  border-radius:13px;
  background:#120e12;
  color:var(--tas-red);
}
.tas-product-icon svg{width:30px;height:30px}

.tas-product-content{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.tas-product-content .tas-card-label{margin-bottom:2px}
.tas-product-content h2{font-size:clamp(20px,2vw,26px)!important}
.tas-product-content p{min-height:24px}

.tas-product-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;width:100%;margin-top:auto;padding-top:20px}
.tas-product-actions .tas-btn{min-height:44px;padding:0 15px;font-size:10.5px!important}
.tas-buy-tool-form{width:100%;margin:0}
.tas-buy-tool-form .tas-btn{width:100%}
.tas-inline-form{display:block;width:max-content;max-width:100%;margin:0}
.tas-product-note{width:100%;margin:9px 0 0!important;color:#68727d!important;font-size:9px!important;line-height:1.5!important}

/* ============================================================
   Licenses
   ============================================================ */

.tas-license-table-card,.tas-claim-card,.tas-auto-sync-card,.tas-sessions-card{min-height:250px}
.tas-license-list,.tas-session-list{display:grid;gap:8px;width:100%;margin-top:18px}

.tas-license-row,
.tas-session-row{
  display:grid;
  align-items:center;
  gap:16px;
  min-height:64px;
  padding:12px 13px;
  border:1px solid #292f37;
  border-radius:9px;
  background:#0a0d12;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}
.tas-license-row{grid-template-columns:1fr minmax(170px,.75fr)}
.tas-session-row{grid-template-columns:1fr auto}
.tas-license-row:hover,.tas-session-row:hover{border-color:#3c444e;background:#0f1318;transform:translateX(2px)}

.tas-license-row>div{min-width:0}
.tas-license-row>div:last-child{text-align:right}
.tas-license-row strong,.tas-session-meta strong{display:block;color:#edf0f3!important;font-size:10.5px;font-weight:500;overflow-wrap:anywhere}
.tas-license-row span,.tas-session-meta span{display:block;margin-top:4px;color:#747d87!important;font-size:8.5px;line-height:1.4;overflow-wrap:anywhere}

.tas-session-logout-form{margin:0}
.tas-link-button{
  min-height:34px;
  padding:0 11px!important;
  border:1px solid #49242a!important;
  border-radius:6px!important;
  background:#110e12!important;
  color:#db4c59!important;
  font-size:8.5px!important;
  font-weight:600!important;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease!important;
}
.tas-link-button:hover{border-color:#78313a!important;background:#171015!important;color:#fff!important}
.tas-link-button[disabled]{opacity:.45;cursor:not-allowed}

/* ============================================================
   Claim form / compact form
   ============================================================ */

.tas-form-compact{gap:14px;margin-top:18px}
.tas-form-compact .tas-btn{margin-top:3px}

/* ============================================================
   Empty / purchase / callback states
   ============================================================ */

.tas-empty-state,
.tas-purchase-success{
  max-width:840px!important;
  width:100%;
  min-height:320px;
  margin:0 auto!important;
  padding:42px 36px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:16px;
}

.tas-empty-state .tas-kicker,.tas-purchase-success .tas-kicker{margin:0 auto 2px!important}
.tas-empty-state h1,.tas-purchase-success h1{max-width:700px!important;margin:16px auto 12px!important;text-align:center!important}
.tas-empty-state .tas-copy,.tas-purchase-success .tas-copy{max-width:640px!important;margin:0 auto!important;text-align:center!important}
.tas-empty-state .tas-actions,.tas-purchase-success .tas-actions{justify-content:center!important;margin-top:27px!important;width:100%}
.tas-purchase-social{width:min(500px,100%);margin:22px auto 0}

/* ============================================================
   Desktop micro-alignment
   ============================================================ */

.tas-account-card .tas-status-pill{margin-top:auto}
.tas-sync-card .tas-card-label,.tas-sessions-card .tas-card-label,.tas-license-table-card .tas-card-label,.tas-claim-card .tas-card-label{margin-bottom:12px}
.tas-claim-card .tas-form{margin-top:auto;padding-top:18px}

/* ============================================================
   Responsive — 1024
   ============================================================ */

@media(max-width:1024px){
  .tas-root{padding:58px 0 74px}
  .tas-wrap,.tas-shell-dashboard .tas-wrap{width:calc(100% - 42px)}
  .tas-dashboard-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tas-dashboard-grid-three>.tas-dashboard-card:last-child{grid-column:1 / -1}
  .tas-products{grid-template-columns:1fr}
  .tas-dashboard-hero{align-items:flex-start;flex-direction:column}
  .tas-dashboard-hero-actions{width:100%}
  .tas-dashboard-hero-actions .tas-btn{flex:1}
}

/* ============================================================
   Responsive — 760
   ============================================================ */

@media(max-width:760px){
  .tas-dashboard-grid-three,.tas-dashboard-grid-two{grid-template-columns:1fr}
  .tas-dashboard-grid-three>.tas-dashboard-card:last-child{grid-column:auto}
  .tas-social-wrap{grid-template-columns:1fr}
  .tas-license-row{grid-template-columns:1fr}
  .tas-license-row>div:last-child{text-align:left;padding-top:8px;border-top:1px solid #252c34}
}

/* ============================================================
   Responsive — 560
   ============================================================ */

@media(max-width:560px){
  .tas-root{padding:38px 0 54px}
  .tas-wrap,.tas-shell-dashboard .tas-wrap{width:calc(100% - 24px)}
  .tas-shell-auth .tas-wrap{width:calc(100% - 24px)}
  .tas-brand{margin-bottom:18px}
  .tas-logo-link img{width:38px;height:32px}
  .tas-logo-link::after{font-size:13px}
  .tas-card-auth,.tas-card-small,.tas-dashboard-hero,.tas-dashboard-card,.tas-product-card,.tas-empty-state,.tas-purchase-success{border-radius:12px}
  .tas-card-inner{padding:27px 20px 23px}
  .tas-card-small .tas-card-inner{padding:30px 21px}
  .tas-auth-card-head{margin-bottom:14px}
  .tas-card h1,.tas-dashboard h1,.tas-dashboard-card h1,.tas-empty-state h1{font-size:29px!important;line-height:1.08!important;letter-spacing:-.04em!important}
  .tas-card h2,.tas-dashboard-card h2,.tas-product-card h2{font-size:21px!important}
  .tas-copy,.tas-dashboard-card p,.tas-product-card p{font-size:11.5px;line-height:1.62}
  .tas-form{gap:13px;margin-top:20px}
  .tas-form input,.tas-root select{height:48px}
  .tas-btn{width:100%;min-height:47px}
  .tas-dashboard-hero,.tas-dashboard-card,.tas-product-card{padding:19px}
  .tas-dashboard-hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .tas-product-card{grid-template-columns:1fr;gap:14px}
  .tas-product-icon{width:58px;height:58px;border-radius:11px}
  .tas-product-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .tas-actions{display:grid;grid-template-columns:1fr;width:100%}
  .tas-empty-state,.tas-purchase-success{padding:31px 20px!important;min-height:0}
  .tas-empty-state .tas-actions .tas-btn,.tas-purchase-success .tas-actions .tas-btn{width:100%!important;min-width:0!important;max-width:none!important}
  .tas-session-row{grid-template-columns:1fr;align-items:start}
  .tas-session-logout-form{width:100%}
  .tas-link-button{width:100%}
}

/* ============================================================
   Accessibility / reduced motion
   ============================================================ */

@media(prefers-reduced-motion:reduce){
  .tas-root *,
  .tas-root *::before,
  .tas-root *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .tas-brand,.tas-reveal-item{opacity:1!important;transform:none!important}
}

/* ============================================================
   v1.4.1 — Reset / OAuth callback alignment fix only
   Keeps the v1.4.0 visual system and functionality unchanged.
   ============================================================ */

/* Missing-token reset state: keep the standalone CTA centered
   beneath the centered title/copy without changing the real
   reset form layout when a valid token is present. */
.tas-reset-password-card > .tas-card-inner > .tas-copy + .tas-btn{
  width:max-content;
  min-width:174px;
  margin:20px auto 0!important;
  align-self:center;
}

/* OAuth callback fallback state: the actions container is a flex
   row on desktop, so explicitly center it inside the card. */
.tas-oauth-callback-card .tas-actions{
  width:100%;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.tas-oauth-callback-card .tas-actions .tas-btn{
  min-width:174px;
}

@media(max-width:560px){
  .tas-reset-password-card > .tas-card-inner > .tas-copy + .tas-btn{
    width:100%;
    min-width:0;
  }

  .tas-oauth-callback-card .tas-actions .tas-btn{
    width:100%!important;
    min-width:0!important;
  }
}



/* ============================================================
   v1.4.3 — Missing reset-session CTA centering hard fix
   Ensures the standalone "Start Again" button is perfectly centered
   on the reset-password screen without affecting any other screens.
   ============================================================ */

.tas-reset-password-cta{
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:20px;
}

.tas-reset-password-cta .tas-btn{
  min-width:174px;
}

@media(max-width:560px){
  .tas-reset-password-cta .tas-btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* ============================================================
   v1.4.4 — Dashboard entitlement clarity + branded auth states
   ============================================================ */

/* Premium-only linked-license states. "Available" means the account
   owns premium access; Active/Inactive reflects a current tool session. */
.tas-license-state-stack{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  flex-direction:column;
  gap:6px;
}

.tas-license-badge{
  min-height:22px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 8px;
  border-radius:6px;
  font-size:8px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
}

.tas-license-badge-available{
  border:1px solid rgba(239,39,55,.34);
  background:rgba(239,39,55,.07);
  color:#ff7a85!important;
}

.tas-license-badge i{
  width:5px;
  height:5px;
  display:inline-block;
  border-radius:50%;
}

.tas-license-badge-active{
  border:1px solid rgba(64,217,135,.24);
  background:rgba(64,217,135,.06);
  color:#bdf6d7!important;
}
.tas-license-badge-active i{background:var(--tas-green);box-shadow:0 0 0 3px rgba(64,217,135,.055)}

.tas-license-badge-inactive{
  border:1px solid #343b44;
  background:#0a0d12;
  color:#7f8892!important;
}
.tas-license-badge-inactive i{background:#68727d}

/* Theme-consistent WordPress OAuth callback fallback. */
.tas-oauth-callback-card .tas-auth-card-head{margin-bottom:18px}
.tas-oauth-connect-mark{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 18px;
  border:1px solid rgba(239,39,55,.36);
  border-radius:14px;
  background:#101218;
  color:var(--tas-red-2);
  box-shadow:0 16px 38px rgba(0,0,0,.28),inset 0 0 0 5px rgba(239,39,55,.025);
}
.tas-oauth-connect-mark svg{width:30px;height:30px}
.tas-oauth-callback-card h1{text-align:center!important;max-width:430px;margin-left:auto!important;margin-right:auto!important}
.tas-oauth-callback-card .tas-copy{text-align:center!important;max-width:430px!important;margin-left:auto!important;margin-right:auto!important}
.tas-oauth-progress{
  width:min(280px,100%);
  height:3px;
  margin:22px auto 4px;
  overflow:hidden;
  border-radius:999px;
  background:#20262e;
}
.tas-oauth-progress span{
  display:block;
  width:42%;
  height:100%;
  border-radius:inherit;
  background:var(--tas-red);
  animation:tasOAuthProgress 1.45s ease-in-out infinite alternate;
}
@keyframes tasOAuthProgress{from{transform:translateX(-15%)}to{transform:translateX(155%)}}

@media(max-width:760px){
  .tas-license-state-stack{align-items:flex-start;padding-top:8px}
}

@media(prefers-reduced-motion:reduce){
  .tas-oauth-progress span{animation:none;width:100%}
}
