/* Brand polish on top of Tailwind CDN */
.htmx-indicator { opacity: 0; transition: opacity 200ms; }
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator { opacity: 1; }

.tab-btn {
  border-bottom: 2px solid transparent;
  color: rgba(14,16,20,0.6);
}
.dark .tab-btn { color: rgba(249,249,250,0.6); }
.tab-btn.active {
  color: #35B23E;
  border-bottom-color: #35B23E;
}

/* Code-style mono accents in the terminal blocks render correctly without overrides */

/* Auth gate: hide protected sections until JS verifies a session */
[data-auth-required] { visibility: hidden; }
[data-auth-required].auth-ready { visibility: visible; }

/* Smooth scroll within the report previews */
html { scroll-behavior: smooth; }

/* Mobile bottom tab bar */
@media (max-width: 767px) {
  /* Push the project page main content up so the fixed tab bar doesn't overlap it */
  main.has-bottom-bar { padding-bottom: 5rem; }

  /* Tab bar height = 56px tap area + safe-area inset */
  #bottom-tab-bar {
    height: calc(56px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* Bottom tab button active state */
.bottom-tab-btn {
  min-height: 56px;
  transition: color 150ms;
  -webkit-tap-highlight-color: transparent;
}
.bottom-tab-btn.active svg {
  stroke: currentColor;
}
.bottom-tab-btn.active span {
  font-weight: 600;
}

/* Ensure interactive table cells have adequate tap area on touch screens */
@media (max-width: 639px) {
  .individuals-view-link {
    display: inline-block;
    padding: 0.625rem 0.5rem;
  }
  /* Expand checkbox hit area via label wrapper */
  .cb-label {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  /* Family relationship pill links on mobile */
  .family-pill-link {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
  }
}
