/* AIA Team + login portal — scoped styles matching site theme */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.login-main .login-hero,
.team-main .team-hero {
  padding-bottom: 1.5rem;
}

/* Wider content shell on post-login team pages — less empty side space */
.team-main .container {
  width: min(1400px, calc(100vw - 48px));
  max-width: min(1400px, calc(100vw - 48px));
}

.team-main .team-dash-grid,
.team-main .team-detail-wrap {
  margin-left: auto;
  margin-right: auto;
}

.login-portal-section {
  padding: 0 0 4rem;
}

.login-portal-single {
  display: flex;
  justify-content: center;
}

.login-portal-card-single {
  width: min(420px, 100%);
  height: auto;
  min-height: 0;
}

.login-portal-card-single .login-portal-card-top p {
  min-height: 0;
}

.login-portal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

@media (max-width: 960px) {
  .login-portal-grid {
    grid-template-columns: 1fr;
  }
}

.login-portal-card,
.team-dash-card,
.team-action-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}

.login-portal-card {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  min-height: 280px;
}

.login-portal-card-top {
  display: grid;
  gap: 0;
}

.login-portal-card-top p {
  min-height: calc(1.55em * 2);
}

.login-portal-card.is-disabled {
  opacity: 0.55;
}

.login-portal-card.is-active {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 1px rgba(73, 194, 255, 0.18), var(--shadow);
}

.login-portal-card h2,
.team-dash-card h2,
.team-action-card h3 {
  margin: 0.35rem 0 0.5rem;
  color: var(--text);
  font-weight: var(--weight-semibold);
}

.login-portal-card p,
.team-dash-card p,
.team-action-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.login-portal-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  border: 1px solid var(--border);
  background: var(--surface-soft);
  width: fit-content;
}

.login-portal-badge.is-live {
  color: var(--success);
  border-color: rgba(98, 227, 198, 0.35);
}

.login-team-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  flex: 1;
}

.login-team-form .login-submit {
  margin-top: auto;
  min-height: 3rem;
  white-space: normal;
  line-height: 1.25;
}

.login-field,
.team-field {
  display: grid;
  gap: 0.35rem;
}

.login-field span,
.team-field span {
  color: var(--muted);
  font-size: 0.85rem;
}

.login-field input,
.login-field select,
.team-field input,
.team-field textarea,
.team-search input {
  width: 100%;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface-strong);
  color: var(--text);
  padding: 0.75rem 0.9rem;
  font: inherit;
}

.login-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239bb4c9' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  padding-right: 2.2rem;
}

.login-field input:focus,
.login-field select:focus,
.team-field input:focus,
.team-field textarea:focus,
.team-search input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(73, 194, 255, 0.15);
}

.login-form-error,
.team-status {
  color: #ffb4b4;
  margin: 0;
  font-size: 0.9rem;
}

.login-submit {
  width: 100%;
}

.team-hero-row {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.team-back {
  display: inline-block;
  color: var(--accent);
  text-decoration: none;
  margin-bottom: 0.75rem;
  font-size: 0.92rem;
}

.team-session-chip {
  display: flex;
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface);
}

.team-session-chip strong {
  display: block;
  color: var(--text);
}

.team-session-chip span {
  color: var(--muted);
  font-size: 0.8rem;
}

.team-logout {
  white-space: nowrap;
}

.team-dash-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding-bottom: 3rem;
}

@media (max-width: 800px) {
  .team-dash-grid {
    grid-template-columns: 1fr;
  }
}

.team-hub-section {
  padding-bottom: 3rem;
}

.team-section-toggle {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.3rem;
  margin-bottom: 1.25rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface-soft);
}

.team-section-btn {
  border: none;
  background: transparent;
  color: var(--muted);
  border-radius: 999px;
  padding: 0.55rem 1.1rem;
  font: inherit;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.team-section-btn.is-active,
.team-section-btn:hover {
  color: var(--text);
  background: rgba(24, 119, 242, 0.22);
}

.team-section-btn.is-active {
  border: 1px solid var(--border-strong);
}

.team-tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: stretch;
}

@media (max-width: 960px) {
  .team-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .team-tool-grid {
    grid-template-columns: 1fr;
  }
}

.team-tool-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 220px;
  height: 100%;
  padding: 1.35rem;
  text-decoration: none;
  color: inherit;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

a.team-tool-card:hover {
  border-color: var(--border-strong);
  transform: translateY(-2px);
}

.team-tool-card.is-muted {
  opacity: 0.72;
}

.team-tool-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  color: var(--accent);
  border: 1px solid rgba(73, 194, 255, 0.28);
  background: rgba(24, 119, 242, 0.12);
}

.team-tool-card h2 {
  margin: 0;
  color: var(--text);
  font-weight: var(--weight-semibold);
  font-size: 1.15rem;
}

.team-tool-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
  flex: 1;
  min-height: 3em;
}

.team-tool-card .team-dash-cta {
  margin-top: auto;
}

.team-dash-cta.is-muted-cta {
  color: var(--muted);
  font-weight: var(--weight-medium);
}

.team-dash-card {
  padding: 1.5rem;
  text-decoration: none;
  color: inherit;
  display: grid;
  gap: 0.75rem;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

a.team-dash-card:hover {
  border-color: var(--border-strong);
  transform: translateY(-2px);
}

.team-dash-card.is-muted {
  opacity: 0.7;
}

.team-dash-cta {
  color: var(--accent);
  font-weight: var(--weight-medium);
}

.team-actions-section {
  padding-bottom: 3rem;
}

.team-toolbar {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.team-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.team-filter-chip {
  border: 1px solid var(--border);
  background: var(--surface-soft);
  color: var(--muted);
  border-radius: 999px;
  padding: 0.45rem 0.85rem;
  font: inherit;
  cursor: pointer;
}

.team-filter-chip.is-active,
.team-filter-chip:hover {
  color: var(--text);
  border-color: var(--border-strong);
  background: rgba(24, 119, 242, 0.22);
}

.team-toolbar-meta {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.team-search {
  flex: 1;
  min-width: min(100%, 280px);
  max-width: 420px;
}

.team-count {
  margin: 0;
  color: var(--muted);
}

.team-action-list {
  display: block;
}

.team-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.team-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
}

.team-table th,
.team-table td {
  padding: 0.85rem 1rem;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--border);
}

.team-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-strong);
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: var(--weight-semibold);
}

.team-table tbody tr {
  cursor: pointer;
  transition: background 0.15s ease;
}

.team-table tbody tr:hover {
  background: rgba(24, 119, 242, 0.12);
}

.team-table tbody tr:last-child td {
  border-bottom: none;
}

.team-col-title a {
  color: var(--text);
  text-decoration: none;
  font-weight: var(--weight-medium);
}

.team-col-title a:hover {
  color: var(--accent);
}

.team-col-id code {
  font-size: 0.72rem;
  color: var(--muted);
  word-break: break-all;
}

.team-col-open {
  white-space: nowrap;
  text-align: right;
}

.team-table-link {
  color: var(--accent);
  text-decoration: none;
  font-weight: var(--weight-medium);
  font-size: 0.9rem;
}

.team-table-link:hover {
  text-decoration: underline;
}

.team-action-id {
  color: var(--muted);
  font-size: 0.75rem;
  word-break: break-all;
}

.team-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.team-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  border: 1px solid var(--border);
  color: var(--muted);
  background: var(--surface-soft);
}

.team-chip-cat {
  color: var(--glow);
  border-color: rgba(191, 233, 255, 0.28);
}

.team-chip-engine {
  color: var(--accent);
  border-color: rgba(73, 194, 255, 0.3);
}

.team-chip-muted {
  opacity: 0.75;
}

.team-chip-required {
  color: #ffb4b4;
  border-color: rgba(255, 140, 140, 0.35);
}

.team-chip-supporting {
  color: var(--accent);
  border-color: rgba(73, 194, 255, 0.35);
}

.team-chip-context {
  color: var(--glow);
  border-color: rgba(191, 233, 255, 0.3);
}

.team-lead-field {
  display: grid;
  gap: 0.3rem;
}

.team-lead-field span {
  color: var(--muted);
  font-size: 0.85rem;
}

.team-lead-field strong {
  color: var(--text);
  font-weight: var(--weight-medium);
}

.team-lead-field a {
  color: var(--accent);
  text-decoration: none;
}

.team-lead-field a:hover {
  text-decoration: underline;
}

.team-lead-goal p {
  margin: 0;
  color: var(--text);
  line-height: 1.55;
  white-space: pre-wrap;
}

.team-empty {
  padding: 2rem;
  text-align: center;
  color: var(--muted);
  border: 1px dashed var(--border);
  border-radius: var(--radius-md);
}

.team-detail-wrap {
  padding-bottom: 3rem;
}

.team-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.85rem;
}

.team-detail-form {
  display: grid;
  gap: 1rem;
  padding: 1.35rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--surface);
}

.team-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.team-hint {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

body[data-page="login"],
body[data-page="team"],
body[data-page="team-actions"],
body[data-page="team-action-detail"],
body[data-page="team-engines"],
body[data-page="team-engine-detail"],
body[data-page="team-leads"],
body[data-page="team-lead-detail"],
body[data-page="member"],
body[data-page="member-report"],
body[data-page="member-personal"],
body[data-page="member-health"] {
  --nav-height: 58px;
}

body[data-page="login"] .site-header,
body[data-page="team"] .site-header,
body[data-page="team-actions"] .site-header,
body[data-page="team-action-detail"] .site-header,
body[data-page="team-engines"] .site-header,
body[data-page="team-engine-detail"] .site-header,
body[data-page="team-leads"] .site-header,
body[data-page="team-lead-detail"] .site-header,
body[data-page="member"] .site-header,
body[data-page="member-report"] .site-header,
body[data-page="member-personal"] .site-header,
body[data-page="member-health"] .site-header {
  /* keep marketing header intact elsewhere */
}

body[data-page="login"] .subpage-header,
body[data-page="team"] .subpage-header,
body[data-page="team-actions"] .subpage-header,
body[data-page="team-action-detail"] .subpage-header,
body[data-page="team-engines"] .subpage-header,
body[data-page="team-engine-detail"] .subpage-header,
body[data-page="team-leads"] .subpage-header,
body[data-page="team-lead-detail"] .subpage-header,
body[data-page="member"] .subpage-header,
body[data-page="member-report"] .subpage-header,
body[data-page="member-personal"] .subpage-header,
body[data-page="member-health"] .subpage-header {
  padding: 0;
}

body[data-page="login"] .subpage-nav-shell,
body[data-page="team"] .subpage-nav-shell,
body[data-page="team-actions"] .subpage-nav-shell,
body[data-page="team-action-detail"] .subpage-nav-shell,
body[data-page="team-engines"] .subpage-nav-shell,
body[data-page="team-engine-detail"] .subpage-nav-shell,
body[data-page="team-leads"] .subpage-nav-shell,
body[data-page="team-lead-detail"] .subpage-nav-shell,
body[data-page="member"] .subpage-nav-shell,
body[data-page="member-report"] .subpage-nav-shell,
body[data-page="member-personal"] .subpage-nav-shell,
body[data-page="member-health"] .subpage-nav-shell {
  min-height: var(--nav-height);
  padding: 0 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 8px 18px rgba(3, 12, 27, 0.08);
}

body[data-page="login"] .subpage-header .brand-logo,
body[data-page="team"] .subpage-header .brand-logo,
body[data-page="team-actions"] .subpage-header .brand-logo,
body[data-page="team-action-detail"] .subpage-header .brand-logo,
body[data-page="team-engines"] .subpage-header .brand-logo,
body[data-page="team-engine-detail"] .subpage-header .brand-logo,
body[data-page="team-leads"] .subpage-header .brand-logo,
body[data-page="team-lead-detail"] .subpage-header .brand-logo,
body[data-page="member"] .subpage-header .brand-logo,
body[data-page="member-report"] .subpage-header .brand-logo,
body[data-page="member-personal"] .subpage-header .brand-logo,
body[data-page="member-health"] .subpage-header .brand-logo {
  max-height: 28px;
}

body[data-page="login"] .subpage-header .site-nav a,
body[data-page="team"] .subpage-header .site-nav a,
body[data-page="team-actions"] .subpage-header .site-nav a,
body[data-page="team-action-detail"] .subpage-header .site-nav a,
body[data-page="team-engines"] .subpage-header .site-nav a,
body[data-page="team-engine-detail"] .subpage-header .site-nav a,
body[data-page="team-leads"] .subpage-header .site-nav a,
body[data-page="team-lead-detail"] .subpage-header .site-nav a,
body[data-page="member"] .subpage-header .site-nav a,
body[data-page="member-report"] .subpage-header .site-nav a,
body[data-page="member-personal"] .subpage-header .site-nav a,
body[data-page="member-health"] .subpage-header .site-nav a {
  font-size: 0.78rem;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

body[data-page="login"] .subpage-header .login-link,
body[data-page="login"] .subpage-header .nav-cta,
body[data-page="team"] .subpage-header .login-link,
body[data-page="team"] .subpage-header .nav-cta,
body[data-page="team-actions"] .subpage-header .login-link,
body[data-page="team-actions"] .subpage-header .nav-cta,
body[data-page="team-action-detail"] .subpage-header .login-link,
body[data-page="team-action-detail"] .subpage-header .nav-cta,
body[data-page="team-engines"] .subpage-header .login-link,
body[data-page="team-engines"] .subpage-header .nav-cta,
body[data-page="team-engine-detail"] .subpage-header .login-link,
body[data-page="team-engine-detail"] .subpage-header .nav-cta,
body[data-page="team-leads"] .subpage-header .login-link,
body[data-page="team-leads"] .subpage-header .nav-cta,
body[data-page="team-lead-detail"] .subpage-header .login-link,
body[data-page="team-lead-detail"] .subpage-header .nav-cta,
body[data-page="member"] .subpage-header .login-link,
body[data-page="member"] .subpage-header .nav-cta,
body[data-page="member-report"] .subpage-header .login-link,
body[data-page="member-report"] .subpage-header .nav-cta,
body[data-page="member-personal"] .subpage-header .login-link,
body[data-page="member-personal"] .subpage-header .nav-cta,
body[data-page="member-health"] .subpage-header .login-link,
body[data-page="member-health"] .subpage-header .nav-cta {
  padding: 0.4rem 0.85rem;
  font-size: 0.78rem;
}

body[data-page="login"] .login-main .login-hero,
body[data-page="team"] .team-main .team-hero,
body[data-page="team-actions"] .team-main .team-hero,
body[data-page="team-action-detail"] .team-main .team-hero,
body[data-page="team-engines"] .team-main .team-hero,
body[data-page="team-engine-detail"] .team-main .team-hero,
body[data-page="team-leads"] .team-main .team-hero,
body[data-page="team-lead-detail"] .team-main .team-hero,
body[data-page="member"] .team-main .team-hero,
body[data-page="member-report"] .team-main .team-hero,
body[data-page="member-personal"] .team-main .team-hero,
body[data-page="member-health"] .team-main .team-hero {
  padding-top: 1.25rem;
  padding-bottom: 1rem;
}

body[data-page="login"] .login-main .page-hero h1,
body[data-page="team"] .team-main .page-hero h1,
body[data-page="member"] .team-main .page-hero h1,
body[data-page="member-report"] .team-main .page-hero h1,
body[data-page="member-personal"] .team-main .page-hero h1,
body[data-page="member-health"] .team-main .page-hero h1 {
  font-size: clamp(1.65rem, 3vw, 2.15rem);
}

body[data-page="login"] .login-portal-section {
  padding-top: 0.35rem;
}

/* Member portal */
.member-section {
  padding-bottom: 3rem;
}

.member-bio-card {
  position: relative;
  margin-bottom: 1.25rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  overflow: hidden;
  min-height: 280px;
  background:
    linear-gradient(135deg, rgba(4, 18, 42, 0.72), rgba(8, 28, 58, 0.55)),
    url("../images/member/biological-state-default.webp") center / cover no-repeat;
  box-shadow: var(--shadow);
}

.member-bio-card-inner {
  position: relative;
  z-index: 1;
  padding: 1.4rem 1.5rem 1.5rem;
  color: var(--text);
  display: grid;
  gap: 1rem;
  backdrop-filter: blur(2px);
}

.member-bio-kicker {
  margin: 0.55rem 0 0.2rem;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.member-bio-top h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: var(--weight-semibold);
}

.member-bio-sub {
  margin: 0.35rem 0 0;
  color: var(--muted);
  line-height: 1.45;
  max-width: 42rem;
}

.member-bio-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

@media (max-width: 900px) {
  .member-bio-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.member-bio-metric {
  padding: 0.7rem 0.8rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(191, 233, 255, 0.18);
  background: rgba(5, 18, 40, 0.45);
  display: grid;
  gap: 0.25rem;
}

.member-bio-metric span {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.member-bio-metric strong {
  color: var(--text);
  font-size: 0.98rem;
}

.member-bio-drivers-title {
  margin: 0 0 0.45rem;
  color: var(--muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.member-bio-driver-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.member-bio-driver-list li {
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(191, 233, 255, 0.14);
  background: rgba(5, 18, 40, 0.4);
}

.member-bio-driver-list strong {
  color: var(--text);
}

.member-bio-driver-list span {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.member-profile-menu {
  position: relative;
  display: inline-block;
}

.member-profile-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 0.9rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.member-profile-trigger-text {
  display: grid;
  gap: 0.1rem;
}

.member-profile-trigger-text strong {
  display: block;
  color: var(--text);
  font-size: 0.92rem;
}

.member-profile-trigger-text span {
  color: var(--muted);
  font-size: 0.78rem;
}

.member-profile-chevron {
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg);
  margin-top: -0.2rem;
  transition: transform 0.15s ease;
}

.member-profile-menu.is-open .member-profile-chevron {
  transform: rotate(225deg);
  margin-top: 0.15rem;
}

.member-profile-panel {
  position: absolute;
  top: calc(100% + 0.4rem);
  right: 0;
  z-index: 40;
  min-width: 210px;
  display: grid;
  padding: 0.4rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.member-profile-panel[hidden] {
  display: none !important;
}

.member-profile-panel a,
.member-profile-logout {
  display: block;
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  text-align: left;
  text-decoration: none;
  font: inherit;
  font-size: 0.88rem;
  cursor: pointer;
}

.member-profile-panel a:hover,
.member-profile-logout:hover {
  background: rgba(191, 233, 255, 0.08);
}

.member-profile-logout {
  color: var(--muted);
  border-top: 1px solid var(--border);
  margin-top: 0.2rem;
  border-radius: 0 0 8px 8px;
}

.member-panel-solo {
  max-width: 640px;
}

.member-tool-row {
  display: grid;
  grid-template-columns: minmax(0, 420px);
  gap: 1.15rem;
  margin-bottom: 1.25rem;
}

.member-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
}

@media (max-width: 800px) {
  .member-grid {
    grid-template-columns: 1fr;
  }

  .member-tool-row {
    grid-template-columns: 1fr;
  }
}

.member-panel {
  padding: 1.35rem 1.4rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}

.member-panel h2 {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  color: var(--text);
  font-weight: var(--weight-semibold);
}

.member-dl {
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.member-dl-row {
  display: grid;
  grid-template-columns: minmax(110px, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--border);
}

.member-dl-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.member-dl-row dt {
  margin: 0;
  color: var(--muted);
  font-size: 0.85rem;
}

.member-dl-row dd {
  margin: 0;
  color: var(--text);
  font-weight: var(--weight-medium);
  word-break: break-word;
}

.member-report-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

/* Design-2 Premium Longeva Report */
.d2-report {
  --d2-navy: #0b1f3a;
  --d2-deep: #0f2a4a;
  --d2-teal: #0e7490;
  --d2-cyan: #22d3ee;
  --d2-accent: #60a5fa;
  --d2-border: #d0d7e2;
  --d2-card: #f8fafc;
  --d2-muted: #64748b;
  --d2-title: #0f172a;
  --d2-footer: #f1f5f9;
  --d2-success: #4ade80;
  --d2-oor: #fb923c;
  --d2-neutral: #94a3b8;
  --d2-attention: #f87171;
  padding: 1.5rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--d2-border);
  background: #fff;
  color: var(--d2-title);
  box-shadow: var(--shadow);
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.d2-report-masthead {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
  padding: 1.1rem 1.2rem;
  border-radius: 14px;
  background: linear-gradient(90deg, var(--d2-navy), var(--d2-deep), var(--d2-teal));
  color: #fff;
}

.d2-report-brand {
  margin: 0;
  font-size: 1.35rem;
  font-weight: var(--weight-semibold);
}

.d2-report-tagline {
  margin: 0.25rem 0 0;
  color: var(--d2-cyan);
  font-size: 0.9rem;
}

.d2-report-generated {
  color: var(--d2-accent);
  font-size: 0.85rem;
  text-align: right;
}

.d2-section {
  margin-bottom: 1.15rem;
  page-break-inside: avoid;
}

.d2-banner {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: linear-gradient(90deg, var(--d2-navy), var(--d2-deep), var(--d2-teal));
  color: #fff;
  font-size: 1rem;
  font-weight: var(--weight-semibold);
}

.d2-banner-intro {
  font-size: 1.05rem;
}

.d2-num {
  color: var(--d2-cyan);
  font-size: 1.25rem;
  font-weight: 700;
}

.d2-section-body {
  margin-top: 0.75rem;
  padding: 0.95rem 1rem;
  border: 1px solid var(--d2-border);
  border-radius: 12px;
  background: var(--d2-card);
}

.d2-section-body > p {
  margin: 0 0 0.75rem;
  color: var(--d2-title);
  line-height: 1.55;
  font-size: 0.92rem;
}

.d2-overview-chapters {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.d2-overview-chapters li {
  display: grid;
  gap: 0.2rem;
  padding-left: 0.85rem;
  border-left: 3px solid var(--d2-cyan);
}

.d2-overview-chapters span,
.d2-reviewed-heading,
.d2-muted,
.d2-empty {
  color: var(--d2-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.d2-reviewed-list {
  margin: 0.4rem 0 0;
  padding-left: 1.15rem;
  color: var(--d2-title);
  font-size: 0.9rem;
}

.d2-kv .member-dl-row {
  border-bottom-color: var(--d2-border);
}

.d2-kv .member-dl-row dt {
  color: var(--d2-muted);
}

.d2-kv .member-dl-row dd {
  color: var(--d2-title);
}

.d2-bio-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 0.65rem;
}

@media (max-width: 900px) {
  .d2-bio-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.d2-bio-hero,
.d2-bio-card {
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--d2-border);
  background: #fff;
}

.d2-bio-hero {
  background: var(--d2-navy);
  border-color: var(--d2-cyan);
  color: #fff;
}

.d2-bio-hero span,
.d2-bio-card span {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--d2-muted);
}

.d2-bio-hero span {
  color: var(--d2-cyan);
}

.d2-bio-hero strong,
.d2-bio-card strong {
  font-size: 1.05rem;
}

.d2-bar-track {
  display: flex;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: #e2e8f0;
}

.d2-bar-seg.is-success { background: var(--d2-success); }
.d2-bar-seg.is-attention { background: var(--d2-attention); }
.d2-bar-seg.is-oor { background: var(--d2-oor); }
.d2-bar-seg.is-neutral { background: var(--d2-neutral); }

.d2-bar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.1rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: var(--d2-title);
}

.d2-bar-legend i {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  margin-right: 0.35rem;
  vertical-align: middle;
}

.d2-bar-legend i.is-success { background: var(--d2-success); }
.d2-bar-legend i.is-attention { background: var(--d2-attention); }
.d2-bar-legend i.is-oor { background: var(--d2-oor); }
.d2-bar-legend i.is-neutral { background: var(--d2-neutral); }

.d2-roster,
.d2-numbered-list {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.d2-roster li,
.d2-numbered-list li {
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid var(--d2-border);
  background: #fff;
}

.d2-numbered-list {
  list-style: decimal;
  padding-left: 1.25rem;
}

.d2-numbered-list li {
  display: list-item;
}

.d2-roster span {
  color: var(--d2-muted);
  font-size: 0.88rem;
}

.d2-aura-summary {
  margin-top: 0.75rem;
  padding: 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--d2-border);
  background: #fff;
  color: var(--d2-title);
  font-size: 0.92rem;
  line-height: 1.5;
}

.d2-disclaimer {
  margin-top: 1.25rem;
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid var(--d2-border);
  background: var(--d2-footer);
}

.d2-disclaimer h3 {
  margin: 0 0 0.45rem;
  font-size: 0.95rem;
  color: var(--d2-title);
}

.d2-disclaimer p {
  margin: 0;
  color: var(--d2-muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

.d2-report-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--d2-border);
  color: var(--d2-muted);
  font-size: 0.78rem;
}

@media print {
  .site-header,
  .footer,
  .no-print,
  .member-report-hero,
  .member-report-toolbar,
  .team-session,
  .team-status {
    display: none !important;
  }

  .subpage-main,
  .member-section,
  .container {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
  }

  .d2-report {
    box-shadow: none;
    border: none;
    padding: 0;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .d2-banner,
  .d2-banner-intro,
  .d2-report-masthead,
  .d2-bio-hero,
  .d2-bar-track,
  .d2-bar-seg,
  .d2-bar-legend i,
  .d2-disclaimer,
  .d2-section-body {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .d2-report-masthead,
  .d2-banner {
    background: linear-gradient(90deg, #0b1f3a, #0f2a4a, #0e7490) !important;
    color: #fff !important;
  }

  .d2-bio-hero {
    background: #0b1f3a !important;
    border-color: #22d3ee !important;
    color: #fff !important;
  }

  .d2-bar-seg.is-success { background: #4ade80 !important; }
  .d2-bar-seg.is-attention { background: #f87171 !important; }
  .d2-bar-seg.is-oor { background: #fb923c !important; }
  .d2-bar-seg.is-neutral { background: #94a3b8 !important; }

  .d2-section {
    page-break-inside: avoid;
  }

  body {
    background: #fff !important;
    color: #111 !important;
  }
}
