/**
 * Elegant Formal Theme – Back Office
 * Refined, professional design for the entire back-end system.
 * Load after style.css and all.css.
 */

/* ========== CSS Variables (elegant palette) ========== */
:root {
  --elegant-sidebar-bg: #1e293b;
  --elegant-sidebar-hover: #334155;
  --elegant-sidebar-active: #0f172a;
  --elegant-sidebar-text: #cbd5e1;
  --elegant-sidebar-text-active: #f8fafc;
  --elegant-accent: #0d9488;
  --elegant-accent-hover: #0f766e;
  --elegant-accent-light: rgba(13, 148, 136, 0.12);
  --elegant-surface: #f8fafc;
  --elegant-card-bg: #ffffff;
  --elegant-card-border: #e2e8f0;
  --elegant-text: #334155;
  --elegant-text-muted: #64748b;
  --elegant-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --elegant-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.06);
  --elegant-shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.06);
  --elegant-radius: 8px;
  --elegant-radius-lg: 12px;
  --elegant-radius-btn: 6px;
}

/* ========== Base ========== */
body {
  background-color: var(--elegant-surface) !important;
  color: var(--elegant-text) !important;
  font-size: 0.9375rem;
  line-height: 1.5;
}

/* ========== Sidebar / Nav – Elegant menu design ========== */
.nav-bar-holder {
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
  box-shadow: 4px 0 28px rgba(0, 0, 0, 0.18) !important;
  width: 64px !important;
  border-inline-end: 1px solid rgba(255, 255, 255, 0.06);
}

body[dir="ltr"] .nav-bar-holder {
  border-radius: 0 12px 12px 0;
}

body[dir="rtl"] .nav-bar-holder {
  border-radius: 12px 0 0 12px;
}

body.active_nav .nav-bar-holder {
  width: 272px !important;
}

/* Nav inner wrapper – scrollable list */
.nav-bar-x .main-nav {
  padding: 8px 0 24px !important;
  height: calc(100% - 56px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.main-nav {
  padding: 8px 0 24px !important;
  margin: 0 !important;
  list-style: none !important;
}

.main-nav > li {
  margin: 0 6px 4px !important;
  border-radius: var(--elegant-radius) !important;
  overflow: hidden;
}

/* Collapsed: icon-only, centered */
body.disable_nav .main-nav > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 0 !important;
  margin: 0 8px 6px !important;
  border-radius: 10px !important;
}

body.disable_nav .main-nav > li > a i {
  margin: 0 !important;
}

body.disable_nav .main-nav > li > a span {
  display: none !important;
}

body.disable_nav .main-nav > li > a:hover {
  background: var(--elegant-sidebar-hover) !important;
  color: var(--elegant-sidebar-text-active) !important;
}

body.disable_nav .main-nav > li[active] > a,
body.disable_nav li.nodrop-down[active] > a {
  background: var(--elegant-accent) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.4);
}

body.disable_nav .main-nav > li[active] > a i {
  color: #fff !important;
}

/* Expanded: full label + icon */
body.active_nav .main-nav > li > a span {
  display: inline-block !important;
  vertical-align: middle !important;
}

.main-nav > li > a {
  color: var(--elegant-sidebar-text) !important;
  padding: 12px 16px !important;
  font-size: 0.875rem !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  border-radius: var(--elegant-radius) !important;
  margin: 0 6px 4px !important;
  transition: background 0.2s ease, color 0.2s ease;
  position: relative !important;
  display: block !important;
}

.main-nav > li > a i {
  color: var(--elegant-sidebar-text) !important;
  font-size: 1.125rem !important;
  margin-inline-end: 14px !important;
  opacity: 0.95;
  transition: opacity 0.2s ease;
  width: 24px;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
}

.main-nav > li > a:hover {
  background: var(--elegant-sidebar-hover) !important;
  color: var(--elegant-sidebar-text-active) !important;
}

.main-nav > li > a:hover i {
  color: var(--elegant-sidebar-text-active) !important;
  opacity: 1;
}

.main-nav > li > a.active,
.main-nav > li[active] > a,
li.nodrop-down[active] > a {
  background: var(--elegant-sidebar-active) !important;
  color: var(--elegant-sidebar-text-active) !important;
  border-inline-start: 3px solid var(--elegant-accent) !important;
  padding-inline-start: 13px !important;
}

.main-nav > li > a.active i,
.main-nav > li > a.active span,
.main-nav > li[active] > a i,
.main-nav > li[active] > a span {
  color: var(--elegant-sidebar-text-active) !important;
}

/* Dropdown arrow (chevron) */
.main-nav > li > a > b {
  color: var(--elegant-sidebar-text) !important;
  opacity: 0.8;
  font-size: 0.7rem !important;
  transition: transform 0.2s ease;
}

.main-nav > li.openned > a > b {
  transform: rotate(180deg);
}

.main-nav > li[active] > a > b,
.main-nav > li > a.active > b {
  color: var(--elegant-sidebar-text-active) !important;
}

/* Menu notification badge */
.main-nav span.lefters_nots {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  min-width: 22px !important;
  height: 22px !important;
  line-height: 22px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  border-radius: 11px !important;
  box-shadow: 0 2px 6px rgba(185, 28, 28, 0.4);
  top: 50% !important;
  transform: translateY(-50%);
  inset-inline-start: auto !important;
  inset-inline-end: 10px;
  padding: 0 6px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.disable_nav .main-nav span.lefters_nots {
  inset-inline-end: 50%;
  transform: translate(50%, -50%);
  top: 4px;
}

/* Dropdown submenu */
ul.drop-down {
  background: rgba(15, 23, 42, 0.95) !important;
  padding: 8px 0 12px !important;
  border-radius: 0 0 var(--elegant-radius) var(--elegant-radius) !important;
  border: none !important;
  margin: 0 6px 8px !important;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}

body[dir="ltr"] ul.drop-down {
  border-left: none !important;
  margin-left: 6px !important;
}

body[dir="rtl"] ul.drop-down {
  border-right: none !important;
  margin-right: 6px !important;
}

ul.drop-down > li > a {
  color: var(--elegant-sidebar-text) !important;
  padding: 10px 16px 10px 48px !important;
  font-size: 0.8125rem !important;
  border-radius: 6px !important;
  margin: 0 8px 2px !important;
  transition: background 0.15s ease, color 0.15s ease;
}

body[dir="rtl"] ul.drop-down > li > a {
  padding: 10px 48px 10px 16px !important;
}

ul.drop-down > li > a i {
  margin-inline-end: 10px !important;
  font-size: 0.95rem !important;
}

ul.drop-down > li > a:hover {
  background: var(--elegant-sidebar-hover) !important;
  color: var(--elegant-sidebar-text-active) !important;
}

ul.drop-down > li[active] > a {
  background: var(--elegant-sidebar-hover) !important;
  color: var(--elegant-sidebar-text-active) !important;
}

/* Toggle nav button – hamburger / expand */
.topper-nave-togle-cc {
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 4px;
}

.topper-nave-togle-cc > button {
  background: transparent !important;
  color: var(--elegant-sidebar-text) !important;
  padding: 12px 16px !important;
  border-radius: var(--elegant-radius) !important;
  margin: 0 8px !important;
  width: calc(100% - 16px);
  transition: background 0.2s ease, color 0.2s ease;
}

.topper-nave-togle-cc > button:hover {
  background: var(--elegant-sidebar-hover) !important;
  color: var(--elegant-sidebar-text-active) !important;
}

body.disable_nav .topper-nave-togle-cc > button {
  padding: 14px !important;
  margin: 0 8px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Content area margin to match new sidebar width */
body[dir="ltr"].active_nav .main-content-holder {
  margin-left: 272px !important;
}

body[dir="rtl"].active_nav .main-content-holder {
  margin-right: 272px !important;
}

body[dir="ltr"].disable_nav .main-content-holder {
  margin-left: 64px !important;
}

body[dir="rtl"].disable_nav .main-content-holder {
  margin-right: 64px !important;
}

/* ========== Top bar ========== */
.fixed-bar-topper {
  background: var(--elegant-card-bg) !important;
  box-shadow: var(--elegant-shadow) !important;
  padding: 10px 20px !important;
  border-bottom: 1px solid var(--elegant-card-border);
}

/* Top bar buttons – elegant pill style */
.fixed-bar-topper .btn,
.fixed-bar-topper .topper-buttons {
  border-radius: var(--elegant-radius-btn) !important;
  padding: 8px 14px !important;
  font-size: 0.8125rem !important;
  font-weight: 500;
  border: 1px solid transparent !important;
  transition: all 0.2s ease;
}

.fixed-bar-topper .btn-primary,
.fixed-bar-topper .topper-buttons.btn-primary {
  background: var(--elegant-accent) !important;
  color: #fff !important;
  border-color: var(--elegant-accent) !important;
}

.fixed-bar-topper .btn-primary:hover {
  background: var(--elegant-accent-hover) !important;
  border-color: var(--elegant-accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: var(--elegant-shadow);
}

.fixed-bar-topper .btn-secondary,
.fixed-bar-topper .topper-buttons.btn-secondary {
  background: var(--elegant-surface) !important;
  color: var(--elegant-text) !important;
  border-color: var(--elegant-card-border) !important;
}

.fixed-bar-topper .btn-secondary:hover {
  background: var(--elegant-card-border) !important;
}

.fixed-bar-topper .btn-outline-secondary {
  background: transparent !important;
  color: var(--elegant-text-muted) !important;
  border-color: var(--elegant-card-border) !important;
}

.fixed-bar-topper .btn-outline-secondary:hover {
  background: var(--elegant-accent-light) !important;
  color: var(--elegant-accent) !important;
  border-color: var(--elegant-accent) !important;
}

.fixed-bar-topper .btn-info {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid #bae6fd !important;
}

/* ========== Buttons (global) ========== */
.btn {
  border-radius: var(--elegant-radius-btn) !important;
  padding: 8px 16px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  border: 1px solid transparent !important;
  transition: all 0.2s ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--elegant-shadow-sm);
}

.btn:active {
  transform: translateY(0);
}

.btn-primary {
  background: var(--elegant-accent) !important;
  border-color: var(--elegant-accent) !important;
  color: #fff !important;
}

.btn-primary:hover {
  background: var(--elegant-accent-hover) !important;
  border-color: var(--elegant-accent-hover) !important;
  color: #fff !important;
}

.btn-secondary {
  background: #64748b !important;
  border-color: #64748b !important;
  color: #fff !important;
}

.btn-secondary:hover {
  background: #475569 !important;
  border-color: #475569 !important;
  color: #fff !important;
}

.btn-success {
  background: #059669 !important;
  border-color: #059669 !important;
}

.btn-danger {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
}

.btn-danger:hover {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
}

.btn-warning {
  background: #d97706 !important;
  border-color: #d97706 !important;
  color: #fff !important;
}

.btn-info {
  background: #0891b2 !important;
  border-color: #0891b2 !important;
}

.btn-dark {
  background: #1e293b !important;
  border-color: #1e293b !important;
}

.btn-sm {
  padding: 6px 12px !important;
  font-size: 0.8125rem !important;
}

/* ========== Cards ========== */
.card {
  background: var(--elegant-card-bg) !important;
  border: 1px solid var(--elegant-card-border) !important;
  border-radius: var(--elegant-radius-lg) !important;
  box-shadow: var(--elegant-shadow-sm) !important;
  overflow: hidden;
}

.card-header {
  background: var(--elegant-card-bg) !important;
  border-bottom: 1px solid var(--elegant-card-border) !important;
  padding: 16px 20px !important;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  color: var(--elegant-text) !important;
  letter-spacing: 0.01em;
}

.card-body {
  padding: 20px !important;
}

/* ========== Tables ========== */
.table,
.table.datatabels,
.datatabels {
  border-collapse: separate;
  border-spacing: 0;
}

.table thead th,
.table thead td,
.datatabels thead th,
.datatabels thead td {
  background: var(--elegant-surface) !important;
  color: var(--elegant-text) !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  text-transform: none;
  letter-spacing: 0.02em;
  padding: 14px 16px !important;
  border-bottom: 2px solid var(--elegant-card-border) !important;
  border-top: none !important;
}

.table tbody td,
.datatabels tbody td {
  padding: 12px 16px !important;
  font-size: 0.875rem !important;
  border-color: var(--elegant-card-border) !important;
  vertical-align: middle !important;
}

.table-bordered,
.datatabels.table-bordered {
  border: 1px solid var(--elegant-card-border) !important;
  border-radius: var(--elegant-radius) !important;
  overflow: hidden;
}

.table-bordered thead th,
.table-bordered thead td {
  border: none !important;
  border-bottom: 2px solid var(--elegant-card-border) !important;
}

.table-bordered tbody tr {
  transition: background 0.15s ease;
}

.table-bordered tbody tr:hover {
  background: var(--elegant-surface) !important;
}

.table-bordered tbody tr:nth-child(even) {
  background: rgba(248, 250, 252, 0.7);
}

.table-bordered tbody tr:nth-child(even):hover {
  background: var(--elegant-surface) !important;
}

/* DataTables wrapper */
.dataTables_wrapper {
  padding: 0 !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
  margin-bottom: 16px !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  border-radius: var(--elegant-radius-btn) !important;
  border: 1px solid var(--elegant-card-border) !important;
  padding: 6px 10px !important;
}

/* ========== Forms ========== */
.form-control,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select.form-control,
textarea.form-control {
  border-radius: var(--elegant-radius-btn) !important;
  border: 1px solid var(--elegant-card-border) !important;
  padding: 10px 14px !important;
  font-size: 0.875rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--elegant-accent) !important;
  box-shadow: 0 0 0 3px var(--elegant-accent-light) !important;
}

.form-group label,
.form-cnontents label {
  font-weight: 500 !important;
  color: var(--elegant-text) !important;
  margin-bottom: 6px !important;
}

/* ========== Alerts ========== */
.alert {
  border-radius: var(--elegant-radius) !important;
  border: 1px solid transparent !important;
  padding: 14px 18px !important;
}

.alert-success {
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border-color: #a7f3d0 !important;
}

.alert-danger {
  background: #fef2f2 !important;
  color: #991b1b !important;
  border-color: #fecaca !important;
}

.alert-warning {
  background: #fffbeb !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}

.alert-info {
  background: #f0f9ff !important;
  color: #075985 !important;
  border-color: #bae6fd !important;
}

/* ========== Dropdowns (Bootstrap) ========== */
.dropdown-menu {
  border-radius: var(--elegant-radius) !important;
  border: 1px solid var(--elegant-card-border) !important;
  box-shadow: var(--elegant-shadow-lg) !important;
  padding: 6px 0 !important;
}

.dropdown-item {
  padding: 10px 16px !important;
  font-size: 0.875rem !important;
  transition: background 0.15s ease;
}

.dropdown-item:hover {
  background: var(--elegant-surface) !important;
}

.dropdown-item.active {
  background: var(--elegant-accent-light) !important;
  color: var(--elegant-accent) !important;
}

.dropdown-item.text-danger:hover {
  background: #fef2f2 !important;
}

/* ========== Status badges ========== */
.status_span {
  padding: 4px 12px !important;
  border-radius: 20px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
}

.status_s_wating {
  background: #fef3c7 !important;
  color: #92400e !important;
}

.status_s_connected {
  background: #d1fae5 !important;
  color: #065f46 !important;
}

.status_s_done {
  background: #dbeafe !important;
  color: #1e40af !important;
}

.status_s_cancled {
  background: #fee2e2 !important;
  color: #991b1b !important;
}

/* ========== Home / static blocks ========== */
.static-block {
  background: var(--elegant-card-bg) !important;
  border: 1px solid var(--elegant-card-border) !important;
  border-radius: var(--elegant-radius-lg) !important;
  box-shadow: var(--elegant-shadow-sm) !important;
  padding: 20px !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.static-block:hover {
  box-shadow: var(--elegant-shadow) !important;
  transform: translateY(-2px);
}

.static-block b {
  color: var(--elegant-accent) !important;
}

/* ========== Box / content areas ========== */
.box_info_content {
  background: var(--elegant-card-bg) !important;
  border: 1px solid var(--elegant-card-border) !important;
  border-radius: var(--elegant-radius) !important;
  box-shadow: var(--elegant-shadow-sm) !important;
}

.fil-titlest {
  background: var(--elegant-surface) !important;
  border-radius: var(--elegant-radius-btn) !important;
  color: var(--elegant-text) !important;
}

/* ========== Toggle switch ========== */
.toggler > label {
  border-color: var(--elegant-card-border) !important;
  background: var(--elegant-surface) !important;
}

.toggler input:checked + label::after {
  background-color: var(--elegant-accent) !important;
}

/* ========== Upload / action buttons in content ========== */
.uploader > label,
.sc-butt {
  background: var(--elegant-accent) !important;
  border-color: var(--elegant-accent) !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.35) !important;
  border-radius: var(--elegant-radius-btn) !important;
}

.uploader > label:hover,
.sc-butt:hover {
  background: var(--elegant-accent-hover) !important;
  border-color: var(--elegant-accent-hover) !important;
}

/* ========== Main content area ========== */
.main-content-holder {
  padding-top: 72px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-bottom: 40px !important;
}

body[dir="rtl"] .main-content-holder {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ========== Page titles ========== */
h1, h2, h3, h4 {
  color: var(--elegant-text) !important;
  font-weight: 600 !important;
}

h2.box_title_topper {
  color: var(--elegant-text) !important;
  font-size: 1.125rem !important;
}

/* ========== Links ========== */
a:not(.btn):not(.dropdown-item) {
  color: var(--elegant-accent) !important;
  transition: color 0.2s ease;
}

a:not(.btn):not(.dropdown-item):hover {
  color: var(--elegant-accent-hover) !important;
}

/* ========== HR / dividers (menu separator) ========== */
.main-nav hr.spare-menu {
  border: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin: 12px 14px !important;
}

.main-nav > li:has(hr.spare-menu) {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* ========== Print ========== */
@media print {
  .nav-bar-holder,
  .fixed-bar-topper,
  .btn,
  .toggle_mobile {
    display: none !important;
  }
  .main-content-holder {
    margin: 0 !important;
    padding-top: 0 !important;
  }
  .card {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }
}

/* ========== Login page ========== */
.main-login-page {
  background: var(--elegant-surface) !important;
}

.main-login-page .login-box {
  border-radius: var(--elegant-radius-lg) !important;
  box-shadow: var(--elegant-shadow-lg) !important;
  border: 1px solid var(--elegant-card-border);
}

.main-login-page .login-box > .header-login {
  background: var(--elegant-sidebar-bg) !important;
}

.main-login-page .login-box .login-check,
.main-login-page .login-box button[type="submit"] {
  background: var(--elegant-accent) !important;
  border: none !important;
  border-radius: var(--elegant-radius-btn) !important;
  padding: 10px 24px !important;
  font-weight: 500 !important;
  transition: background 0.2s ease;
}

.main-login-page .login-box .login-check:hover,
.main-login-page .login-box button[type="submit"]:hover {
  background: var(--elegant-accent-hover) !important;
}

/* ========== Mobile ========== */
@media all and (max-width: 600px) {
  .main-content-holder {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .fixed-bar-topper .btn,
  .fixed-bar-topper .topper-buttons {
    padding: 6px 10px !important;
    font-size: 0.75rem !important;
  }
}
