/**
 * FORTH-EM Theme Overrides — Phase 1–2
 * Loads after main.min.css
 */

/* ---- Base ---- */
body {
  background-color: var(--em-bg-page);
  color: var(--em-text);
}

a {
  color: var(--em-primary-600);
}

a:focus,
a:hover {
  color: var(--em-primary-400);
}

.page-content.fade-in-up {
  background-color: transparent;
}

/* ---- Header A: white bar + blue brand strip ---- */
.header {
  background-color: var(--em-bg-surface) !important;
  box-shadow: var(--em-shadow-sm) !important;
  border-bottom: 1px solid var(--em-border);
}

.header .page-brand {
  color: #fff !important;
  background-color: var(--em-primary-700) !important;
}

.header .page-brand a,
.header .page-brand .link {
  color: #fff !important;
}

.header .navbar-toolbar > li > a,
.header .navbar-toolbar > li > a:hover,
.header .navbar-toolbar > li > a:focus {
  color: var(--em-text) !important;
}

.header .sidebar-toggler {
  color: var(--em-text-muted) !important;
}

.header .dropdown-user > a.dropdown-toggle {
  color: var(--em-text) !important;
}

/* ---- Sidebar A: navy dark ---- */
.page-sidebar {
  background-color: var(--em-primary-900) !important;
}

.page-sidebar .admin-block .admin-info {
  color: #fff;
}

.page-sidebar .admin-block .admin-info small {
  color: var(--em-sidebar-text);
}

.side-menu .heading {
  color: var(--em-sidebar-text-muted);
}

.side-menu > li a {
  color: var(--em-sidebar-text);
}

.side-menu > li a:hover,
.side-menu > li a:focus {
  color: #fff;
  background-color: var(--em-primary-800) !important;
}

.side-menu > li.active {
  background-color: var(--em-primary-800) !important;
}

.side-menu > li.active > a,
.side-menu > li.active > a:hover,
.side-menu > li.active > a:focus {
  color: #fff !important;
  background-color: var(--em-primary-600) !important;
}

.side-menu li a.active {
  color: #fff !important;
}

.sidebar-mini .side-menu > li:hover > a {
  background-color: var(--em-primary-600) !important;
  color: #fff !important;
}

.sidebar-mini .side-menu > li:hover .nav-2-level {
  background-color: var(--em-primary-900) !important;
}

/* ---- Buttons ---- */
.btn-primary {
  color: #fff !important;
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-700) !important;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-primary:hover,
.btn-primary.active,
.btn-primary:active {
  color: #fff !important;
  background-color: var(--em-primary-500) !important;
  border-color: var(--em-primary-600) !important;
}

.btn-outline-primary {
  color: var(--em-primary-600) !important;
  border-color: var(--em-primary-600) !important;
}

.btn-outline-primary:focus,
.btn-outline-primary:hover,
.btn-outline-primary.active,
.btn-outline-primary:active {
  color: #fff !important;
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-600) !important;
}

.btn-info {
  color: #fff !important;
  background-color: var(--em-info) !important;
  border-color: #0e7490 !important;
}

.btn-info:focus,
.btn-info:hover,
.btn-info.active,
.btn-info:active {
  color: #fff !important;
  background-color: #0e7490 !important;
  border-color: #0e7490 !important;
}

.btn-outline-info {
  color: var(--em-info) !important;
  border-color: var(--em-info) !important;
}

.btn-outline-info:focus,
.btn-outline-info:hover,
.btn-outline-info.active,
.btn-outline-info:active {
  color: #fff !important;
  background-color: var(--em-info) !important;
  border-color: var(--em-info) !important;
}

/* Login helpers */
.btn-em-primary {
  color: #fff !important;
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-700) !important;
}

.btn-em-primary:hover,
.btn-em-primary:focus {
  color: #fff !important;
  background-color: var(--em-primary-500) !important;
  border-color: var(--em-primary-600) !important;
}

.btn-em-secondary {
  color: var(--em-text) !important;
  background-color: var(--em-bg-surface) !important;
  border-color: var(--em-border) !important;
}

.btn-em-secondary:hover,
.btn-em-secondary:focus {
  color: var(--em-primary-700) !important;
  background-color: var(--em-primary-50) !important;
  border-color: var(--em-primary-400) !important;
}

/* ---- Tabs ---- */
.nav-tabs .nav-link {
  color: var(--em-text-muted);
}

.nav-tabs .nav-link:hover {
  color: var(--em-primary-600);
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--em-primary-700) !important;
  border-color: var(--em-border) var(--em-border) var(--em-bg-surface) !important;
  border-bottom: 2px solid var(--em-primary-600) !important;
  font-weight: 600;
}

/* ---- Ibox / Cards ---- */
.ibox {
  box-shadow: var(--em-shadow-sm);
  border: 1px solid var(--em-border);
}

.ibox-primary .ibox-head {
  background-color: var(--em-primary-600) !important;
}

.ibox-info .ibox-head {
  background-color: var(--em-info) !important;
}

/* ---- Badges ---- */
.badge-primary {
  background-color: var(--em-primary-600) !important;
}

.badge-info {
  background-color: var(--em-info) !important;
}

/* ---- Alerts ---- */
.alert-info {
  color: var(--em-primary-700);
  background-color: var(--em-primary-50);
  border-color: var(--em-primary-100);
}

/* ---- Forms ---- */
.form-control:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--em-primary-500) !important;
  box-shadow: var(--em-focus-ring) !important;
}

/* ---- DataTables ---- */
.page-item.active .page-link {
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-600) !important;
}

.page-link {
  color: var(--em-primary-600);
}

.page-link:hover {
  color: var(--em-primary-700);
}

table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
  color: var(--em-primary-700);
}

/* ---- Pagination (legacy) ---- */
.pagination .page-item.active > .page-link {
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-600) !important;
}

/* ---- Login A ---- */
body.em-auth-page {
  background-color: var(--em-bg-page) !important;
}

.em-auth-page .brand a {
  color: var(--em-primary-700) !important;
  text-shadow: none !important;
  font-weight: 600;
}

.em-auth-page .content form {
  border: 1px solid var(--em-border);
  border-radius: 6px;
  box-shadow: var(--em-shadow-md);
}

.em-auth-page .login-img {
  border-color: var(--em-primary-400);
  color: var(--em-primary-600);
}

.em-auth-page .auth-divider {
  color: var(--em-text-muted);
}

/* ---- Footer / misc ---- */
.preloader-backdrop .page-preloader::before {
  border-top-color: var(--em-primary-600);
}

.to-top {
  background-color: var(--em-primary-700);
  border-color: var(--em-primary-700);
}

.to-top:hover {
  background-color: var(--em-primary-600);
  border-color: var(--em-primary-600);
}

.text-primary {
  color: var(--em-primary-600) !important;
}

.bg-primary {
  background-color: var(--em-primary-600) !important;
}

.fc-event {
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-700) !important;
}

/* ---- Semantic status badges ---- */
.em-badge {
  display: inline-block;
  min-width: 88px;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.01em;
  border: 1px solid transparent;
}

.em-badge--opening {
  color: #1e40af;
  background-color: #dbeafe;
  border-color: #93c5fd;
}

.em-badge--completed {
  color: #065f46;
  background-color: #d1fae5;
  border-color: #6ee7b7;
}

.em-badge--pending {
  color: #92400e;
  background-color: #fef3c7;
  border-color: #fcd34d;
}

.em-badge--cancel {
  color: #991b1b;
  background-color: #fee2e2;
  border-color: #fca5a5;
}

.em-badge--payment {
  color: #0e7490;
  background-color: #cffafe;
  border-color: #67e8f9;
}

.em-badge--neutral {
  color: var(--em-text-muted);
  background-color: #f1f5f9;
  border-color: var(--em-border);
}

/* ---- Dashboard / action buttons ---- */
.btn-em-outline {
  color: var(--em-primary-700) !important;
  background-color: #fff !important;
  border: 1px solid var(--em-primary-600) !important;
}

.btn-em-outline:hover,
.btn-em-outline:focus {
  color: #fff !important;
  background-color: var(--em-primary-600) !important;
  border-color: var(--em-primary-600) !important;
}

.btn-outline-info {
  color: var(--em-info) !important;
  border-color: var(--em-info) !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus {
  color: #fff !important;
  background-color: var(--em-info) !important;
}

.btn-outline-warning {
  color: var(--em-warning) !important;
  border-color: var(--em-warning) !important;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus {
  color: #fff !important;
  background-color: var(--em-warning) !important;
}

.btn-outline-danger {
  color: var(--em-danger) !important;
  border-color: var(--em-danger) !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
  color: #fff !important;
  background-color: var(--em-danger) !important;
}

/* ---- Profile avatar fallback ---- */
.em-avatar {
  object-fit: cover;
  background-color: var(--em-primary-50);
  border: 1px solid var(--em-border);
}

.em-avatar--header {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-right: 8px;
}

.em-avatar--sidebar {
  border-radius: 50%;
}

.em-avatar[src*="admin-avatar"],
.em-avatar[data-fallback-applied="1"] {
  background-color: var(--em-primary-100);
  padding: 2px;
}
