.project2-access-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(118, 203, 255, 0.42);
  border-radius: 999px;
  background: rgba(30, 98, 139, 0.2);
  color: #a8e1ff;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.project2-access-badge[data-status="ACTIVE_SUBSCRIPTION"],
.project2-access-badge[data-status="ACTIVE_TRIAL"] {
  border-color: rgba(78, 222, 151, 0.5);
  background: rgba(20, 104, 63, 0.24);
  color: #9af0bd;
}

.project2-access-badge[data-status="SUBSCRIPTION_SUSPENDED"],
.project2-access-badge[data-status="SUBSCRIPTION_REVOKED"],
.project2-access-badge[data-status="SUBSCRIPTION_EXPIRED"] {
  border-color: rgba(255, 118, 127, 0.52);
  background: rgba(106, 30, 38, 0.24);
  color: #ffb5bc;
}

.project2-access-panel {
  margin-top: 13px;
  padding: 14px;
  border: 1px solid #334358;
  border-radius: 10px;
  background: #0c131d;
}

.project2-access-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}

.project2-access-title-row h3 {
  margin: 0;
  font-size: 14px;
}

.project2-access-title-row > span {
  color: #91a4b9;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.project2-access-title-row button,
.project2-access-actions button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #3a4c62;
  border-radius: 8px;
  background: #192434;
  color: #eaf2fa;
  cursor: pointer;
}

.project2-access-actions button.primary {
  border-color: #38b8ff;
  background: linear-gradient(135deg, #1ec6e8, #408eff);
  color: #07121d;
  font-weight: 800;
}

.project2-access-summary {
  margin-bottom: 11px;
  padding: 10px 11px;
  border: 1px solid #3b4b5f;
  border-radius: 8px;
  background: #101924;
  color: #b8c6d5;
  font-size: 11px;
  line-height: 1.45;
}

.project2-access-summary.success {
  border-color: #367452;
  color: #92e6b2;
}

.project2-access-summary.warning {
  border-color: #705d35;
  color: #f2cd82;
}

.project2-access-summary.error {
  border-color: #7b4149;
  color: #ffb3bb;
}

.project2-access-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.project2-access-card {
  min-width: 0;
  padding: 11px;
  border: 1px solid #303f52;
  border-radius: 8px;
  background: #0a1018;
}

.project2-access-card span,
.project2-access-card strong,
.project2-access-card small {
  display: block;
}

.project2-access-card span {
  color: #8498ad;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.project2-access-card strong {
  margin-top: 5px;
  font-size: 12px;
}

.project2-access-card small {
  margin-top: 5px;
  color: #9fb0c2;
  font-size: 10px;
  line-height: 1.4;
  word-break: break-word;
}

.project2-access-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 11px;
}

.project2-get-license-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 15px;
  border: 1px solid rgba(255, 208, 83, 0.9);
  border-radius: 9px;
  background: linear-gradient(135deg, #ffb936, #ffd75b);
  color: #171104;
  box-shadow: 0 0 18px rgba(255, 188, 52, 0.28);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

.project2-get-license-cta:hover,
.project2-get-license-cta:focus-visible {
  filter: brightness(1.08);
  box-shadow: 0 0 24px rgba(255, 198, 58, 0.52);
  transform: translateY(-1px);
}

.project2-get-license-cta:focus-visible {
  outline: 2px solid rgba(255, 225, 133, 0.96);
  outline-offset: 2px;
}

.project2-get-license-cta[hidden] {
  display: none;
}

.project2-internal-controls {
  border-style: dashed;
  border-color: #665c3c;
}

.project2-internal-controls p {
  margin: 10px 0 0;
  color: #a99c79;
  font-size: 10px;
  line-height: 1.45;
}

@media (max-width: 620px) {
  .project2-access-grid {
    grid-template-columns: 1fr;
  }
}


/* PHASE14 signed-entitlement local prototype status. */
.project2-entitlement-lease-status {
  margin: 10px 0 0;
  padding: 9px 11px;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  font-size: 0.82rem;
  line-height: 1.35;
}
.project2-entitlement-lease-status[data-state="valid"] {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}
.project2-entitlement-lease-status[data-state="offline"] {
  background: rgba(245, 158, 11, 0.14);
  color: #92400e;
}
.project2-entitlement-lease-status[data-state="error"] {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}
