@font-face {
  font-family: "DG-Shamael-Black";
  src: url("../../assets/fonts/DGShamael-Black.ttf");
}

body {
  background: #0f172a !important; /* Tailwind slate-900 */
  background-image:
    radial-gradient(
      circle at top right,
      rgba(28, 146, 210, 0.4),
      transparent 50%
    ),
    radial-gradient(
      circle at bottom left,
      rgba(238, 9, 121, 0.3),
      transparent 50%
    ),
    url('data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%23ffffff" fill-opacity="0.03"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E') !important;
  background-size: cover, cover, auto;
  background-attachment: fixed;
  color: #f8fafc !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
span,
input,
textarea,
select,
select option,
.btn,
label,
.alert,
th,
td {
  font-family: "DG-Shamael-Black", sans-serif !important;
}

#container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}

#container .card {
  width: 1200px;
  max-width: 95%;
  margin: 0 auto;
  background: rgba(30, 41, 59, 0.6) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 24px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
  animation: fadeIn 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.btn {
  border-radius: 50px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.4);
}

.btn-primary {
  background: linear-gradient(135deg, #ff6a00, #ee0979) !important;
  border: none !important;
  color: white !important;
}

.btn-primary:hover {
  background: linear-gradient(135deg, #ee0979, #ff6a00) !important;
}

.btn-success {
  background: linear-gradient(135deg, #10b981, #047857) !important;
  border: none !important;
}

.btn-danger {
  background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
  border: none !important;
}

/* Table Styles - Modern Spaced Rows */
.overflow-auto {
  border-radius: 12px;
  padding: 5px;
}

table {
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  background: transparent !important;
  border: none !important;
}

.table-dark,
.table-secondary,
.table-bordered {
  background: transparent !important;
  color: white !important;
  border: none !important;
}

.table-dark th,
.table-secondary th {
  background: rgba(15, 23, 42, 0.8) !important;
  border: none !important;
  color: #cbd5e1 !important;
  padding: 16px !important;
  font-size: 14px;
  text-align: center;
}

.table-secondary td,
.table-dark td {
  background: rgba(30, 41, 59, 0.7) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-width: 1px 0 !important;
  padding: 18px 16px !important;
  vertical-align: middle;
  text-align: center;
  transition: background 0.3s;
}

.table-secondary tr:hover td,
.table-dark tr:hover td {
  background: rgba(255, 255, 255, 0.08) !important;
}

.table-secondary td:first-child,
.table-dark td:first-child,
.table-secondary th:first-child:where(thead th),
.table-dark th:first-child:where(thead th) {
  border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}

.table-secondary td:last-child,
.table-dark td:last-child,
.table-secondary th:last-child:where(thead th),
.table-dark th:last-child:where(thead th) {
  border-left: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}

/* Inputs */
.form-control,
.input-group .form-control {
  background: rgba(15, 23, 42, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #f8fafc !important;
  padding: 14px 20px !important;
  transition: all 0.3s ease;
}
.form-control::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.form-control:focus {
  background: rgba(30, 41, 59, 0.9) !important;
  border-color: #ee0979 !important;
  box-shadow: 0 0 0 4px rgba(238, 9, 121, 0.2) !important;
}

/* Buttons inside input groups */
.round-form-start {
  border-radius: 0 50px 50px 0 !important;
}
.round-form-end {
  border-radius: 50px 0 0 50px !important;
}

/* Modal Styling */
.modal-content {
  background: rgba(15, 23, 42, 0.95) !important;
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 24px !important;
  color: white;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6) !important;
}
.modal-header,
.modal-footer {
  border-color: rgba(255, 255, 255, 0.05) !important;
}
.modal-header .btn-close {
  filter: invert(1);
  opacity: 0.8;
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.5);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #ff6a00, #ee0979);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #ee0979, #ff6a00);
}

@media (max-width: 800px) {
  #container {
    padding: 10px;
  }
}

@media (max-width: 450px) {
  .btn,
  th,
  td,
  input {
    font-size: 13px !important;
  }
  #footer {
    font-size: 12px;
  }
  #container {
    padding: 5px;
  }
  .round-form-start {
    border-radius: 8px !important;
  }
  .round-form-end {
    border-radius: 8px !important;
  }
  .input-group {
    flex-direction: column;
    gap: 10px;
  }
  .input-group .form-control {
    width: 100% !important;
    border-radius: 50px !important;
  }
  .input-group .btn {
    width: 100% !important;
    border-radius: 50px !important;
    margin-left: 0 !important;
  }
}
