/**
 * HT ERP Enterprise Theme - Third-party Plugin Overrides
 * ------------------------------------------------------------------
 * این فایل کلاس‌های رسمی کتابخانه‌های جانبی را بدون تغییر سورس اصلی
 * بازطراحی می‌کند: DataTables, Select2, Persian Datepicker, Timepicker,
 * jQuery UI, Bootstrap Tagsinput و TinyMCE.
 */

/* ================================================================
   DataTables 2.x + Bootstrap 5 Integration
   ================================================================ */
div.dt-container {
  color: var(--ht-text-muted) !important;
}

div.dt-container .dt-search input,
div.dt-container .dt-length select {
  color: var(--ht-text) !important;
  background-color: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: 10px !important;
  min-height: 40px;
}

div.dt-container .dt-info,
div.dt-container .dt-length,
div.dt-container .dt-search {
  color: var(--ht-text-muted) !important;
  font-size: .86rem;
}

table.dataTable > thead > tr > th,
table.dataTable > thead > tr > td {
  color: var(--ht-text-soft) !important;
  background: color-mix(in srgb, var(--ht-surface-3) 68%, transparent) !important;
  border-bottom: 1px solid var(--ht-border-strong) !important;
  white-space: nowrap;
}

table.dataTable tbody tr {
  background-color: transparent !important;
}

table.dataTable tbody td {
  border-color: var(--ht-border) !important;
}

.dt-buttons .btn {
  min-height: 38px;
  color: var(--ht-text-soft) !important;
  background: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
}

.dt-buttons .btn:hover {
  color: #fff !important;
  background: var(--ht-primary) !important;
  border-color: var(--ht-primary) !important;
}

/* ================================================================
   Select2 4.1
   ================================================================ */
.select2-container {
  width: 100% !important;
  direction: rtl;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  min-height: 46px !important;
  color: var(--ht-text) !important;
  background: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: var(--ht-radius-sm) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--ht-text) !important;
  line-height: 44px !important;
  padding-right: 14px !important;
  padding-left: 38px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  left: 8px !important;
  right: auto !important;
}

.select2-dropdown {
  color: var(--ht-text) !important;
  background: var(--ht-surface-1) !important;
  border: 1px solid var(--ht-border-strong) !important;
  border-radius: 12px !important;
  box-shadow: var(--ht-shadow-md);
  overflow: hidden;
}

.select2-search--dropdown .select2-search__field {
  color: var(--ht-text) !important;
  background: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: 9px;
}

.select2-container--default .select2-results__option--selected {
  background-color: var(--ht-surface-3) !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--ht-primary) !important;
}

/* ================================================================
   Persian Datepicker 1.2
   ================================================================ */
.datepicker-container,
.datepicker-plot-area {
  font-family: var(--ht-font-family) !important;
  color: var(--ht-text) !important;
  background: var(--ht-surface-1) !important;
  border: 1px solid var(--ht-border-strong) !important;
  border-radius: var(--ht-radius-md) !important;
  box-shadow: var(--ht-shadow-md) !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td span,
.datepicker-plot-area .datepicker-year-view .year-item,
.datepicker-plot-area .datepicker-month-view .month-item {
  color: var(--ht-text-soft) !important;
  border-radius: 8px !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td span:hover,
.datepicker-plot-area .datepicker-year-view .year-item:hover,
.datepicker-plot-area .datepicker-month-view .month-item:hover {
  color: #fff !important;
  background: var(--ht-primary) !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td.selected span,
.datepicker-plot-area .datepicker-year-view .year-item.selected,
.datepicker-plot-area .datepicker-month-view .month-item.selected {
  color: #fff !important;
  background: var(--ht-primary) !important;
  text-shadow: none !important;
}

/* ================================================================
   jQuery Timepicker 1.14
   ================================================================ */
.ui-timepicker-wrapper {
  font-family: var(--ht-font-family) !important;
  color: var(--ht-text) !important;
  background: var(--ht-surface-1) !important;
  border: 1px solid var(--ht-border-strong) !important;
  border-radius: 12px !important;
  box-shadow: var(--ht-shadow-md) !important;
  direction: rtl;
}

.ui-timepicker-list li {
  color: var(--ht-text-soft) !important;
  padding: 8px 12px !important;
}

.ui-timepicker-list li:hover,
.ui-timepicker-list .ui-timepicker-selected {
  color: #fff !important;
  background: var(--ht-primary) !important;
}

/* ================================================================
   jQuery UI 1.14
   ================================================================ */
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: var(--ht-font-family) !important;
}

.ui-widget-content {
  color: var(--ht-text) !important;
  background: var(--ht-surface-1) !important;
  border-color: var(--ht-border) !important;
}

.ui-state-default,
.ui-widget-content .ui-state-default {
  color: var(--ht-text-soft) !important;
  background: var(--ht-surface-2) !important;
  border-color: var(--ht-border) !important;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
  color: #fff !important;
  background: var(--ht-primary) !important;
  border-color: var(--ht-primary) !important;
}

/* ================================================================
   Bootstrap Tagsinput 0.8
   ================================================================ */
.bootstrap-tagsinput {
  width: 100% !important;
  min-height: 46px !important;
  color: var(--ht-text) !important;
  background: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: var(--ht-radius-sm) !important;
  box-shadow: none !important;
  padding: 7px 10px !important;
}

.bootstrap-tagsinput .tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #fff !important;
  background: var(--ht-primary) !important;
  border-radius: 999px;
  padding: 5px 9px;
  margin: 2px;
}

/* ================================================================
   TinyMCE 7.x visual bridge
   ================================================================ */
.tox-tinymce,
.tox .tox-edit-area__iframe,
.tox .tox-toolbar-overlord,
.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-menubar,
.tox .tox-statusbar {
  background-color: var(--ht-surface-1) !important;
  border-color: var(--ht-border) !important;
}

.tox-tinymce {
  border: 1px solid var(--ht-border) !important;
  border-radius: var(--ht-radius-md) !important;
  overflow: hidden;
}

.tox .tox-tbtn,
.tox .tox-mbtn,
.tox .tox-statusbar__path-item,
.tox .tox-statusbar__wordcount {
  color: var(--ht-text-soft) !important;
}

.tox .tox-tbtn:hover,
.tox .tox-tbtn--enabled,
.tox .tox-mbtn:hover {
  background: var(--ht-surface-3) !important;
}

/* ==================================================================
   Persian Datepicker dark/day bridge v1.2
   ------------------------------------------------------------------
   Persian Datepicker appends its popup to body and ships hard-coded white
   cells. These selectors override official plugin classes in project CSS.
   ================================================================== */
.datepicker-container,
.datepicker-plot-area,
.datepicker-plot-area * {
  box-sizing: border-box !important;
}

.datepicker-container,
.datepicker-plot-area {
  color-scheme: dark !important;
  color: var(--ht-text) !important;
  background-color: var(--ht-surface-1) !important;
  background-image: none !important;
  border-color: var(--ht-border-strong) !important;
}

html[data-theme="light"] .datepicker-container,
html[data-theme="light"] .datepicker-plot-area {
  color-scheme: light !important;
}

.datepicker-plot-area .datepicker-navigator,
.datepicker-plot-area .datepicker-toolbox,
.datepicker-plot-area .datepicker-day-view,
.datepicker-plot-area .datepicker-month-view,
.datepicker-plot-area .datepicker-year-view,
.datepicker-plot-area .month-grid-box,
.datepicker-plot-area .year-grid-box,
.datepicker-plot-area .table-days,
.datepicker-plot-area table,
.datepicker-plot-area thead,
.datepicker-plot-area tbody,
.datepicker-plot-area tr,
.datepicker-plot-area th,
.datepicker-plot-area td {
  color: var(--ht-text-soft) !important;
  background: transparent !important;
  background-color: transparent !important;
  border-color: var(--ht-border) !important;
  box-shadow: none !important;
}

.datepicker-plot-area .datepicker-navigator .pwt-btn,
.datepicker-plot-area .datepicker-toolbox .pwt-btn,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next,
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev,
.datepicker-plot-area .datepicker-navigator .pwt-btn-switch,
.datepicker-plot-area .toolbox .pwt-btn-today {
  color: var(--ht-text-soft) !important;
  background: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: 8px !important;
  text-shadow: none !important;
}

.datepicker-plot-area .datepicker-navigator .pwt-btn:hover,
.datepicker-plot-area .datepicker-toolbox .pwt-btn:hover {
  color: #fff !important;
  background: var(--ht-primary) !important;
  border-color: var(--ht-primary) !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td span,
.datepicker-plot-area .datepicker-day-view .table-days td:not(.selected) span,
.datepicker-plot-area .datepicker-day-view .table-days td:not(.today) span,
.datepicker-plot-area .datepicker-month-view .month-item,
.datepicker-plot-area .datepicker-year-view .year-item {
  color: var(--ht-text-soft) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td span:hover,
.datepicker-plot-area .datepicker-month-view .month-item:hover,
.datepicker-plot-area .datepicker-year-view .year-item:hover {
  color: var(--ht-text) !important;
  background: var(--ht-surface-3) !important;
  border-color: var(--ht-border-strong) !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td.today span {
  color: var(--ht-cyan) !important;
  background: rgba(var(--ht-cyan-rgb), .09) !important;
  border-color: rgba(var(--ht-cyan-rgb), .35) !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td.selected span,
.datepicker-plot-area .datepicker-day-view .table-days td span.selected,
.datepicker-plot-area .datepicker-month-view .month-item.selected,
.datepicker-plot-area .datepicker-year-view .year-item.selected {
  color: #fff !important;
  background: var(--ht-primary) !important;
  border-color: var(--ht-primary) !important;
  box-shadow: 0 0 18px rgba(var(--ht-primary-rgb), .22) !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td.disabled span,
.datepicker-plot-area .datepicker-day-view .table-days td.other-month span {
  color: var(--ht-text-muted) !important;
  background: transparent !important;
  opacity: .35 !important;
}

.datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row-cell,
.datepicker-plot-area .datepicker-day-view .table-days thead th {
  color: var(--ht-text-muted) !important;
  background: transparent !important;
  font-weight: 700 !important;
}

.datepicker-container,
.datepicker-plot-area {
  z-index: 1100 !important;
  width: min(310px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  overflow: hidden !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td,
.datepicker-plot-area .datepicker-day-view .table-days th {
  width: 14.285% !important;
  min-width: 0 !important;
  padding: 2px !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td span {
  width: 32px !important;
  max-width: 100% !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  margin-inline: auto !important;
}
