﻿@tailwind base;
@tailwind components;
@tailwind utilities;

html,
body {
  min-height: 100%;
}

body.modal-open {
  overflow: hidden;
}

.footer-link {
  color: rgba(255, 255, 255, 0.72);
  transition: color 0.2s ease, opacity 0.2s ease;
}

.footer-link:hover {
  color: #ffffff;
}

.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 80;
}

.modal.is-open {
  display: flex;
}

.modal .modal-dialog {
  width: min(100%, 64rem);
  max-height: calc(100vh - 2rem);
  margin: 0;
}

.modal .modal-content {
  max-height: calc(100vh - 2rem);
  overflow: auto;
  background: #ffffff;
}

.swal2-popup {
  border-radius: 1rem !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.16) !important;
  background: #ffffff !important;
  color: #111827 !important;
}

.swal2-title,
.swal-title {
  color: #111827 !important;
  font-weight: 700 !important;
}

.swal2-html-container,
.swal2-content {
  color: #475569 !important;
}

.swal2-actions {
  gap: 0.75rem !important;
}

.swal-btn-confirm,
.swal-btn-cancel {
  min-width: 11rem !important;
  justify-content: center !important;
  padding: 0.8rem 1.35rem !important;
  border-radius: 9999px !important;
  line-height: 1.1 !important;
}

.swal-btn-confirm {
  color: #ffffff !important;
}

.swal-btn-cancel {
  background: #f8fafc !important;
}

.swal2-actions .swal2-styled,
.swal2-actions .swal2-confirm,
.swal2-actions .swal2-cancel {
  min-width: 11rem !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  padding: 0.75rem 1.35rem !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.swal2-actions .swal2-confirm,
.swal2-actions .swal2-styled.swal2-confirm {
  background: #009245 !important;
  color: #ffffff !important;
  border-color: #009245 !important;
}

.swal2-actions .swal2-confirm:hover,
.swal2-actions .swal2-styled.swal2-confirm:hover {
  background: #007535 !important;
  border-color: #007535 !important;
}

.swal2-actions .swal2-cancel,
.swal2-actions .swal2-styled.swal2-cancel {
  background: #e2e8f0 !important;
  color: #334155 !important;
  border-color: #cbd5e1 !important;
}

.swal2-actions .swal2-cancel:hover,
.swal2-actions .swal2-styled.swal2-cancel:hover {
  background: #cbd5e1 !important;
  color: #1e293b !important;
}

.swal-toast {
  border-radius: 0.9rem !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 8px 25px rgba(15, 23, 42, 0.12) !important;
}

.dark body {
  background: #021409;
  color: #e2e8f0;
}

.dark .bg-white {
  background-color: #0b1a10 !important;
}

.dark .bg-gray-50,
.dark .bg-gray-50\/50 {
  background-color: #0d1f13 !important;
}

.dark .text-gray-900 {
  color: #f8fafc !important;
}

.dark .text-gray-800,
.dark .text-gray-700,
.dark .text-gray-600 {
  color: #cbd5e1 !important;
}

.dark .text-gray-500,
.dark .text-gray-400 {
  color: #94a3b8 !important;
}

.dark .border-gray-100,
.dark .border-gray-200,
.dark .border-gray-50 {
  border-color: #1f2937 !important;
}

.dark .shadow-sm,
.dark .shadow-lg,
.dark .shadow-xl {
  box-shadow: 0 12px 32px rgba(2, 6, 23, 0.45) !important;
}

.dark .modal {
  background: rgba(2, 6, 23, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.swal2-container.swal2-backdrop-show {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.dark .modal .modal-content {
  background: #0b1a10;
  border: 1px solid #003318;
}

.dark .swal2-popup {
  background: #0b1a10 !important;
  border-color: #003318 !important;
  color: #e2e8f0 !important;
}

.dark .swal2-title,
.dark .swal-title,
.dark .swal2-html-container,
.dark .swal2-content {
  color: #e2e8f0 !important;
}

.dark .swal2-actions .swal2-confirm,
.dark .swal2-actions .swal2-styled.swal2-confirm {
  background: #00a651 !important;
  color: #ffffff !important;
  border-color: #00a651 !important;
}

.dark .swal2-actions .swal2-confirm:hover,
.dark .swal2-actions .swal2-styled.swal2-confirm:hover {
  background: #008643 !important;
  border-color: #008643 !important;
}

.dark .swal2-actions .swal2-cancel,
.dark .swal2-actions .swal2-styled.swal2-cancel {
  background: #003318 !important;
  color: #ccffe4 !important;
  border-color: #0b4d2a !important;
}

.dark .swal2-actions .swal2-cancel:hover,
.dark .swal2-actions .swal2-styled.swal2-cancel:hover {
  background: #0b4d2a !important;
  color: #ecfdf5 !important;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fadeIn 0.4s ease-out forwards;
}
