/* Custom Dark + Deep Orange Glassmorphism Theme */
:root {
  --bg-dark-0: #070708;
  --bg-dark-1: #0c0d10;
  --bg-dark-2: #121417;
  --glass-bg: rgba(15, 16, 20, 0.55);
  --glass-border: rgba(255, 255, 255, 0.08);
  --glass-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  --orange-1: #ff6a00; /* deep orange */
  --orange-2: #ff3d00; /* deeper orange */
  --accent: #ff6a00;
  --text-strong: #e8e8ea;
  --text-muted: #a5a7ab;
}

/* Background gradient: orange to black accents subtle */
html, body {
  background: radial-gradient(1200px 800px at 10% -10%, rgba(255, 106, 0, 0.08), transparent 60%),
              radial-gradient(1200px 800px at 90% 110%, rgba(255, 61, 0, 0.08), transparent 60%),
              linear-gradient(160deg, var(--bg-dark-1), var(--bg-dark-0) 30%, var(--bg-dark-2) 100%) !important;
  color: var(--text-strong);
}

/* Smooth transitions for interactive elements */
button, .btn, a, .form-control, .form-select, .menu .menu-link, .card, .modal-content, .badge {
  transition: all .18s ease-in-out;
}

/* Cards: glassmorphism */
.card,
.app-footer .app-container,
#kt_app_sidebar_header,
#kt_app_sidebar_footer,
.app-header,
.app-toolbar,
.app-sidebar {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow);
}

.card {
  border-radius: 14px !important;
}

/* Card header/footer polish */
.card-header {
  background: linear-gradient(180deg, rgba(255,106,0,0.10), rgba(0,0,0,0)) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.card-footer {
  background: linear-gradient(0deg, rgba(255,106,0,0.08), rgba(0,0,0,0)) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

/* Apply a default glass card wrapper when a page doesn't use .card */
.content-shell > :first-child:not(.card):not(.row):not(.container):not(.container-fluid):not(.modal):not(script):not(style) {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow);
  border-radius: 14px;
  padding: 1.25rem;
}

/* Tables inside cards */
.table {
  color: var(--text-strong);
  background: transparent !important;
}
.table thead th {
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  background: linear-gradient(180deg, rgba(255,106,0,0.15), rgba(255,61,0,0.05));
}
.table tbody tr {
  border-color: rgba(255,255,255,0.06) !important;
}
.table tbody tr:hover {
  background: rgba(255,106,0,0.06) !important;
}

/* Buttons */
.btn-primary, .btn.btn-primary {
  background: linear-gradient(135deg, var(--orange-1), var(--orange-2)) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(255, 106, 0, 0.35);
}
.btn-primary:hover, .btn.btn-primary:hover {
  filter: brightness(1.05);
  box-shadow: 0 10px 26px rgba(255, 61, 0, 0.45);
}
.btn-light { background: rgba(255,255,255,0.06) !important; color: var(--text-strong) !important; border: 1px solid rgba(255,255,255,0.12) !important; }
.btn-light:hover { background: rgba(255,255,255,0.10) !important; }
.btn-danger { background: linear-gradient(135deg, #ff3b3b, #c62828) !important; border: none !important; color: #fff !important; }
.btn-danger:hover { filter: brightness(1.05); }
.btn-outline-primary {
  border-color: var(--orange-1) !important;
  color: var(--orange-1) !important;
}
.btn-outline-primary:hover {
  background: linear-gradient(135deg, var(--orange-1), var(--orange-2)) !important;
  color: #fff !important;
}

/* Links + highlights */
a, .text-primary, .menu .menu-title, .text-hover-primary:hover {
  color: var(--accent) !important;
}
a:hover { text-decoration: underline; }

/* Inputs */
.form-control, .form-select {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: var(--text-strong) !important;
}
.form-control::placeholder { color: var(--text-muted) !important; }
.form-control:focus, .form-select:focus {
  border-color: var(--orange-1) !important;
  box-shadow: 0 0 0 0.25rem rgba(255, 106, 0, 0.15) !important;
}

/* Checkboxes & radios */
.form-check-input:checked {
  background-color: var(--orange-1) !important;
  border-color: var(--orange-1) !important;
}
.form-check-input:focus {
  border-color: var(--orange-1) !important;
  box-shadow: 0 0 0 0.2rem rgba(255,106,0,0.2) !important;
}

/* Sidebar tweaks */
.app-sidebar .menu .menu-item .menu-link.active,
.app-sidebar .menu .menu-item .menu-link:hover {
  background: linear-gradient(135deg, rgba(255,106,0,0.25), rgba(255,61,0,0.15));
}
.app-sidebar .menu .menu-item .menu-link .menu-title {
  color: #fff !important;
}
.app-sidebar .menu .menu-item .menu-link.active {
  position: relative;
}
.app-sidebar .menu .menu-item .menu-link.active::before {
  content: "";
  position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px;
  background: linear-gradient(180deg, var(--orange-1), var(--orange-2));
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(255,106,0,0.6);
}

/* Header/Toolbar text */
.app-header, .app-toolbar {
  color: var(--text-strong);
}

/* Badges, pills */
.badge-primary, .badge.badge-primary {
  background: linear-gradient(135deg, var(--orange-1), var(--orange-2));
}

/* Modals */
.modal-content {
  background: var(--glass-bg);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  border: 1px solid var(--glass-border);
}
.modal-backdrop.show { background: #000; opacity: .55; }

/* DataTables header/footer */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  background: rgba(255,255,255,0.05) !important;
  color: var(--text-strong) !important;
}
.dataTables_wrapper .dataTables_filter label, .dataTables_wrapper .dataTables_length label { color: var(--text-muted); }
.dataTables_wrapper .dataTables_info { color: var(--text-muted); }
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: linear-gradient(135deg, rgba(255,106,0,0.3), rgba(255,61,0,0.2)) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
}
.dataTables_wrapper .dt-buttons .btn { background: rgba(255,255,255,0.06) !important; color: var(--text-strong) !important; border: 1px solid rgba(255,255,255,0.12) !important; }
.dataTables_wrapper .dt-buttons .btn:hover { background: rgba(255,255,255,0.12) !important; }

/* Form labels and helper text */
.form-label { color: var(--text-strong) !important; }
.form-text { color: var(--text-muted) !important; }

/* Login page specific fine-tuning */
#kt_body.app-blank .d-flex.flex-lg-row-fluid.w-lg-50.p-10.order-2.order-lg-1 {
  background: transparent !important;
}

/* Small glow dividers */
.separator, hr { border-color: rgba(255,255,255,0.08) !important; }

/* Toasts / alerts */
.alert-success { background: rgba(46, 160, 67, 0.15); border-color: rgba(46, 160, 67, 0.35); color: #b6f0c2; }
.alert-danger { background: rgba(244, 67, 54, 0.12); border-color: rgba(244, 67, 54, 0.35); color: #ffb3ad; }
.alert-info { background: rgba(2, 136, 209, 0.12); border-color: rgba(2, 136, 209, 0.35); color: #b3e5fc; }

/* Widgets (generic) */
#kt_app_content_container .card .card-header .card-title { color: var(--text-strong) !important; }
#kt_app_content_container .card .card-header .card-toolbar .btn { opacity: 0.95; }

/* Breadcrumbs & page titles */
.breadcrumb .breadcrumb-item a { color: var(--text-muted) !important; }
.breadcrumb .breadcrumb-item.active { color: var(--accent) !important; }
.page-title .page-heading, .page-title h1, h1, h2, h3, h4, h5 { color: var(--text-strong); }

/* Scrollbar styling */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,0.04); }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(255,106,0,0.65), rgba(255,61,0,0.65)); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, rgba(255,106,0,0.85), rgba(255,61,0,0.85)); }

/* SweetAlert2 (Swal) */
.swal2-popup { background: var(--glass-bg) !important; color: var(--text-strong) !important; border: 1px solid var(--glass-border) !important; backdrop-filter: blur(10px) saturate(120%) !important; }
.swal2-title { color: var(--text-strong) !important; }
.swal2-html-container { color: var(--text-muted) !important; }
.swal2-confirm { background: linear-gradient(135deg, var(--orange-1), var(--orange-2)) !important; border: none !important; }
.swal2-cancel { background: rgba(255,255,255,0.08) !important; color: var(--text-strong) !important; border: 1px solid rgba(255,255,255,0.12) !important; }

/* Tables zebra for readability */
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: rgba(255,255,255,0.02); color: var(--text-strong); }
