@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
body { font-family: 'Inter', sans-serif; }

/* TRYB CIEMNY */
body.theme-dark { background-color: #070d1e; color: #f1f5f9; }
.theme-dark .app-bg-header { background-color: #0b142c; }
.theme-dark .app-bg-sidebar { background-color: #091024; }
.theme-dark .app-bg-main { background-color: #060b18; }
.theme-dark .app-card { background-color: #0e1733; }
.theme-dark .app-inner-box { background-color: rgba(2, 6, 23, 0.65); }
.theme-dark .app-input { background-color: #020617; color: #ffffff; border: 1px solid rgba(30, 41, 59, 0.5); }

.theme-dark #themeToggleBtn svg,
.theme-dark #themeIcon { 
  color: #fbbf24 !important; 
  stroke: #fbbf24 !important;
  filter: drop-shadow(0 0 5px rgba(251, 191, 36, 0.7)); 
}

/* TRYB JASNY */
body.theme-light { background-color: #edf2f7; color: #0f172a; }
.theme-light .app-bg-header { background-color: #ffffff; border-bottom: 1px solid #e2e8f0; }
.theme-light .app-bg-sidebar { background-color: #f8fafc; border-right: 1px solid #e2e8f0; }
.theme-light .app-bg-main { background-color: #edf2f7; }
.theme-light .app-card { background-color: #ffffff; border: 1px solid #e2e8f0; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05); }
.theme-light .app-inner-box { background-color: #f8fafc; border: 1px solid #e2e8f0; }
.theme-light .app-input { background-color: #ffffff; color: #0f172a; border: 1px solid #cbd5e1 !important; }
.theme-light .app-input:focus { border-color: #2563eb !important; }

.theme-light #themeToggleBtn svg,
.theme-light #themeIcon {
  color: #334155 !important;
  stroke: #334155 !important;
  filter: none;
}

body.theme-light #appContainer .text-white { color: #0f172a !important; }
body.theme-light #appContainer .text-slate-100 { color: #0f172a !important; }
body.theme-light #appContainer .text-slate-200 { color: #1e293b !important; }
body.theme-light #appContainer .text-slate-300 { color: #334155 !important; }
body.theme-light #appContainer .text-slate-400 { color: #475569 !important; }
body.theme-light #appContainer .text-slate-500 { color: #64748b !important; }

#loginScreen .logo-auto { color: #ffffff !important; }
#loginScreen .logo-link { color: #ff6a00 !important; }
#loginScreen label { color: #94a3b8 !important; }
#loginScreen p { color: #94a3b8 !important; }
#loginScreen input { background-color: rgba(2, 6, 23, 0.85) !important; color: #ffffff !important; border: 1px solid rgba(51, 65, 85, 0.6) !important; }

.theme-light .bg-slate-950, 
.theme-light .bg-slate-900 { background-color: #ffffff !important; color: #0f172a !important; }
.theme-light .bg-slate-950\/40,
.theme-light .bg-slate-950\/60, 
.theme-light .bg-slate-950\/80, 
.theme-light .bg-slate-950\/90 { background-color: #f1f5f9 !important; color: #0f172a !important; }
.theme-light .bg-slate-800 { background-color: #ffffff !important; border: 1px solid #cbd5e1 !important; }
.theme-light .bg-slate-800\/80 { background-color: #f1f5f9 !important; border: 1px solid #cbd5e1 !important; }
.theme-light .bg-\[\#0e1733\], 
.theme-light .bg-\[\#091024\], 
.theme-light .bg-\[\#0b142c\],
.theme-light .bg-\[\#0e1733\]\/90 { background-color: #ffffff !important; }

.theme-light .filter-btn:not(.active) { background-color: #ffffff !important; border: 1px solid #cbd5e1 !important; }
.theme-light .tab-btn:not(.bg-blue-600) { background-color: #f1f5f9 !important; color: #475569 !important; border: 1px solid #e2e8f0; }

.theme-light .text-blue-400 { color: #2563eb !important; }
.theme-light .text-amber-400 { color: #d97706 !important; }
.theme-light .text-emerald-400 { color: #059669 !important; }
.theme-light .text-rose-400 { color: #e11d48 !important; }
.theme-light .text-purple-400 { color: #7c3aed !important; }
.theme-light .text-cyan-300 { color: #0891b2 !important; }
.theme-light .text-emerald-300 { color: #059669 !important; }
.theme-light .text-purple-300 { color: #7c3aed !important; }
.theme-light .text-amber-300 { color: #b45309 !important; }

.theme-light .bg-blue-600\/20, .theme-light .bg-blue-600\/30 { background-color: #eff6ff !important; border: 1px solid #bfdbfe; }
.theme-light .bg-amber-500\/15, .theme-light .bg-amber-500\/20 { background-color: #fffbeb !important; border: 1px solid #fde68a !important; }
.theme-light .bg-emerald-500\/20 { background-color: #ecfdf5 !important; border: 1px solid #a7f3d0 !important; }
.theme-light .bg-rose-500\/20, .theme-light .bg-rose-500\/10 { background-color: #fff1f2 !important; border: 1px solid #fecdd3 !important; }
.theme-light .bg-purple-500\/20 { background-color: #faf5ff !important; border: 1px solid #e9d5ff !important; }
.theme-light .bg-cyan-500\/20 { background-color: #ecfeff !important; border: 1px solid #a5f3fc !important; }

.theme-light .divide-slate-700\/20 > :not([hidden]) ~ :not([hidden]) { border-color: #e2e8f0 !important; }

.custom-scroll::-webkit-scrollbar { width: 6px; }
.custom-scroll::-webkit-scrollbar-track { background: transparent; }
.custom-scroll::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }
.theme-light .custom-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; }

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}
input[type=number] { -moz-appearance: textfield; }

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(1.06); }
}

.pulse-amber { animation: pulse-dot 1.6s infinite ease-in-out; }
.pulse-orange { animation: pulse-dot 1.6s infinite ease-in-out; }
.pulse-blue { animation: pulse-dot 1.6s infinite ease-in-out; }
.pulse-red { animation: pulse-dot 1.0s infinite ease-in-out; }
.pulse-green { animation: pulse-dot 2s infinite ease-in-out; }

@keyframes newIncidentFlash {
  0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
  50% { box-shadow: 0 0 18px 3px rgba(59, 130, 246, 0.75); }
}
.flash-new-incident { animation: newIncidentFlash 2s 4 ease-in-out; }

@keyframes slideInRight {
  from { transform: translateX(120%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
.toast-anim { animation: slideInRight 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

#leafletMap { width: 100%; height: 100%; z-index: 10; border-radius: 1rem; }

.leaflet-popup-content-wrapper {
  background: #091024 !important;
  color: #f1f5f9 !important;
  border: 1px solid rgba(59, 130, 246, 0.4) !important;
  border-radius: 1rem !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.7) !important;
  padding: 4px !important;
}
.leaflet-popup-tip {
  background: #091024 !important;
}
.theme-light .leaflet-popup-content-wrapper {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15) !important;
}
.theme-light .leaflet-popup-tip {
  background: #ffffff !important;
}

.workshop-pin-label {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.workshop-pin-label::before {
  display: none !important;
}
.workshop-badge-tag {
  background-color: rgba(9, 16, 36, 0.92);
  color: #fb923c;
  font-size: 10px;
  font-weight: 800;
  font-family: monospace;
  padding: 1px 5px;
  border-radius: 6px;
  border: 1px solid rgba(251, 146, 60, 0.45);
  box-shadow: 0 2px 5px rgba(0,0,0,0.5);
  white-space: nowrap;
  pointer-events: none;
}
.theme-light .workshop-badge-tag {
  background-color: #ffffff;
  color: #ea580c;
  border: 1px solid #fdba74;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
