/* Smart Systems Service Desk admin-safe theme for HESK 3.7.10
   v7: strict professional admin layer. No hidden controls, no DOM changes.
   Goal: improve readability without turning admin into a landing page. */
:root {
  --ssd-admin-primary: #245d7d;
  --ssd-admin-primary-dark: #12384f;
  --ssd-admin-primary-soft: #e8f0f5;
  --ssd-admin-bg: #f4f6f8;
  --ssd-admin-surface: #ffffff;
  --ssd-admin-surface-2: #f8fafc;
  --ssd-admin-line: #d8e1e8;
  --ssd-admin-line-soft: #edf2f6;
  --ssd-admin-text: #172331;
  --ssd-admin-muted: #607285;
  --ssd-admin-sidebar: #133e5e;
  --ssd-admin-sidebar-active: #0c2d45;
  --ssd-admin-radius: 8px;
  --ssd-admin-shadow: 0 1px 4px rgba(18, 56, 79, .10);
}

html,
body {
  background: var(--ssd-admin-bg) !important;
  color: var(--ssd-admin-text) !important;
  font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Sidebar: keep native HESK layout, only fix contrast and active states. */
.main-menu {
  background: var(--ssd-admin-sidebar) !important;
  color: rgba(255, 255, 255, .78) !important;
}
.main-menu a,
.main-menu .navbar__logo,
.main-menu .navbar__toggler,
.main-menu .listitem__caption,
.main-menu .submenu__listitem,
.main-menu .submenu__listitem a,
.main-menu .listitem__icon,
.main-menu .listitem__icon a {
  color: rgba(255, 255, 255, .80) !important;
}
.main-menu .navbar__logo {
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}
.main-menu .navbar__toggler .icon,
.main-menu .listitem__icon .icon {
  fill: currentColor !important;
}
.main-menu .listitem:hover,
.main-menu .navbar__list li.is-active,
.main-menu .navbar__list li.submenu-is-opened,
.main-menu .navbar__list li.current,
.main-menu .listitem.current {
  background: var(--ssd-admin-sidebar-active) !important;
}
.main-menu .listitem:hover a,
.main-menu .listitem:hover .listitem__caption,
.main-menu .listitem:hover .listitem__icon,
.main-menu .navbar__list li.current .listitem__menu > a,
.main-menu .navbar__list li.current .listitem__icon,
.main-menu .navbar__list li.current .submenu__list li.current,
.main-menu .navbar__list li.current .submenu__list li.current a {
  color: #ffffff !important;
}
.main-menu .navbar__list li.separator {
  opacity: .14 !important;
  background-color: #ffffff !important;
}
.main-menu .submenu__list {
  background: rgba(0, 0, 0, .12) !important;
}
.main-menu .submenu__listitem.current::before {
  background: #79b7d7 !important;
}
.main-menu .admin-nav-badge,
.main-menu .listitem__notification {
  background: #e8f0f5 !important;
  color: #12384f !important;
}

/* Header: readable, compact, no invisible buttons. */
.header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--ssd-admin-line) !important;
  box-shadow: 0 1px 3px rgba(18, 56, 79, .08) !important;
}
.header .icon {
  fill: var(--ssd-admin-primary) !important;
}
.header .profile,
.header .profile a,
.header .profile button,
.header .user__name,
.header .user__name p,
.header .user__name span {
  color: var(--ssd-admin-text) !important;
}
.header .user__ava,
.header .avatar,
.header .profile__user .user__ava {
  background: var(--ssd-admin-primary) !important;
  color: #ffffff !important;
}
.header a.btn-full,
.header .btn-full,
.header a.btn.btn-full {
  background: var(--ssd-admin-primary) !important;
  border-color: var(--ssd-admin-primary-dark) !important;
  color: #ffffff !important;
  min-width: 152px !important;
  height: 40px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.header a.btn-full:hover,
.header .btn-full:hover {
  background: var(--ssd-admin-primary-dark) !important;
  color: #ffffff !important;
}

/* Main workspace: neutral background, clear hierarchy. */
.main,
.main__content {
  background: var(--ssd-admin-bg) !important;
  color: var(--ssd-admin-text) !important;
}
.main__content {
  padding-top: 22px !important;
}
.main__content h1,
.main__content h2,
.main__content h3,
.main__content h4,
.page-title,
.title {
  color: var(--ssd-admin-text) !important;
  letter-spacing: -.01em;
}
.main__content p,
.main__content li,
.main__content label,
.main__content td {
  color: var(--ssd-admin-text);
}
.main__content a {
  color: var(--ssd-admin-primary-dark);
}

/* Panels/cards: modest admin styling, not landing-page cards. */
.block,
.card,
.table-wrap,
.table-wrapper,
.ticket__body,
.ticket__block,
.settings__block,
.profile,
.article,
.note,
.filter,
.filters,
.alert,
form.form,
.form {
  border-radius: var(--ssd-admin-radius) !important;
}
.table-wrap,
.table-wrapper,
.block,
.settings__block,
.ticket__body,
.ticket__block,
.profile,
.article,
.note,
.filter,
.filters {
  background: var(--ssd-admin-surface) !important;
  border: 1px solid var(--ssd-admin-line) !important;
  box-shadow: var(--ssd-admin-shadow) !important;
}
.table-wrap,
.table-wrapper {
  padding: 8px !important;
  margin-top: 18px !important;
}

/* Ticket counters/tabs: keep compact and readable. */
.tickets__head a,
.tickets__head .btn,
.tickets__mobile_head a,
.ticket__tabs a,
.ticket__tabs button {
  border-radius: 8px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.tickets__head a.current,
.ticket__tabs a.current,
.tickets__head .current {
  background: var(--ssd-admin-primary) !important;
  color: #ffffff !important;
  border-color: var(--ssd-admin-primary) !important;
}

/* Tables: restore professional density and visible headers. */
.table {
  color: var(--ssd-admin-text) !important;
}
.table thead,
.table thead tr,
.table thead th {
  background: var(--ssd-admin-primary-dark) !important;
  color: #ffffff !important;
}
.table thead th,
.table th {
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.table tbody td,
.table td {
  color: var(--ssd-admin-text) !important;
  border-color: var(--ssd-admin-line-soft) !important;
}
.table tbody tr:hover td,
table tbody tr:hover td {
  background: #f8fbfd !important;
}
.table a,
td a {
  color: var(--ssd-admin-primary-dark) !important;
  font-weight: 700;
}

/* Forms: compact, calm, readable. */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="number"],
textarea,
select,
.form-control,
.selectize-input,
.dropdown-select .label {
  border-radius: 8px !important;
  border-color: var(--ssd-admin-line) !important;
  background-color: #ffffff !important;
  color: var(--ssd-admin-text) !important;
  box-shadow: none !important;
}
input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.selectize-input.focus {
  border-color: var(--ssd-admin-primary) !important;
  box-shadow: 0 0 0 3px rgba(36, 93, 125, .12) !important;
}

/* Buttons: admin-style, not oversized. */
.main__content .btn,
.main__content button,
.main__content input[type="submit"],
.main__content input[type="button"] {
  border-radius: 8px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.main__content .btn-full,
.main__content button[type="submit"],
.main__content input[type="submit"] {
  background: var(--ssd-admin-primary) !important;
  border-color: var(--ssd-admin-primary-dark) !important;
  color: #ffffff !important;
}
.main__content .btn-full:hover,
.main__content button[type="submit"]:hover,
.main__content input[type="submit"]:hover {
  background: var(--ssd-admin-primary-dark) !important;
  color: #ffffff !important;
}
.main__content .btn-border,
.main__content .btn--blue-border {
  border-color: var(--ssd-admin-primary) !important;
  color: var(--ssd-admin-primary-dark) !important;
  background: #ffffff !important;
}
.main__content .btn-border:hover,
.main__content .btn--blue-border:hover {
  background: var(--ssd-admin-primary) !important;
  color: #ffffff !important;
}

/* Status badges/labels: keep HESK colors, only normalize shape and weight. */
.label,
.badge,
.status,
.priority {
  border-radius: 999px !important;
  font-weight: 700 !important;
}
.alert {
  border: 1px solid var(--ssd-admin-line) !important;
  box-shadow: none !important;
}

/* Settings pages: reduce huge empty feeling without changing form logic. */
.settings .settings__block,
.settings .block {
  background: #ffffff !important;
}
.settings .form-group,
.main__content .form-group {
  margin-bottom: 14px;
}

@media (max-width: 899px) {
  .main__content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .table-wrap,
  .table-wrapper {
    overflow-x: auto !important;
    padding: 0 !important;
  }
  .header {
    position: sticky;
    top: 0;
    z-index: 20;
  }
  .main-menu .navbar__logo,
  .main-menu a,
  .main-menu .listitem__caption,
  .main-menu .submenu__listitem a {
    color: #ffffff !important;
  }
}
