/* ========================================================
   GLASSMORPHISM DARK THEME - Shared Inline Override
   Applied to all HTML pages that have their own inline styles
   ======================================================== */

/* ===== Core Dark Variables (override per-page :root) ===== */
:root {
  --primary: #7c3aed;
  --primary-dark: #6d28d9;
  --primary-light: #a78bfa;
  --primary-glow: rgba(124, 58, 237, 0.4);
  --secondary: #06b6d4;
  --secondary-glow: rgba(6, 182, 212, 0.3);
  --accent: #f472b6;

  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --info: #60a5fa;

  --dark: #f1f5f9;
  --gray: #94a3b8;
  --gray-light: #64748b;
  --light: #111827;
  --white: #f1f5f9;

  --bg-base: #0b0f1a;
  --bg-surface: #111827;
  --bg-elevated: #1f2937;
  --bg-glass: rgba(17, 24, 39, 0.6);
  --bg-glass-light: rgba(31, 41, 55, 0.5);
  --bg-glass-heavy: rgba(17, 24, 39, 0.85);

  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;

  --border-glass: rgba(255, 255, 255, 0.08);
  --border-glass-hover: rgba(255, 255, 255, 0.15);
  --border-accent: rgba(124, 58, 237, 0.3);

  --glass-blur: blur(16px);
  --glass-blur-heavy: blur(24px);
  --glass-bg: rgba(17, 24, 39, 0.6);
  --glass-border: 1px solid rgba(255, 255, 255, 0.08);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  --glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
  --glass-glow: 0 0 20px rgba(124, 58, 237, 0.15);

  --shadow: var(--glass-shadow);
  --shadow-lg: var(--glass-shadow-lg);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
  --radius: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
}

/* ===== Body Base ===== */
body {
  background: var(--bg-base) !important;
  color: var(--text-primary) !important;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(124, 58, 237, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(6, 182, 212, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(244, 114, 182, 0.04) 0%, transparent 60%);
  z-index: -1;
  pointer-events: none;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg-base); }
::-webkit-scrollbar-thumb { background: rgba(124, 58, 237, 0.3); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(124, 58, 237, 0.5); }

/* ===== Headers / Navs ===== */
header, .header {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border-bottom: 1px solid var(--border-glass) !important;
  box-shadow: var(--glass-shadow) !important;
}

.logo {
  color: var(--primary-light) !important;
  background: linear-gradient(135deg, var(--primary-light), var(--secondary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.nav-links a, .nav-link, .header-link {
  color: var(--text-secondary) !important;
}

.nav-links a:hover, .nav-link:hover, .header-link:hover {
  color: var(--primary-light) !important;
}

.nav-link.active {
  color: var(--primary-light) !important;
  background: rgba(124, 58, 237, 0.1) !important;
}

/* ===== Glass Cards ===== */
.login-wrapper,
.card,
.stat-card,
.feature-card,
.property-card,
.search-card,
.filter-card,
.action-card,
.info-card,
.chart-card,
.report-card {
  background: var(--glass-bg) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: var(--glass-border) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary) !important;
}

.login-hero {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%) !important;
}

.login-form-section {
  background: var(--bg-glass-heavy) !important;
}

/* ===== Section Backgrounds ===== */
.stats, .features, .cta, section {
  background: transparent !important;
}

.stats {
  background: rgba(17, 24, 39, 0.3) !important;
  backdrop-filter: var(--glass-blur) !important;
}

.features {
  background: rgba(17, 24, 39, 0.2) !important;
}

.cta {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%) !important;
}

/* ===== Footers ===== */
footer, .footer {
  background: var(--bg-glass-heavy) !important;
  color: var(--text-primary) !important;
  border-top: 1px solid var(--border-glass) !important;
}

footer h4, .footer h4 {
  color: var(--primary-light) !important;
}

footer a, .footer a {
  color: var(--text-secondary) !important;
}

footer a:hover, .footer a:hover {
  color: var(--primary-light) !important;
}

.footer-brand p, .footer-bottom p {
  color: var(--text-muted) !important;
}

/* ===== Text Colors ===== */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary) !important;
}

p, .text-secondary {
  color: var(--text-secondary);
}

.section-title h2 {
  background: linear-gradient(135deg, var(--text-primary) 0%, var(--primary-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.stat-item h3 {
  color: var(--primary-light) !important;
}

.stat-item p {
  color: var(--text-secondary) !important;
}

/* ===== Forms ===== */
.form-input, .form-control, input, select, textarea {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--border-glass) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius) !important;
}

.form-input:focus, .form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px var(--primary-glow), var(--glass-glow) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.form-input::placeholder, .form-control::placeholder, input::placeholder {
  color: var(--text-muted) !important;
}

.form-label, .form-group label, label {
  color: var(--text-secondary) !important;
}

.form-title, .form-header h2 {
  color: var(--text-primary) !important;
}

.form-subtitle, .form-header p {
  color: var(--text-secondary) !important;
}

/* ===== Buttons ===== */
.btn-primary, button[type="submit"].btn {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px var(--primary-glow) !important;
  border: none !important;
}

.btn-primary:hover, button[type="submit"].btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px var(--primary-glow) !important;
}

.btn-outline {
  background: transparent !important;
  border: 1px solid var(--border-accent) !important;
  color: var(--primary-light) !important;
}

.btn-outline:hover {
  background: rgba(124, 58, 237, 0.1) !important;
  border-color: var(--primary) !important;
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-glass) !important;
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}

/* ===== Hero Sections ===== */
.hero {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.15) 0%, rgba(6, 182, 212, 0.1) 50%, var(--bg-base) 100%) !important;
}

.hero h1, .hero-title {
  background: linear-gradient(135deg, #fff 0%, var(--primary-light) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.hero p, .hero-text {
  color: var(--text-secondary) !important;
}

/* ===== Search Boxes ===== */
.search-box-container, .search-form, .hero-search {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: var(--glass-border) !important;
  border-radius: var(--radius-xl) !important;
}

.search-tab {
  color: var(--text-secondary) !important;
  border-bottom: 2px solid transparent !important;
}

.search-tab.active, .search-tab:hover {
  color: var(--primary-light) !important;
  border-bottom-color: var(--primary) !important;
}

.search-field label {
  color: var(--text-secondary) !important;
}

/* ===== Notification System ===== */
.notification-btn {
  border: 1px solid var(--border-glass) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--text-primary) !important;
}

.notification-btn:hover {
  background: rgba(124, 58, 237, 0.1) !important;
  border-color: var(--border-accent) !important;
}

.notification-badge {
  background: var(--danger) !important;
}

.notification-panel {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border: var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
}

.notification-item {
  border-bottom: 1px solid var(--border-glass) !important;
}

.notification-item:hover {
  background: rgba(124, 58, 237, 0.05) !important;
}

/* ===== User Menu ===== */
.user-menu, .user-dropdown {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border: var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
}

.user-menu a, .user-dropdown a {
  color: var(--text-secondary) !important;
}

.user-menu a:hover, .user-dropdown a:hover {
  background: rgba(124, 58, 237, 0.08) !important;
  color: var(--primary-light) !important;
}

/* ===== Dashboard Specific ===== */
.header-content {
  border-bottom-color: var(--border-glass) !important;
}

.sidebar {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border-right: 1px solid var(--border-glass) !important;
}

/* ===== Feature Cards (Landing) ===== */
.feature-card {
  transition: all 0.3s ease !important;
}

.feature-card:hover {
  transform: translateY(-5px) !important;
  border-color: var(--border-glass-hover) !important;
  box-shadow: var(--glass-shadow-lg), var(--glass-glow) !important;
}

.feature-icon {
  background: rgba(124, 58, 237, 0.1) !important;
  border: 1px solid rgba(124, 58, 237, 0.15) !important;
}

.feature-card h3 {
  color: var(--text-primary) !important;
}

.feature-card p {
  color: var(--text-secondary) !important;
}

/* ===== Property Cards ===== */
.property-card {
  transition: all 0.3s ease !important;
}

.property-card:hover {
  transform: translateY(-4px) !important;
  border-color: var(--border-glass-hover) !important;
  box-shadow: var(--glass-shadow-lg), var(--glass-glow) !important;
}

.property-price {
  color: var(--primary-light) !important;
}

.property-location, .property-meta {
  color: var(--text-secondary) !important;
}

/* ===== Tables ===== */
.table th {
  color: var(--text-secondary) !important;
  border-bottom: 1px solid var(--border-glass) !important;
}

.table td {
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-glass) !important;
}

.table tbody tr:hover {
  background: rgba(124, 58, 237, 0.05) !important;
}

/* ===== Badges ===== */
.badge-success {
  background: rgba(52, 211, 153, 0.15) !important;
  color: #34d399 !important;
  border: 1px solid rgba(52, 211, 153, 0.2);
}

.badge-warning {
  background: rgba(251, 191, 36, 0.15) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(251, 191, 36, 0.2);
}

.badge-danger {
  background: rgba(248, 113, 113, 0.15) !important;
  color: #f87171 !important;
  border: 1px solid rgba(248, 113, 113, 0.2);
}

.badge-info {
  background: rgba(96, 165, 250, 0.15) !important;
  color: #60a5fa !important;
  border: 1px solid rgba(96, 165, 250, 0.2);
}

/* ===== Alerts ===== */
.alert-success {
  background: rgba(52, 211, 153, 0.1) !important;
  color: var(--success) !important;
  border: 1px solid rgba(52, 211, 153, 0.2) !important;
}

.alert-danger, .alert-error {
  background: rgba(248, 113, 113, 0.1) !important;
  color: var(--danger) !important;
  border: 1px solid rgba(248, 113, 113, 0.2) !important;
}

.alert-warning {
  background: rgba(251, 191, 36, 0.1) !important;
  color: var(--warning) !important;
  border: 1px solid rgba(251, 191, 36, 0.2) !important;
}

.alert-info {
  background: rgba(96, 165, 250, 0.1) !important;
  color: var(--info) !important;
  border: 1px solid rgba(96, 165, 250, 0.2) !important;
}

/* ===== Modals ===== */
.modal-overlay {
  background: rgba(0, 0, 0, 0.7) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.modal, .modal-content {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border: var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg), var(--glass-glow) !important;
  color: var(--text-primary) !important;
}

.modal-header {
  border-bottom: 1px solid var(--border-glass) !important;
}

.modal-footer {
  border-top: 1px solid var(--border-glass) !important;
}

/* ===== Pagination ===== */
.pagination {
  gap: 4px;
}

.page-btn, .pagination button, .pagination a {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--border-glass) !important;
  color: var(--text-secondary) !important;
  border-radius: var(--radius) !important;
}

.page-btn:hover, .pagination button:hover, .pagination a:hover {
  background: rgba(124, 58, 237, 0.1) !important;
  border-color: var(--border-accent) !important;
  color: var(--primary-light) !important;
}

.page-btn.active, .pagination .active {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}

/* ===== Carousel / Gallery ===== */
.carousel-btn, .gallery-btn {
  background: var(--bg-glass) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--border-glass) !important;
  color: var(--text-primary) !important;
}

.carousel-btn:hover, .gallery-btn:hover {
  background: rgba(124, 58, 237, 0.2) !important;
  border-color: var(--border-accent) !important;
}

/* ===== Tabs ===== */
.tabs, .tab-nav {
  border-bottom: 1px solid var(--border-glass) !important;
}

.tab, .tab-btn {
  color: var(--text-muted) !important;
}

.tab:hover, .tab-btn:hover {
  color: var(--primary-light) !important;
}

.tab.active, .tab-btn.active {
  color: var(--primary-light) !important;
  border-bottom-color: var(--primary) !important;
  background: rgba(124, 58, 237, 0.05) !important;
}

/* ===== Toast Notifications ===== */
.toast {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border: var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
  color: var(--text-primary) !important;
}

/* ===== Sidebar Links & Active States ===== */
.sidebar .nav-link, .sidebar a {
  color: var(--text-secondary) !important;
}

.sidebar .nav-link:hover, .sidebar a:hover {
  background: rgba(124, 58, 237, 0.08) !important;
  color: var(--text-primary) !important;
}

.sidebar .nav-link.active, .sidebar a.active {
  background: rgba(124, 58, 237, 0.12) !important;
  color: var(--primary-light) !important;
  border-left: 3px solid var(--primary) !important;
}

/* ===== 404 Page ===== */
.error-page, .not-found {
  background: var(--bg-base) !important;
  color: var(--text-primary) !important;
}

.error-code {
  background: linear-gradient(135deg, var(--primary-light), var(--secondary)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ===== Dividers / Borders ===== */
hr, .divider {
  border-color: var(--border-glass) !important;
}

/* ===== Links in general ===== */
a:not(.btn):not(.logo):not(.nav-link) {
  color: var(--primary-light);
}

a:not(.btn):not(.logo):not(.nav-link):hover {
  color: var(--secondary);
}

/* ===== Checkbox / Radio customization ===== */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--primary);
}

/* ===== Charts Dark Override ===== */
.chart-container canvas {
  filter: brightness(0.9);
}

/* ===== Favorites Heart ===== */
.favorite-btn, .heart-btn {
  background: rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.favorite-btn:hover, .heart-btn:hover {
  background: rgba(248, 113, 113, 0.2) !important;
  border-color: rgba(248, 113, 113, 0.3) !important;
}

/* ===== Password Toggle ===== */
.password-toggle {
  color: var(--text-muted) !important;
}

.password-toggle:hover {
  color: var(--text-primary) !important;
}

/* ===== Strength Indicator ===== */
.strength-bar {
  background: rgba(255, 255, 255, 0.1) !important;
}

/* ===== WhatsApp / Contact Buttons ===== */
.whatsapp-btn {
  background: linear-gradient(135deg, #25d366, #128c7e) !important;
  color: #fff !important;
  box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3) !important;
}

/* ===== Filter Sidebar (Search page) ===== */
.filter-sidebar, .filters-panel {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border: var(--glass-border) !important;
}

/* ===== Sort Dropdown ===== */
.sort-select, .sort-dropdown {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--border-glass) !important;
  color: var(--text-primary) !important;
}

/* ===== Cookie Consent ===== */
.cookie-banner, .cookie-consent {
  background: var(--bg-glass-heavy) !important;
  backdrop-filter: var(--glass-blur-heavy) !important;
  -webkit-backdrop-filter: var(--glass-blur-heavy) !important;
  border-top: 1px solid var(--border-glass) !important;
  color: var(--text-primary) !important;
}

/* ===== Selection ===== */
::selection {
  background: rgba(124, 58, 237, 0.3);
  color: #fff;
}

/* ===== Dashboard Admin / Agent / User Panels ===== */
.admin-panel .card,
.agent-panel .card,
.user-panel .card {
  border-left-color: var(--primary) !important;
}

.admin-panel .card-header,
.agent-panel .card-header,
.user-panel .card-header {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.12) 0%, var(--bg-glass-heavy) 100%) !important;
}

.admin-stat {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--border-glass) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
}

.admin-stat div:first-child {
  color: var(--primary-light) !important;
}

.admin-stat div:last-child {
  color: var(--text-secondary) !important;
}

.admin-action-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--border-glass) !important;
  color: var(--text-primary) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
}

.admin-action-card:hover {
  background: rgba(124, 58, 237, 0.08) !important;
  border-color: var(--border-accent) !important;
  transform: translateY(-2px);
}

.admin-action-card div div:first-child {
  color: var(--text-primary) !important;
}

.admin-action-card div div:last-child {
  color: var(--text-secondary) !important;
}

/* Special: "Nueva Publicación" accent card */
a.admin-action-card[href="/publish"] {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark)) !important;
  color: #fff !important;
  border-color: transparent !important;
}

a.admin-action-card[href="/publish"] div div {
  color: #fff !important;
}

/* ===== Generic overrides for inline light backgrounds ===== */
[style*="background: white"],
[style*="background:white"],
[style*="background: #fff"],
[style*="background:#fff"] {
  background: var(--glass-bg) !important;
}

/* ===== Concierge Report styling ===== */
.report-section {
  background: var(--glass-bg) !important;
  border: var(--glass-border) !important;
}

/* ===== Admin Metrics Page ===== */
.stat-card, .section, .mini-stat {
  background: var(--glass-bg) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: var(--glass-border) !important;
  color: var(--text-primary) !important;
}

.progress-bar {
  background: rgba(255, 255, 255, 0.08) !important;
}

.badge-warn { background: rgba(251, 191, 36, 0.15) !important; color: #fbbf24 !important; }
.badge-crit { background: rgba(248, 113, 113, 0.15) !important; color: #f87171 !important; }
.badge-ok { background: rgba(52, 211, 153, 0.15) !important; color: #34d399 !important; }

th {
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--text-secondary) !important;
}

td {
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-glass) !important;
}

tr:hover {
  background: rgba(124, 58, 237, 0.05) !important;
}

/* ===== Application Status Badges ===== */
.status-pending { background: rgba(251, 191, 36, 0.15) !important; color: #fbbf24 !important; }
.status-approved { background: rgba(52, 211, 153, 0.15) !important; color: #34d399 !important; }
.status-rejected { background: rgba(248, 113, 113, 0.15) !important; color: #f87171 !important; }
.status-active { background: rgba(52, 211, 153, 0.15) !important; color: #34d399 !important; }

/* ===== Gamification Tier Badges ===== */
.badge-bronze { background: rgba(217, 119, 6, 0.15) !important; color: #fbbf24 !important; }
.badge-silver { background: rgba(148, 163, 184, 0.15) !important; color: #94a3b8 !important; }
.badge-gold { background: rgba(251, 191, 36, 0.15) !important; color: #fbbf24 !important; }
.badge-platinum { background: rgba(167, 139, 250, 0.15) !important; color: #a78bfa !important; }
.badge-diamond { background: rgba(96, 165, 250, 0.15) !important; color: #60a5fa !important; }
.badge-inactive { background: rgba(248, 113, 113, 0.15) !important; color: #f87171 !important; }
.badge-active { background: rgba(52, 211, 153, 0.15) !important; color: #34d399 !important; }

/* ===== Btn variants ===== */
.btn-reject {
  background: transparent !important;
  color: var(--danger) !important;
  border: 2px solid var(--danger) !important;
}

.btn-reject:hover {
  background: rgba(248, 113, 113, 0.1) !important;
}

.btn-approve {
  background: rgba(52, 211, 153, 0.15) !important;
  color: #34d399 !important;
}

/* ===== Alert variants (inline overrides) ===== */
.alert-error { background: rgba(248, 113, 113, 0.1) !important; color: #f87171 !important; border: 1px solid rgba(248, 113, 113, 0.2) !important; }

/* ===== Concierge Report Details ===== */
.occupancy-summary,
.period-card,
.event-card,
.alert-card {
  background: var(--glass-bg) !important;
  border: var(--glass-border) !important;
  color: var(--text-primary) !important;
}

/* ===== Select dropdown options ===== */
select option {
  background: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}

/* ===== Animations ===== */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(124, 58, 237, 0.15); }
  50% { box-shadow: 0 0 30px rgba(124, 58, 237, 0.25); }
}

.glow-pulse {
  animation: glowPulse 3s ease-in-out infinite;
}
