/**
 * changeyourcontacts.com - Custom Application Styling
 *
 * Provides WCAG compliant contrast, risk gauge indicators,
 * clinical wear meters, and ECP printable compliance formats.
 */

:root {
  --color-tier-1: #10b981; /* Fresh / Optimal */
  --color-tier-2: #f59e0b; /* Approaching Expiration */
  --color-tier-3: #f97316; /* Expired / Mild Over-wear */
  --color-tier-4: #ef4444; /* Severe Over-wear */
  --color-tier-5: #b91c1c; /* Critical Hazard / Extreme */
  --focus-ring: #0284c7;
}

/* Accessibility: Visible Focus Rings */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

/* Wear Gauge Container */
.wear-gauge-track {
  position: relative;
  width: 100%;
  height: 1.5rem;
  background-color: #e2e8f0;
  border-radius: 9999px;
  overflow: hidden;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
}

.wear-gauge-fill {
  height: 100%;
  width: 0%;
  transition: width 0.5s ease-in-out, background-color 0.5s ease-in-out;
  border-radius: 9999px;
}

/* Risk Pulsing Animations */
@keyframes risk-pulse-subtle {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.85;
    transform: scale(1.02);
  }
}

@keyframes risk-pulse-danger {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.6);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(239, 68, 68, 0);
  }
}

@keyframes risk-pulse-critical {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(185, 28, 28, 0.8);
    background-color: #b91c1c;
  }
  50% {
    box-shadow: 0 0 0 14px rgba(185, 28, 28, 0);
    background-color: #991b1b;
  }
}

.pulse-warning {
  animation: risk-pulse-subtle 2s infinite ease-in-out;
}

.pulse-danger {
  animation: risk-pulse-danger 1.8s infinite ease-in-out;
}

.pulse-critical {
  animation: risk-pulse-critical 1.2s infinite ease-in-out;
}

/* Sagittal Depth Dial / Gauge Visualization */
.sagittal-arc {
  stroke-dasharray: 283;
  stroke-dashoffset: 75;
  transition: stroke-dashoffset 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Comparison Table Responsive Sticky Column */
.table-sticky-col {
  position: sticky;
  left: 0;
  background-color: inherit;
  z-index: 10;
}

/* Print Stylesheet for ECP Waiting Room Posters & Patient Handouts */
@media print {
  header,
  footer,
  #calendar-actions,
  #affiliate-shopping-hub,
  .no-print {
    display: none !important;
  }

  body {
    background-color: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt;
  }

  .print-only {
    display: block !important;
  }

  .print-page-break {
    page-break-after: always;
  }

  .card-print {
    border: 1px solid #cbd5e1 !important;
    box-shadow: none !important;
  }
}
