/**
 * Pampered Paws v4.3 — Velaris-inspired luxury glassmorphism
 * Reference: frosted panels on rich atmospheric gradients (readable, high contrast).
 */

.pp-v4.pp-glass-shell,
.pp-v4 .pp-glass-shell,
body.pp-v4.pp-glass-shell {
  --pp-bg-gradient:
    radial-gradient(ellipse 90% 70% at 8% 12%, rgba(212, 168, 106, 0.42) 0%, transparent 52%),
    radial-gradient(ellipse 75% 55% at 92% 8%, rgba(56, 189, 248, 0.32) 0%, transparent 48%),
    radial-gradient(ellipse 65% 60% at 50% 100%, rgba(167, 139, 250, 0.28) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 70% 45%, rgba(45, 212, 191, 0.18) 0%, transparent 50%),
    linear-gradient(155deg, #0b1f2e 0%, #123d52 28%, #1a5c6e 52%, #0f3d4a 78%, #0a2433 100%);

  --pp-glass: linear-gradient(145deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 100%);
  --pp-glass-strong: linear-gradient(145deg, rgba(255, 255, 255, 0.97) 0%, rgba(248, 252, 255, 0.92) 100%);
  --pp-glass-border: rgba(255, 255, 255, 0.72);
  --pp-glass-rim: rgba(255, 255, 255, 0.95);
  --pp-glass-blur: blur(28px) saturate(165%);
  --pp-glass-shadow:
    0 8px 32px rgba(8, 28, 44, 0.28),
    0 2px 8px rgba(8, 28, 44, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  --pp-glass-accent: #c9a962;
  --pp-glass-accent-soft: rgba(201, 169, 98, 0.22);
  --pp-float-nav-bg: rgba(11, 31, 46, 0.92);
}

/* Atmospheric depth behind content */
.pp-v4.pp-glass-shell::before,
.pp-v4 .pp-glass-shell::before,
body.pp-v4.pp-glass-shell::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 15% 25%, rgba(212, 168, 106, 0.15) 0%, transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(56, 189, 248, 0.12) 0%, transparent 25%),
    radial-gradient(circle at 50% 90%, rgba(139, 92, 246, 0.1) 0%, transparent 30%);
}

.pp-v4.pp-glass-shell > *,
.pp-v4 .pp-glass-shell > *,
.pp-v4.pp-glass-shell .staff-dashboard,
.pp-v4 .pp-glass-shell .staff-dashboard,
.pp-v4.pp-glass-shell .dashboard-wrapper,
.pp-v4 .pp-glass-shell .dashboard-wrapper {
  position: relative;
  z-index: 1;
}

/* ── Shared glass panel mixin pattern ── */
.pp-v4.pp-glass-shell .top-bar,
.pp-v4 .pp-glass-shell .top-bar,
.pp-v4.pp-glass-shell .main-content,
.pp-v4 .pp-glass-shell .main-content,
.pp-v4.pp-glass-shell .pp-glass-panel,
.pp-v4 .pp-glass-shell .dash-topbar,
.pp-v4 .pp-glass-shell .dash-topbar,
.pp-v4.pp-glass-shell .dash-card,
.pp-v4 .pp-glass-shell .dash-card,
.pp-v4.pp-glass-shell .pp-action-tile,
.pp-v4 .pp-glass-shell .pp-action-tile,
.pp-v4.pp-glass-shell .pp-search-hero,
.pp-v4 .pp-glass-shell .pp-search-hero,
.pp-v4.pp-glass-shell .stats-grid.pp-v42-metrics .stat-card,
.pp-v4 .pp-glass-shell .stats-grid.pp-v42-metrics .stat-card,
.pp-v4.pp-glass-shell .booking-card,
.pp-v4 .pp-glass-shell .booking-card,
.pp-v4.pp-glass-shell .dog-card.pp-listing-card,
.pp-v4 .pp-glass-shell .dog-card.pp-listing-card {
  background: var(--pp-glass-strong) !important;
  backdrop-filter: var(--pp-glass-blur) !important;
  -webkit-backdrop-filter: var(--pp-glass-blur) !important;
  border: 1px solid var(--pp-glass-border) !important;
  box-shadow: var(--pp-glass-shadow) !important;
}

/* Specular top edge — Velaris card rim */
.pp-v4.pp-glass-shell .top-bar,
.pp-v4 .pp-glass-shell .top-bar,
.pp-v4.pp-glass-shell .main-content,
.pp-v4 .pp-glass-shell .main-content,
.pp-v4.pp-glass-shell .pp-action-tile,
.pp-v4 .pp-glass-shell .pp-action-tile,
.pp-v4.pp-glass-shell .stats-grid.pp-v42-metrics .stat-card,
.pp-v4 .pp-glass-shell .stats-grid.pp-v42-metrics .stat-card,
.pp-v4.pp-glass-shell .dash-card,
.pp-v4 .pp-glass-shell .dash-card {
  border-top-color: var(--pp-glass-rim) !important;
}

/* ── Staff: hero & metrics ── */
.pp-v4.pp-glass-shell .welcome-section h1,
.pp-v4 .pp-glass-shell .welcome-section h1,
.pp-v4.pp-glass-shell .pp-hero-greeting h1,
.pp-v4 .pp-glass-shell .pp-hero-greeting h1 {
  color: var(--pp-ink) !important;
  text-shadow: none !important;
}

.pp-v4.pp-glass-shell .pp-action-tile:hover,
.pp-v4 .pp-glass-shell .pp-action-tile:hover {
  transform: translateY(-3px);
  box-shadow:
    0 16px 40px rgba(8, 28, 44, 0.22),
    0 4px 12px rgba(8, 28, 44, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(201, 169, 98, 0.45) !important;
}

.pp-v4.pp-glass-shell .pp-action-tile__icon,
.pp-v4 .pp-glass-shell .pp-action-tile__icon {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 4px 12px rgba(8, 28, 44, 0.08) !important;
}

/* ── Staff: tabs inside main content ── */
.pp-v4.pp-glass-shell .tabs-header,
.pp-v4 .pp-glass-shell .tabs-header {
  background: rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
  padding: 12px 16px !important;
  gap: 6px !important;
}

.pp-v4.pp-glass-shell .tab-btn,
.pp-v4 .pp-glass-shell .tab-btn {
  border-radius: var(--pp-radius-full) !important;
  border-bottom: none !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  color: var(--pp-muted) !important;
  background: transparent !important;
}

.pp-v4.pp-glass-shell .tab-btn:hover,
.pp-v4 .pp-glass-shell .tab-btn:hover {
  background: rgba(255, 255, 255, 0.55) !important;
  color: var(--pp-ink) !important;
}

.pp-v4.pp-glass-shell .tab-btn.active,
.pp-v4 .pp-glass-shell .tab-btn.active {
  background: var(--pp-ink) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(8, 28, 44, 0.25) !important;
}

/* Desktop category pills */
@media (min-width: 768px) {
  .pp-v4.pp-glass-shell .tabs-header.pp-category-pills,
.pp-v4 .pp-glass-shell .tabs-header.pp-category-pills {
    background: rgba(255, 255, 255, 0.4) !important;
    border-radius: var(--pp-radius-full) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    margin: 16px 16px 0 !important;
    padding: 6px !important;
  }

  .pp-v4.pp-glass-shell .tabs-header.pp-category-pills .tab-btn.active,
  .pp-v4 .pp-glass-shell .tabs-header.pp-category-pills .tab-btn.active {
    background: linear-gradient(135deg, #123d52 0%, #1a5c6e 100%) !important;
    color: #fff !important;
  }
}

/* ── Staff: schedule toolbar & filters ── */
.pp-v4.pp-glass-shell .schedule-toolbar,
.pp-v4 .pp-glass-shell .schedule-toolbar,
.pp-v4.pp-glass-shell .svc-filter-bar,
.pp-v4 .pp-glass-shell .svc-filter-bar {
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border: 1px solid var(--pp-glass-border) !important;
  border-radius: var(--pp-radius-xl) !important;
  box-shadow: var(--pp-shadow-xs) !important;
}

.pp-v4.pp-glass-shell .booking-card,
.pp-v4 .pp-glass-shell .booking-card {
  border-left-width: 4px !important;
}

.pp-v4.pp-glass-shell .booking-card:hover,
.pp-v4 .pp-glass-shell .booking-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 28px rgba(8, 28, 44, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

/* ── Customer: nav & hero ── */
.pp-v4.pp-glass-shell .dash-nav,
.pp-v4 .pp-glass-shell .dash-nav {
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: var(--pp-glass-blur) !important;
  -webkit-backdrop-filter: var(--pp-glass-blur) !important;
  border: 1px solid var(--pp-glass-border) !important;
  border-radius: var(--pp-radius-full) !important;
  box-shadow: var(--pp-glass-shadow) !important;
  padding: 6px !important;
}

.pp-v4.pp-glass-shell .dash-nav-item,
.pp-v4 .pp-glass-shell .dash-nav-item {
  border-radius: var(--pp-radius-full) !important;
  font-weight: 600 !important;
}

.pp-v4.pp-glass-shell .dash-nav-item:hover,
.pp-v4 .pp-glass-shell .dash-nav-item:hover {
  background: rgba(255, 255, 255, 0.65) !important;
}

.pp-v4.pp-glass-shell .dash-nav-item.active,
.pp-v4 .pp-glass-shell .dash-nav-item.active {
  background: linear-gradient(135deg, #123d52 0%, #1a5c6e 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(8, 28, 44, 0.22) !important;
}

.pp-v4.pp-glass-shell .dash-topbar-actions .dash-btn-primary,
.pp-v4 .pp-glass-shell .dash-topbar-actions .dash-btn-primary {
  background: linear-gradient(135deg, #123d52 0%, #1a5c6e 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 4px 14px rgba(8, 28, 44, 0.2) !important;
}

.pp-v4.pp-glass-shell .dash-topbar-actions .dash-btn-ghost,
.pp-v4 .pp-glass-shell .dash-topbar-actions .dash-btn-ghost {
  background: rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid var(--pp-glass-border) !important;
}

/* ── Customer: appointment / booking cards ── */
.pp-v4.pp-glass-shell .appointment-card,
.pp-v4 .pp-glass-shell .appointment-card,
.pp-v4.pp-glass-shell .booking-item,
.pp-v4 .pp-glass-shell .booking-item,
.pp-v4.pp-glass-shell .bk-card,
.pp-v4 .pp-glass-shell .bk-card {
  background: var(--pp-glass-strong) !important;
  backdrop-filter: var(--pp-glass-blur) !important;
  -webkit-backdrop-filter: var(--pp-glass-blur) !important;
  border: 1px solid var(--pp-glass-border) !important;
  box-shadow: var(--pp-glass-shadow) !important;
}

/* ── Floating bottom nav — luxury dark glass ── */
.pp-v4.pp-glass-shell .pp-bottom-nav,
.pp-v4 .pp-glass-shell .pp-bottom-nav {
  background: var(--pp-float-nav-bg) !important;
  backdrop-filter: blur(32px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(32px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.pp-v4.pp-glass-shell .pp-bottom-nav__item.is-active,
.pp-v4 .pp-glass-shell .pp-bottom-nav__item.is-active {
  color: var(--pp-glass-accent) !important;
}

/* ── Branch badge gold accent ── */
.pp-v4.pp-glass-shell .branch-badge,
.pp-v4 .pp-glass-shell .branch-badge {
  background: var(--pp-glass-accent-soft) !important;
  border-color: rgba(201, 169, 98, 0.45) !important;
  color: #5c4a1f !important;
}

/* ── Search inputs on glass ── */
.pp-v4.pp-glass-shell .search-box input,
.pp-v4 .pp-glass-shell .search-box input {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid var(--pp-glass-border) !important;
  border-radius: var(--pp-radius-full) !important;
}

.pp-v4.pp-glass-shell .pp-search-hero,
.pp-v4 .pp-glass-shell .pp-search-hero {
  border-radius: var(--pp-radius-full) !important;
}

/* ── Modals inherit stronger glass (customer + staff) ── */
.pp-v4.pp-glass-shell .modal-content,
.pp-v4 .pp-glass-shell .modal-content,
.pp-v4.pp-glass-shell .pp-cust-dog-sheet,
.pp-v4 .pp-glass-shell .pp-cust-dog-sheet {
  background: var(--pp-glass-strong) !important;
  backdrop-filter: var(--pp-glass-blur) !important;
  -webkit-backdrop-filter: var(--pp-glass-blur) !important;
  border: 1px solid var(--pp-glass-border) !important;
  box-shadow:
    0 24px 64px rgba(8, 28, 44, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

@media (prefers-reduced-motion: reduce) {
  .pp-v4.pp-glass-shell .pp-action-tile:hover,
  .pp-v4 .pp-glass-shell .pp-action-tile:hover,
  .pp-v4.pp-glass-shell .booking-card:hover,
  .pp-v4 .pp-glass-shell .booking-card:hover {
    transform: none;
  }
}
