/* PantryRx crisp token layer (overrides after Bootstrap) */

:root {
  --prx-bg: #ffffff;
  --prx-bg-subtle: #fbfbfc;

  --prx-surface: #ffffff;
  --prx-surface-tint: #f7f9f8;

  --prx-text: #0b0f14;
  --prx-text-muted: #5b6472;
  --prx-text-faint: #8a93a3;

  --prx-border: #e6e8ee;

  --prx-brand: #2f8f6b;
  --prx-brand-2: #2aa074;
  --prx-brand-soft: rgba(47, 143, 107, 0.10);

  --prx-shadow-1: 0 1px 1px rgba(0, 0, 0, 0.04), 0 6px 20px rgba(0, 0, 0, 0.06);
  --prx-shadow-2: 0 2px 2px rgba(0, 0, 0, 0.05), 0 10px 30px rgba(0, 0, 0, 0.08);

  --prx-radius-card: 16px;
  --prx-radius-control: 14px;

  --prx-focus: rgba(47, 143, 107, 0.35);

  --prx-ease: cubic-bezier(.2, .8, .2, 1);
  --prx-fast: 120ms;
  --prx-med: 180ms;
  --prx-slow: 260ms;
}

html,
body {
  background: var(--prx-bg);
  color: var(--prx-text);
}

.text-muted {
  color: var(--prx-text-muted) !important;
}

.border,
.border-top,
.border-bottom,
.border-start,
.border-end {
  border-color: var(--prx-border) !important;
}

/* Remove haze/blur backgrounds in main UI surfaces */
body {
  background-image: none !important;
}

body.app-shell {
  background-color: var(--prx-bg) !important;
  background-image: none !important;
}

.site-header,
.app-tabs-bar,
.site-footer {
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Accessibility: consistent focus ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px var(--prx-focus) !important;
  border-color: var(--prx-brand) !important;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
  .prx-card,
  .btn-prx {
    transform: none !important;
  }
}

