/* Styling for Home Page and Dashboard interactive list items */

.home-list-item {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  text-decoration: none;
  color: inherit;
  margin: 0 calc(-1 * var(--space-2));
  padding: var(--space-3) var(--space-3);
  border-radius: var(--radius-md);
  border-bottom: 1px solid var(--color-border-light);
  border-left: 3px solid transparent;
  background: transparent;
  transition: all var(--transition-fast);
}

.home-list-item:last-child {
  border-bottom: none;
}

.home-list-item__name {
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--color-text);
  text-decoration: none !important;
  transition: color var(--transition-fast);
}

.home-list-item__subtitle {
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  margin-top: 2px;
}

.home-list-item__icon-wrapper {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all var(--transition-fast);
}

/* Default colors for themed icon wrappers in active/idle state */
.home-list-item--procedure .home-list-item__icon-wrapper {
  background: var(--color-primary-50);
  color: var(--color-primary-700);
}

.home-list-item--checklist .home-list-item__icon-wrapper {
  background: var(--color-warning-50);
  color: var(--color-warning-700);
}

/* Dark mode overrides for default icon wrappers */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .home-list-item--procedure .home-list-item__icon-wrapper {
    background: rgba(37, 99, 235, 0.15);
    color: var(--color-primary-300);
  }

  :root:not([data-theme="light"]) .home-list-item--checklist .home-list-item__icon-wrapper {
    background: rgba(217, 119, 6, 0.15);
    color: var(--color-warning-300);
  }
}

[data-theme="dark"] .home-list-item--procedure .home-list-item__icon-wrapper {
  background: rgba(37, 99, 235, 0.15);
  color: var(--color-primary-300);
}

[data-theme="dark"] .home-list-item--checklist .home-list-item__icon-wrapper {
  background: rgba(217, 119, 6, 0.15);
  color: var(--color-warning-300);
}

/* ==========================================
   UNIFIED HOVER STATE (Visual Identity)
   ========================================== */
.home-list-item:hover,
.home-list-item:focus-visible {
  outline: none;
  text-decoration: none !important; /* Remove underline from link hover */
  background: var(--color-gray-100); /* Unified premium clean hover background */
  border-left-color: var(--color-primary-500); /* Consistent brand color indicator */
  box-shadow: var(--shadow-sm);
  padding-left: calc(var(--space-3) + 2px);
}

.home-list-item:hover .home-list-item__name,
.home-list-item:focus-visible .home-list-item__name {
  color: var(--color-primary-700); /* Unified active brand color */
  text-decoration: none !important; /* Ensure text never gets underlined */
}

/* Contrast adjustment for icon wrappers on unified hover */
.home-list-item:hover .home-list-item__icon-wrapper,
.home-list-item:focus-visible .home-list-item__icon-wrapper {
  background: var(--color-surface); /* Contrast with the gray hover background */
  box-shadow: var(--shadow-sm);
}

/* Dark Mode Unified Hover overrides */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .home-list-item:hover,
  :root:not([data-theme="light"]) .home-list-item:focus-visible {
    background: rgba(255, 255, 255, 0.08); /* Unified premium dark mode highlight */
    border-left-color: var(--color-primary-400);
  }

  :root:not([data-theme="light"]) .home-list-item:hover .home-list-item__name,
  :root:not([data-theme="light"]) .home-list-item:focus-visible .home-list-item__name {
    color: var(--color-primary-300);
  }

  :root:not([data-theme="light"]) .home-list-item:hover .home-list-item__icon-wrapper,
  :root:not([data-theme="light"]) .home-list-item:focus-visible .home-list-item__icon-wrapper {
    background: rgba(255, 255, 255, 0.08);
  }
}

[data-theme="dark"] .home-list-item:hover,
[data-theme="dark"] .home-list-item:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  border-left-color: var(--color-primary-400);
}

[data-theme="dark"] .home-list-item:hover .home-list-item__name,
[data-theme="dark"] .home-list-item:focus-visible .home-list-item__name {
  color: var(--color-primary-300);
}

[data-theme="dark"] .home-list-item:hover .home-list-item__icon-wrapper,
[data-theme="dark"] .home-list-item:focus-visible .home-list-item__icon-wrapper {
  background: rgba(255, 255, 255, 0.08);
}

@media (max-width: 768px) {
  .home-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================
   ADMIN PORTAL DASHBOARD STYLING
   ========================================== */
.admin-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}

.admin-dashboard__card {
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.admin-dashboard__card--primary {
  background: var(--color-primary-600);
}

.admin-dashboard__card--success {
  background: var(--color-success-600);
}

.admin-dashboard__card--info {
  background: var(--color-info-600);
}

.admin-dashboard__card-title {
  font-size: var(--text-xs);
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.admin-dashboard__card-value {
  font-size: var(--text-4xl);
  font-weight: 700;
  margin-top: var(--space-2);
}

.admin-dashboard__card-subtitle {
  font-size: var(--text-sm);
  opacity: 0.85;
  margin-top: var(--space-1);
}

.admin-dashboard__card-subtitle-flex {
  display: flex;
  gap: 12px;
}

.admin-dashboard__card-subtitle-inactive {
  opacity: 0.7;
}

.admin-dashboard__card-icon {
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 48px;
  opacity: 0.15;
  pointer-events: none;
}

.admin-charts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.admin-chart-card {
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  overflow: hidden;
}

.admin-chart-card__header {
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-chart-card__title {
  margin: 0;
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-primary);
}

.admin-chart-card__body {
  padding: var(--space-6);
  height: 320px;
  position: relative;
}

@media (max-width: 1024px) {
  .admin-charts__grid {
    grid-template-columns: 1fr;
  }
}

