/* MinistryFleet — Lumen Sanctuary Light Architecture Design System */
/* Zero inline styles required • 100% CSP compliant */

:root {
  --lumen-bg: #F8FAFC;
  --lumen-surface: #FFFFFF;
  --lumen-surface-subtle: #F1F5F9;
  --lumen-border: #E2E8F0;
  --lumen-border-strong: #CBD5E1;
  --lumen-text-primary: #0F172A;
  --lumen-text-secondary: #334155;
  --lumen-text-muted: #64748B;
  --lumen-emerald: #059669;
  --lumen-emerald-dark: #065F46;
  --lumen-emerald-light: #ECFDF5;
  --lumen-amber: #D97706;
  --lumen-amber-light: #FFFBEB;
  --lumen-indigo: #4F46E5;
  --lumen-indigo-light: #EEF2FF;
  --p: 161 94% 30%;
  --pc: 0 0% 100%;
}

html, body {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !important;
}

/* Primary Brand Actions (Emerald / Teal Theme Harmony) */
.btn-primary {
  background-color: #059669 !important;
  border-color: #047857 !important;
  color: #FFFFFF !important;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus-visible {
  background-color: #047857 !important;
  border-color: #065F46 !important;
  color: #FFFFFF !important;
}

.btn-emerald {
  background-color: #059669 !important;
  border-color: #047857 !important;
  color: #FFFFFF !important;
}

.btn-emerald:hover, .btn-emerald:active, .btn-emerald:focus-visible {
  background-color: #047857 !important;
  border-color: #065F46 !important;
  color: #FFFFFF !important;
}

/* High-Contrast Dark Card for Critical Infrastructure Intents */
.lumen-card-dark {
  background: linear-gradient(135deg, #064E3B 0%, #0F172A 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(16, 185, 129, 0.25) !important;
}

/* Light Canvas Background with Daylight Ambient Gradient */
.lumen-canvas {
  background-color: #F8FAFC;
  background-image: 
    radial-gradient(at 10% 10%, rgba(16, 185, 129, 0.04) 0px, transparent 50%),
    radial-gradient(at 90% 15%, rgba(99, 102, 241, 0.03) 0px, transparent 50%),
    radial-gradient(at 50% 90%, rgba(245, 158, 11, 0.02) 0px, transparent 60%);
  color: var(--lumen-text-primary);
}

/* Persistent Left Sidebar Navigation */
.lumen-sidebar {
  background-color: #FFFFFF;
  border-right: 1px solid var(--lumen-border);
  box-shadow: 1px 0 3px rgba(0, 0, 0, 0.02);
}

/* Mobile Slide-Over Drawer Navigation */
.lumen-drawer-backdrop {
  background-color: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.lumen-drawer-panel {
  background-color: #FFFFFF !important;
  color: var(--lumen-text-primary, #0F172A) !important;
  border-right: 1px solid var(--lumen-border, #E2E8F0);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
}

.lumen-drawer-user {
  background-color: #F8FAFC !important;
  border: 1px solid var(--lumen-border, #E2E8F0);
}

/* Core Utility Fallbacks (Ensuring solid surfaces across mobile & responsive views) */
.bg-white { background-color: #FFFFFF !important; }
.bg-slate-50 { background-color: #F8FAFC !important; }
.bg-slate-100 { background-color: #F1F5F9 !important; }
.bg-slate-900\/40 { background-color: rgba(15, 23, 42, 0.4) !important; }
.bg-slate-900\/60 { background-color: rgba(15, 23, 42, 0.6) !important; }
.bg-emerald-50 { background-color: #ECFDF5 !important; }
.bg-emerald-100 { background-color: #D1FAE5 !important; }
.bg-emerald-700 { background-color: #047857 !important; }
.bg-rose-50 { background-color: #FFF1F2 !important; }
.border-slate-200 { border-color: #E2E8F0 !important; }
.border-slate-300 { border-color: #CBD5E1 !important; }

/* Theme support for Mobile Drawer */
[data-theme="dark"] .lumen-drawer-panel,
[data-theme="forest"] .lumen-drawer-panel,
[data-theme="business"] .lumen-drawer-panel,
[data-theme="night"] .lumen-drawer-panel {
  background-color: #1E293B !important;
  color: #F8FAFC !important;
  border-right-color: #334155;
}

[data-theme="dark"] .lumen-drawer-user,
[data-theme="forest"] .lumen-drawer-user,
[data-theme="business"] .lumen-drawer-user,
[data-theme="night"] .lumen-drawer-user {
  background-color: #0F172A !important;
  border-color: #334155;
}

/* Top Utility Header */
.lumen-topbar {
  background-color: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--lumen-border);
}

/* Crisp Precision Surface Card */
.lumen-card {
  background-color: #FFFFFF;
  border: 1px solid var(--lumen-border);
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 6px 16px rgba(0, 0, 0, 0.02);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.lumen-card:hover {
  border-color: var(--lumen-border-strong);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 24px -4px rgba(0, 0, 0, 0.04);
}

/* Metric / Stat Tiles */
.lumen-stat-card {
  background-color: #FFFFFF;
  border: 1px solid var(--lumen-border);
  border-radius: 1rem;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: all 0.2s ease;
}

.lumen-stat-card:hover {
  border-color: var(--lumen-border-strong);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Sidebar Navigation Items */
.lumen-nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  border-radius: 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--lumen-text-secondary);
  transition: all 0.15s ease;
}

.lumen-nav-item:hover {
  background-color: #F1F5F9;
  color: var(--lumen-text-primary);
}

.lumen-nav-item.active {
  background-color: #ECFDF5;
  color: #065F46;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.2);
}

.lumen-nav-item.active svg {
  color: #059669;
}

/* Status Beacons */
.status-beacon {
  display: inline-flex;
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 9999px;
}

.status-beacon-live {
  background-color: #059669;
  box-shadow: 0 0 6px rgba(5, 150, 105, 0.6);
}

.status-beacon-pulse::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 9999px;
  background-color: #059669;
  opacity: 0.4;
  animation: beacon-ping 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes beacon-ping {
  75%, 100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

/* Modern Brand Seal */
.lumen-brand-seal {
  background: linear-gradient(135deg, #059669 0%, #0D9488 50%, #0284C7 100%);
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.25);
}

/* Clean Form Inputs in Light Mode */
[data-theme="light"] input.input-bordered,
[data-theme="light"] select.select-bordered,
[data-theme="light"] textarea.textarea-bordered {
  background-color: #FFFFFF;
  border-color: #CBD5E1;
  color: #0F172A;
}

[data-theme="light"] input.input-bordered:focus,
[data-theme="light"] select.select-bordered:focus,
[data-theme="light"] textarea.textarea-bordered:focus {
  border-color: #059669;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15);
}

/* DaisyUI Light Mode Overrides for Crisp Modern SaaS Feel */
[data-theme="light"] .modal-box {
  background-color: #FFFFFF;
  color: #0F172A;
  border: 1px solid #E2E8F0;
  box-shadow: 0 20px 40px -8px rgba(0, 0, 0, 0.12);
}

[data-theme="light"] .menu-sm li > *:not(ul, .menu-title, details, .btn) {
  color: #334155;
}

[data-theme="light"] .menu-sm li > *:hover:not(ul, .menu-title, details, .btn) {
  background-color: #F1F5F9;
  color: #0F172A;
}

/* HTMX Transitions */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }
[x-cloak] { display: none !important; }
