.tf-pass-access-shell{
  margin:14px 0 18px;
  border:1px solid rgba(140,106,62,.32);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(34,37,41,.95),rgba(29,31,34,.93));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.tf-pass-access-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(181,183,185,.12);
}

.tf-pass-access-title{
  margin:0 0 4px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  color:#fff;
}

.tf-pass-access-sub{
  margin:0;
  font-size:12px;
  color:var(--muted,#b5b7b9);
  line-height:1.5;
}

.tf-pass-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  border:1px solid rgba(181,183,185,.2);
  white-space:nowrap;
}

.tf-pass-chip.entry{background:rgba(181,183,185,.08);color:#d0d2d3}
.tf-pass-chip.builder{background:rgba(59,130,246,.12);color:#93c5fd;border-color:rgba(59,130,246,.4)}
.tf-pass-chip.operator{background:rgba(140,106,62,.2);color:#d0b38c;border-color:rgba(140,106,62,.5)}
.tf-pass-chip.verified{background:rgba(34,197,94,.1);color:#86efac;border-color:rgba(34,197,94,.4)}
.tf-pass-chip.pending{background:rgba(245,158,11,.1);color:#fcd34d;border-color:rgba(245,158,11,.4)}

.tf-pass-modules{
  padding:10px 12px 12px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}

.tf-pass-module{
  border:1px solid rgba(181,183,185,.14);
  border-radius:10px;
  padding:12px;
  background:rgba(16,17,19,.42);
}

.tf-pass-module h4{
  margin:0 0 6px;
  font-size:13px;
  color:#fff;
}

.tf-pass-module p{
  margin:0;
  font-size:12px;
  color:var(--muted,#b5b7b9);
  line-height:1.5;
}

.tf-pass-module .tf-pass-meta{
  margin-top:8px;
  font-size:11px;
  color:#c9cbcd;
}

.tf-pass-module.locked{
  border-color:rgba(245,158,11,.34);
  background:linear-gradient(180deg,rgba(64,45,15,.18),rgba(32,23,10,.1));
}

.tf-pass-module.unlocked{
  border-color:rgba(34,197,94,.34);
  background:linear-gradient(180deg,rgba(24,62,38,.2),rgba(14,37,24,.14));
}

.tf-pass-locked-trigger{
  position:relative;
  opacity:.62;
  filter:saturate(.7);
}

.tf-pass-locked-trigger::after{
  content:"Locked by pass tier";
  position:absolute;
  right:8px;
  top:8px;
  background:rgba(18,18,18,.9);
  border:1px solid rgba(245,158,11,.5);
  color:#fcd34d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
  padding:3px 6px;
  border-radius:999px;
  pointer-events:none;
}

.tf-pass-notice{
  margin-top:8px;
  font-size:11px;
  color:#d6d7d8;
}

.tf-pass-identity{
  margin:12px 0 0;
  border:1px solid rgba(181,183,185,.14);
  border-radius:10px;
  padding:12px;
  background:rgba(23,25,28,.7);
}

.tf-pass-identity h4{
  margin:0 0 8px;
  color:#fff;
  font-size:13px;
}

.tf-pass-identity-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
}

.tf-pass-identity-item{
  font-size:12px;
  color:var(--muted,#b5b7b9);
}

.tf-pass-identity-item strong{
  display:block;
  color:#fff;
  font-size:12px;
  margin-top:2px;
}

@media (max-width: 640px) {
  .tf-pass-access-head{padding:12px}
  .tf-pass-modules{grid-template-columns:1fr}
}
