/*----------------- Regular Table --------------------------*/

/* Common Table Container */

.el-table {
  max-width: 100%;
  margin-top: 10px;
  overflow-x: auto;
  overflow-y: auto;
  max-height: calc(100vh - 235px);
}

.el-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  line-height: 1.1;
}

.el-table th,
.el-table td {
  padding: 1px 3px;
  text-align: left;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}

.el-table tbody td {
  font-size: 12px;
}

.el-table .table > :not(caption) > * > * {
  padding: 1px 3px;
}

.el-table th {
  background-color: #f1f5f9;
  font-weight: bold;
  font-size: 12px;
}

.el-table.el-table--framed,
.el-table--framed {
  border: 1px solid #e6e9f0;
  border-radius: 12px;
}

.el-table-head th {
  background-color: #f1f5f9;
  font-weight: bold;
  font-size: 12px;
}

.el-table-flat {
  width: max-content;
  min-width: 100%;
  background: #fff;
}

.el-table-flat thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.el-table-flat table tbody tr:last-child td {
  border-bottom: none;
}

 /* Common Table Row Styling */

.el-table-row {
  cursor: pointer;
  height: 36px;
}

.el-table-row td {
  height: 36px;
  line-height: 1;
  padding-top: 1px;
  padding-bottom: 1px;
}

.el-table-actions {
  width: 1%;
  white-space: nowrap;
}

/* on hover: color the cells, mimic “lift” with an inner shadow */
.el-table-flat .table.table-hover tbody tr.el-table-row:hover td {
  background-color: var(--secondary-color) !important;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.06);
}

.profile-rect-img {
  width: var(--el-avatar-size, 24px);
  height: var(--el-avatar-size, 24px);
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid #ddd;
  display: block;
}

.el-table .initials-avatar {
  width: var(--el-avatar-size, 24px) !important;
  height: var(--el-avatar-size, 24px) !important;
  min-width: var(--el-avatar-size, 24px);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  overflow: hidden;
  white-space: nowrap;
}

.initials-rect-img {
  width: var(--el-avatar-size, 24px);
  height: var(--el-avatar-size, 24px);
  background-color: #dee2e6;
  color: #495057;
  font-weight: 600;
  font-size: 12px;
  border-radius: 50%;
  border: 1px solid #ddd;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
}

.small-avatar {
  width: var(--el-avatar-size, 24px);
  height: var(--el-avatar-size, 24px);
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #fff;
  margin-left: -10px;
}

.remaining-count {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #26395e;
  color: #ffffff;
  font-size: 12px;
  width: var(--el-avatar-size, 24px);
  height: var(--el-avatar-size, 24px);
  border-radius: 50%;
  border: 2px solid #ffffff;
  margin-left: -10px;
  padding: 2px 4px;
  box-sizing: border-box;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  text-align: center;
  font-weight: 600;
}

/* Shared Ticket Text */

.el-table-type {
  font-size: 12px;
  line-height: 1.05;
  color: #555;
}

.el-table-subject {
  display: block;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.1;
}

/* Title + inline tag badges on one line (wraps if there are several tags). */
.el-table-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.el-table-number {
  font-size: 12px !important;
  font-weight: 700;
}

.el-table-secondary {
  color: #555 !important;
}


/* Responsive Table */
@media (max-width: 768px) {
  .el-table th,
  .el-table td {
    padding: 5px 6px;
  }

  .el-table .table > :not(caption) > * > * {
    padding: 5px 6px;
  }

  .el-table tbody .el-table-row {
    height: 36px;
  }

  .el-table tbody .el-table-row td,
  .el-table tbody .el-table-row > * {
    height: 36px;
    padding-top: 1px;
    padding-bottom: 1px;
  }
}

/*----------------- table with checkbox --------------------------*/
/* Sticky table header */
.table-wrap thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f1f5f9;
  color: #26395e;
  border-bottom: 1px solid #c3cad9;
}

/* Checkbox column */
.checkbox-col {
  width: 42px;
  min-width: 42px;
  text-align: center;
}

.form-check-input.success {
  border-color: #6b7280;
}

/* Selected ticket row */
.table tbody tr.el-row-selected td {
  background-color: #f4faff !important;
  border-top: 1px solid #d0d3d8;
  border-bottom: 1px solid #d0d3d8;
}

.table tbody tr.el-row-selected td:first-child {
  border-left: 1px solid #d0d3d8;
}

.table tbody tr.el-row-selected td:last-child {
  border-right: 1px solid #d0d3d8;
}

/* Disabled ticket row */
.el-row-disabled {
  opacity: 0.72;
}

.table tbody tr.el-row-disabled td {
  background-color: #e8e8e8 !important;
}

.table.table-hover tbody tr.el-row-disabled:hover td {
  background-color: #e8e8e8 !important;
  box-shadow: none;
}


/*-------------------Dropdown----------------------*/

/* Shared Material tokens for pill-shaped select triggers.
   Component styles continue to control dimensions and border radius. */
.app-dropdown-pill-trigger {
  --mdc-outlined-text-field-outline-color: var(--app-dropdown-pill-border) !important;
  --mdc-outlined-text-field-hover-outline-color: var(--app-dropdown-pill-border-hover);
  --mdc-outlined-text-field-focus-outline-color: var(--primary-color);
  --mdc-outlined-text-field-error-outline-color: var(--app-dropdown-pill-border-invalid);
  --mdc-outlined-text-field-error-hover-outline-color: var(--app-dropdown-pill-border-invalid);
  --mdc-outlined-text-field-error-focus-outline-color: var(--app-dropdown-pill-border-invalid);
  --mdc-outlined-text-field-outline-width: 1px;
  --mdc-outlined-text-field-focus-outline-width: 1px;
  --mat-select-enabled-arrow-color: var(--app-dropdown-icon-color);
  --mat-select-focused-arrow-color: var(--app-dropdown-icon-color);
  --mat-select-invalid-arrow-color: var(--app-dropdown-icon-color);
}

.app-dropdown-pill-trigger .mdc-notched-outline__leading,
.app-dropdown-pill-trigger .mdc-notched-outline__notch,
.app-dropdown-pill-trigger .mdc-notched-outline__trailing {
  transition: border-color 0.15s ease;
}

.app-dropdown-pill-trigger:not(.mat-form-field-disabled).mat-focused .mat-mdc-text-field-wrapper.mdc-text-field--outlined {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 12%, transparent);
}

.app-dropdown-pill-trigger .mat-mdc-select-arrow {
  opacity: 0.8;
}

.app-dropdown-pill-trigger.mat-form-field-invalid .mat-mdc-text-field-wrapper.mdc-text-field--outlined {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--app-dropdown-pill-border-invalid) 12%, transparent);
}

/* Neutral Material select trigger structure for form fields.
   Components can preserve their existing dimensions through the variables below.
   This class does not apply the optional pill trigger theme. */
.app-dropdown-trigger {
  --app-dropdown-trigger-height: 38px;
  --app-dropdown-trigger-radius: 7px;
  --app-dropdown-trigger-wrapper-padding: 0 12px;
  --app-dropdown-trigger-infix-padding: 0;
  width: 100%;
  margin: 0;
}

.mat-mdc-form-field.app-dropdown-trigger .mat-mdc-text-field-wrapper.mdc-text-field--outlined {
  height: var(--app-dropdown-trigger-height);
  min-height: var(--app-dropdown-trigger-height);
  padding: var(--app-dropdown-trigger-wrapper-padding) !important;
  border-radius: var(--app-dropdown-trigger-radius) !important;
}

.mat-mdc-form-field.app-dropdown-trigger .mat-mdc-form-field-flex,
.mat-mdc-form-field.app-dropdown-trigger .mat-mdc-select-trigger {
  height: var(--app-dropdown-trigger-height);
  min-height: var(--app-dropdown-trigger-height);
  align-items: center;
}

.mat-mdc-form-field.app-dropdown-trigger .mat-mdc-form-field-infix {
  height: var(--app-dropdown-trigger-height);
  min-height: var(--app-dropdown-trigger-height);
  padding: var(--app-dropdown-trigger-infix-padding) !important;
  align-items: center;
}

.mat-mdc-form-field.app-dropdown-trigger .mat-mdc-form-field-subscript-wrapper,
.mat-mdc-form-field.app-dropdown-trigger .mat-mdc-form-field-bottom-align::before {
  display: none !important;
  height: 0 !important;
}

.app-dropdown-trigger--compact {
  --app-dropdown-trigger-height: 30px;
  --app-dropdown-trigger-radius: 6px;
  --app-dropdown-trigger-wrapper-padding: 0;
  --app-dropdown-trigger-infix-padding: 0 10px;
}

.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-text-field-wrapper.mdc-text-field--outlined {
  background-color: var(--color-surface);
  overflow: hidden;
}

.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-form-field-flex,
.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-form-field-infix {
  font-size: 0.75rem;
}

.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-form-field-flex,
.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-select-trigger {
  padding: 0;
}

.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-form-field-infix {
  display: flex;
}

.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-select-trigger,
.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-select-value,
.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-select-placeholder,
.mat-mdc-form-field.app-dropdown-trigger--compact .mat-mdc-select-min-line {
  font-size: 0.75rem;
}

/* Compact Material select trigger for toolbar filters.
   Width is controlled by the host component or its wrapper. */
.app-toolbar-select {
  --mdc-outlined-text-field-outline-color: var(--app-dropdown-toolbar-border);
  --mdc-outlined-text-field-hover-outline-color: var(--app-dropdown-toolbar-border-hover);
  --mdc-outlined-text-field-focus-outline-color: var(--primary-color);
  --mdc-outlined-text-field-outline-width: 1px;
  --mdc-outlined-text-field-focus-outline-width: 1px;
  --mat-select-enabled-arrow-color: var(--app-dropdown-icon-color);
  --mat-select-focused-arrow-color: var(--app-dropdown-icon-color);
  --mat-select-enabled-trigger-text-color: var(--color-text-body);
  width: 100%;
  margin: 0;
}

.app-toolbar-select .mat-mdc-text-field-wrapper.mdc-text-field--outlined {
  height: 32px;
  min-height: 32px;
  padding: 0 10px !important;
  border-radius: 8px !important;
  background: var(--color-surface);
}

.app-toolbar-select .mat-mdc-form-field-flex {
  height: 32px;
  align-items: center;
}

.app-toolbar-select .mat-mdc-form-field-infix {
  display: flex;
  min-height: 32px;
  padding: 0 !important;
  align-items: center;
}

.app-toolbar-select .mat-mdc-select-trigger {
  display: flex;
  height: 32px;
  align-items: center;
  font-size: 12.5px;
}

.app-toolbar-select .mat-mdc-select-arrow {
  opacity: 0.8;
}

.app-toolbar-select .mat-mdc-select-value,
.app-toolbar-select .mat-mdc-select-placeholder {
  font-size: 12.5px;
  line-height: 1.2;
}

.app-toolbar-select .mat-mdc-form-field-subscript-wrapper,
.app-toolbar-select .mat-mdc-form-field-bottom-align::before {
  display: none !important;
  height: 0 !important;
}

/* Shared dropdown panel styling.
   Works for Material panels and custom CDK-overlay dropdowns.
   Add app-dropdown-search-panel when a Material panel includes
   ngx-mat-select-search. */
.app-dropdown-panel {
  display: block;
  box-sizing: border-box;
  margin: 0;
  border-radius: 10px !important;
  padding: 5px !important;
  background: var(--color-surface) !important;
  box-shadow: var(--app-dropdown-panel-shadow) !important;
  border: 1px solid var(--app-dropdown-panel-border);
  min-width: 100% !important;
  max-height: 245px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  list-style: none;
  transform-origin: top center;
  animation: appDropdownPanelIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  scrollbar-width: thin;
  scrollbar-color: var(--app-dropdown-scrollbar-thumb) transparent;
}

/* Opt-in positioning for custom dropdowns anchored to a local trigger.
   Material and CDK overlay panels do not use these classes. */
.app-dropdown-anchor {
  position: relative;
  width: 100%;
}

.app-dropdown-panel--anchored {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  z-index: 1100;
  scroll-margin: 8px;
}

.app-dropdown-panel--up {
  top: auto;
  bottom: calc(100% + 4px);
  transform-origin: bottom center;
}

.mat-mdc-select-panel.app-dropdown-panel,
.mat-mdc-menu-panel.app-dropdown-panel {
  margin-top: 6px;
}

.app-dropdown-search-panel,
.mat-mdc-menu-panel.app-dropdown-menu-panel {
  min-width: 220px !important;
}

.mat-mdc-menu-panel.app-dropdown-menu-panel .mat-mdc-menu-content {
  padding: 0 !important;
}

.app-dropdown-menu-option {
  display: flex;
  justify-content: space-between;
  min-height: 38px;
  margin: 1px 0;
  padding: 0 12px 0 10px;
  align-items: center;
  border-radius: 7px;
  color: var(--app-dropdown-option-text);
  font-size: 13px;
  cursor: pointer;
  outline: none;
  transition: background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1), color 0.18s ease;
}

/* Normalize native buttons used as options in custom dropdown panels.
   This modifier is opt-in so existing Material and custom consumers are unchanged. */
.app-dropdown-menu-option--button {
  width: 100%;
  padding: 0 14px 0 10px;
  border: 0;
  appearance: none;
  background: transparent;
  font-family: inherit;
  line-height: 1.2;
  text-align: left;
}

.app-dropdown-menu-option--button .app-dropdown-menu-check {
  margin-right: 2px;
}

.app-dropdown-menu-option:hover,
.app-dropdown-menu-option:focus-visible {
  background: var(--app-dropdown-option-hover-background);
  color: var(--app-dropdown-option-hover-text);
}

.app-dropdown-menu-option--selected {
  background: var(--app-dropdown-option-selected-background);
  color: var(--brand-navy);
  font-weight: 600;
}

.app-dropdown-menu-option--button.app-dropdown-menu-option--selected {
  font-weight: 700;
}

.app-dropdown-menu-option--selected:hover,
.app-dropdown-menu-option--selected:focus-visible {
  background: var(--app-dropdown-option-selected-hover-background);
}

.app-dropdown-menu-check {
  margin-left: 10px;
  color: var(--app-dropdown-selection-indicator);
  font-size: 11px;
  flex-shrink: 0;
}

@keyframes appDropdownPanelIn {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.app-dropdown-panel::-webkit-scrollbar {
  width: 6px;
}

.app-dropdown-panel::-webkit-scrollbar-track {
  background: transparent;
}

.app-dropdown-panel::-webkit-scrollbar-thumb {
  background: var(--app-dropdown-scrollbar-thumb);
  border-radius: 999px;
}

.app-dropdown-panel::-webkit-scrollbar-thumb:hover {
  background: var(--app-dropdown-scrollbar-thumb-hover);
}

.app-dropdown-panel .mat-mdc-option {
  min-height: 38px !important;
  border-radius: 7px;
  margin: 1px 0;
  padding: 0 14px 0 10px !important;
  font-size: 13px;
  color: var(--app-dropdown-option-text);
  transition: background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1), color 0.18s ease, transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.app-dropdown-panel .mat-mdc-option .mdc-list-item__primary-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 13px;
  overflow: visible !important;
  transition: color 0.18s ease, font-weight 0.18s ease;
}

.app-dropdown-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled) {
  background: var(--app-dropdown-option-hover-background) !important;
  color: var(--app-dropdown-option-hover-text) !important;
}

.app-dropdown-panel .mat-mdc-option.mat-mdc-option-active:not(.mdc-list-item--disabled) {
  background: var(--app-dropdown-option-hover-background) !important;
}

.app-dropdown-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) {
  background: var(--app-dropdown-option-selected-background) !important;
}

.app-dropdown-panel .mat-mdc-option.mdc-list-item--selected:hover:not(.mdc-list-item--disabled) {
  background: var(--app-dropdown-option-selected-hover-background) !important;
}

.app-dropdown-panel .mat-mdc-option.mdc-list-item--selected .mdc-list-item__primary-text {
  color: var(--brand-navy) !important;
  font-weight: 600;
}

.app-dropdown-panel .mat-pseudo-checkbox {
  display: none !important;
}

.app-dropdown-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text::after {
  content: '\f00c';
  margin-left: 10px;
  margin-right: 2px;
  color: var(--app-dropdown-selection-indicator);
  font-family: 'Font Awesome 6 Free';
  font-size: 11px;
  font-weight: 900;
  flex-shrink: 0;
}

/* Shared searchable filter dropdown styling.
   Reusable for MatSelect search panels and custom filter popovers. */
.app-dropdown-search-panel .app-dropdown-search-option {
  border-radius: 8px 8px 0 0;
  margin: 0 0 4px;
  padding: 0 !important;
  background: var(--color-surface) !important;
}

.app-dropdown-search-panel .app-dropdown-search-option .mat-pseudo-checkbox {
  display: none !important;
}

.app-dropdown-search-panel .mat-select-search-inner {
  background: var(--color-surface) !important;
  border-bottom: 1px solid var(--app-dropdown-search-divider);
  border-radius: 8px 8px 0 0;
}

.app-dropdown-search-panel .mat-select-search-inner-row,
.app-dropdown-search-row {
  position: relative;
}

.app-dropdown-search-panel .mat-select-search-inner-row::before,
.app-dropdown-search-row::before {
  content: '\f002';
  position: absolute;
  left: 13px;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%);
  color: var(--app-dropdown-search-icon);
  font-family: 'Font Awesome 6 Free';
  font-size: 11px;
  font-weight: 900;
  pointer-events: none;
}

.app-dropdown-search-panel .mat-select-search-input,
.app-dropdown-search-input {
  height: 38px !important;
  padding: 0 40px 0 34px !important;
  background: var(--color-surface) !important;
  color: var(--app-dropdown-search-text) !important;
  font-size: 12.5px !important;
}

.app-dropdown-search-panel .mat-select-search-input::placeholder,
.app-dropdown-search-input::placeholder {
  color: var(--app-dropdown-search-placeholder) !important;
}

.app-dropdown-search-panel .mat-select-search-clear {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 3px !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--text-placeholder) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.app-dropdown-search-panel .mat-select-search-clear .mat-mdc-button-persistent-ripple,
.app-dropdown-search-panel .mat-select-search-clear .mat-mdc-button-touch-target,
.app-dropdown-search-panel .mat-select-search-clear .mat-ripple-element,
.app-dropdown-search-panel .mat-select-search-clear .mat-ripple {
  display: none !important;
}

.app-dropdown-search-panel .mat-select-search-clear::before,
.app-dropdown-search-panel .mat-select-search-clear::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block !important;
  width: 12px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: '';
  transform-origin: center;
}

.app-dropdown-search-panel .mat-select-search-clear::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.app-dropdown-search-panel .mat-select-search-clear::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.app-dropdown-search-panel .mat-select-search-clear:hover,
.app-dropdown-search-panel .mat-select-search-clear:focus,
.app-dropdown-search-panel .mat-select-search-clear:active {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--app-dropdown-search-clear-hover) !important;
}

.app-dropdown-search-panel .mat-select-search-clear .mat-icon {
  display: none !important;
}

.app-dropdown-search-panel ngx-mat-select-search > .mat-select-search-no-entries-found {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 12px 10px 8px;
  color: var(--text-placeholder);
  font-size: 12px;
  text-align: center;
}

/* Custom popover search field shared by saved-filter style dropdowns. */
.app-dropdown-search-wrap {
  background: var(--color-surface) !important;
  border-radius: 8px 8px 0 0;
  margin: 0;
  padding: 0;
}

.app-dropdown-search-input {
  border: none !important;
  outline: none !important;
  width: 100%;
}

.app-dropdown-search-clear {
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 3px !important;
  width: 34px !important;
  height: 34px !important;
  color: var(--text-placeholder);
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.app-dropdown-search-clear:hover {
  color: var(--app-dropdown-search-clear-hover);
}

/* Compact density for constrained dropdowns such as View Ticket.
   Base dropdown density remains unchanged for existing consumers. */
.app-dropdown-panel--compact .app-dropdown-menu-option {
  min-height: 28px;
  padding: 6px 12px 6px 9px;
  font-size: 12px;
  line-height: 1.35;
}

.app-dropdown-search-panel .app-dropdown-search-wrap,
.app-dropdown-panel--compact .app-dropdown-search-wrap {
  position: sticky;
  top: -5px;
  z-index: 1;
  margin: -5px -5px 4px;
  border-bottom: 1px solid var(--app-dropdown-search-divider);
}

.app-dropdown-panel--compact .app-dropdown-search-input {
  height: 30px !important;
  font-size: 12.5px !important;
}

.app-dropdown-panel--compact .app-dropdown-search-row::before,
.app-dropdown-panel--compact .app-dropdown-menu-check {
  font-size: 11px;
}

.app-dropdown-empty {
  padding: 12px 10px;
  color: var(--text-placeholder);
  font-size: 12px;
  text-align: center;
}

/* ===================== Icon colour system ===================== */
/* Shared icon color utilities. Apply these classes to any element
   rendering an icon (<i>, <mat-icon>, svg, etc.). They do not change
   current UI unless a class is manually added to a template. */

/* Header icon — brand primary */
.el-icon-header {
  color: var(--primary-color, #15ab46);
}

/* Left panel / rail icon — neutral grey */
.el-icon-left {
  color: var(--left-icon, #5a6a85);
}

/* Table icon — neutral grey by default, primary on hover */
.el-icon-table {
  color: var(--icon-table, #5a6a85);
  transition: color 0.2s ease;
}
.el-icon-table:hover,
.el-icon-table:focus {
  color: var(--primary-color, #15ab46);
}

/* Pill / chip icon — neutral grey by default, primary on hover */
.el-icon-pill {
  color: var(--icon-pill, #5a6a85);
  transition: color 0.2s ease;
}
.el-icon-pill:hover,
.el-icon-pill:focus {
  color: var(--primary-color, #15ab46);
}

/* Button icon — brand primary */
.el-icon-btn {
  color: var(--primary-color, #15ab46);
}

/* Danger / delete icon — grey by default, red on hover */
.el-icon-table--danger,
.el-icon-danger {
  color: var(--icon-table, #5a6a85);
  transition: color 0.2s ease;
}
.el-icon-table--danger:hover,
.el-icon-table--danger:focus,
.el-icon-danger:hover,
.el-icon-danger:focus {
  color: var(--color-danger, #dc3545);
}


