/* JetNode Support theme override, 2026-09-19 */
:root,
body.dark {
  --app-bg: #141820;
  --app-panel: rgba(24, 29, 42, 0.78);
  --app-panel-solid: #181d2a;
  --app-border: rgba(103, 127, 247, 0.16);
  --app-text: #f3f6fb;
  --app-muted: #c2c9d4;
  --app-nav-bg: #141820;
  --app-nav-active-bg: #181d2a;
  --app-nav-active: #677ff7;
  --queue-bg: #141820;
  --queue-line: rgba(103, 127, 247, 0.15);
  --queue-soft: #181d2a;
}

body {
  background: #141820 !important;
}

body,
#app,
.main,
.content {
  background: #141820 !important;
  color: #f3f6fb !important;
}

.sidebar-inner {
  background: #141820 !important;
}

.topbar,
.panel,
.card,
.ticket-queue,
.queue-header,
.queue-toolbar,
.ticket-table,
.chat-list,
.chat-room,
.chat-room-header,
.chat-messages,
.composer,
.account-panel,
.snapshot-section,
.settings-layout,
.board-col,
.p-dialog,
.p-dialog-header,
.p-dialog-content,
.p-overlaypanel,
.p-menu,
.p-sidebar {
  background: #181d2a !important;
  border-color: rgba(103, 127, 247, 0.16) !important;
  color: #f3f6fb !important;
}

.ticket-table-head,
.ticket-row,
.chat-item,
.board-card,
.settings-nav,
.p-datatable,
.p-datatable-wrapper,
.p-datatable-thead > tr > th,
.p-datatable-tbody > tr,
.p-panel,
.p-card {
  background: #141820 !important;
  border-color: rgba(103, 127, 247, 0.13) !important;
}

.ticket-row:hover,
.chat-item:hover,
.board-card:hover,
.filter-chip.active,
.p-datatable-tbody > tr:hover {
  background: #181d2a !important;
}

.rail-btn.router-link-active,
.chat-item.active,
body.dark .chat-item.active {
  background: #181d2a !important;
}

.rail-btn.router-link-active,
.mobile-tab.router-link-active {
  color: #677ff7 !important;
}

.rail-btn.router-link-active {
  border-color: transparent !important;
}

.queue-eyebrow,
.category-label,
.ticket-client small,
a,
.telegram-id {
  color: #1b98f7 !important;
}

.p-inputtext,
.p-password input,
.p-dropdown,
.p-multiselect,
.p-textarea,
.queue-search :is(input, textarea) {
  background: #141820 !important;
  border-color: rgba(103, 127, 247, 0.20) !important;
  color: #f3f6fb !important;
}

.filter-chip {
  background: #141820 !important;
  border-color: rgba(103, 127, 247, 0.18) !important;
}

.filter-chip span,
.status-pill.closed {
  background: #181d2a !important;
}

@media (max-width: 768px) {
  html,
  body,
  #app {
    min-height: 100%;
    overflow-x: hidden !important;
    background: #141820 !important;
  }

  .content {
    padding: 0 0 92px !important;
    background: #141820 !important;
    overflow-x: hidden !important;
  }

  .topbar {
    display: none !important;
  }

  .mobile-tabbar {
    background: #181d2a !important;
    border-top: 1px solid rgba(103, 127, 247, 0.18) !important;
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.28) !important;
  }

  .mobile-tab {
    color: #f3f6fb !important;
    font-size: 12px !important;
    gap: 4px !important;
  }

  .mobile-tab i,
  .mobile-tab span {
    color: #f3f6fb !important;
  }

  .mobile-tab i {
    font-size: 23px !important;
  }

  .mobile-tab.router-link-active,
  .mobile-tab.router-link-active i,
  .mobile-tab.router-link-active span {
    color: #1b98f7 !important;
  }

  .ticket-queue {
    min-height: calc(100dvh - 92px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #141820 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .queue-header {
    padding: 18px 16px 8px !important;
    border: 0 !important;
    background: #141820 !important;
  }

  .queue-eyebrow {
    display: none !important;
  }

  .queue-header h1 {
    margin: 0 !important;
    font-size: 30px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em !important;
  }

  .queue-header p,
  .queue-header .p-button {
    display: none !important;
  }

  .queue-toolbar {
    display: block !important;
    padding: 10px 12px 8px !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(103, 127, 247, 0.14) !important;
    background: #141820 !important;
  }

  .queue-search {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  .queue-search .p-inputtext,
  .queue-search input {
    width: 100% !important;
    height: 44px !important;
    border-radius: 14px !important;
    padding-left: 42px !important;
    font-size: 15px !important;
    background: #181d2a !important;
    border-color: rgba(103, 127, 247, 0.22) !important;
    color: #f3f6fb !important;
  }

  .queue-search i {
    left: 16px !important;
    color: #7f8ca5 !important;
  }

  .queue-filters {
    display: flex !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 0 2px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .queue-filters::-webkit-scrollbar {
    display: none !important;
  }

  .filter-chip {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    background: #181d2a !important;
  }

  .filter-chip.active {
    color: #677ff7 !important;
    border-color: rgba(103, 127, 247, 0.42) !important;
    background: #1a2032 !important;
  }

  .ticket-table {
    display: block !important;
    min-height: 0 !important;
    border: 0 !important;
    background: #141820 !important;
  }

  .ticket-table-head {
    display: none !important;
  }

  .ticket-table-body {
    display: block !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #141820 !important;
  }

  .ticket-row {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    row-gap: 3px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(103, 127, 247, 0.12) !important;
    border-radius: 0 !important;
    background: #141820 !important;
    box-shadow: none !important;
  }

  .ticket-row:hover,
  .ticket-row:active {
    background: #181d2a !important;
  }

  .ticket-cell::before {
    display: none !important;
    content: none !important;
  }

  .ticket-client {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .ticket-client .p-avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    font-size: 17px !important;
    background: rgba(27, 152, 247, 0.16) !important;
    color: #1b98f7 !important;
  }

  .ticket-client strong,
  .ticket-client span {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .ticket-client strong {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .ticket-client small,
  .ticket-client a {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .ticket-date {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-items: flex-end !important;
    justify-content: start !important;
    text-align: right !important;
    color: #8fa0bb !important;
  }

  .ticket-date strong {
    display: none !important;
  }

  .ticket-date span,
  .ticket-date small {
    font-size: 11px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .ticket-account {
    display: none !important;
  }

  .ticket-reason {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
  }

  .reason-line {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .reason-line .category-label {
    flex: 0 0 auto !important;
    max-width: 84px !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    color: #1b98f7 !important;
    border-color: rgba(27, 152, 247, 0.28) !important;
  }

  .reason-line strong {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    color: #cbd3df !important;
  }

  .ticket-reason p {
    display: none !important;
  }

  .ticket-action {
    grid-column: 3 !important;
    grid-row: 2 !important;
    align-items: end !important;
    justify-content: end !important;
  }

  .ticket-action .p-button {
    display: none !important;
  }

  .status-pill {
    padding: 3px 7px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }

  .queue-empty {
    min-height: 45vh !important;
    padding: 40px 16px !important;
    background: #141820 !important;
  }

  .settings-layout {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: calc(100dvh - 92px) !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #141820 !important;
  }

  .settings-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 12px 12px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(103, 127, 247, 0.14) !important;
    background: #141820 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .settings-nav::-webkit-scrollbar {
    display: none !important;
  }

  .settings-nav > div:first-child {
    display: none !important;
  }

  .settings-nav .s-item {
    display: flex !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 38px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(103, 127, 247, 0.14) !important;
    border-radius: 999px !important;
    background: #181d2a !important;
    color: #d7deea !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  .settings-nav .s-item i {
    width: 16px !important;
    min-width: 16px !important;
    font-size: 16px !important;
    color: #1b98f7 !important;
  }

  .settings-nav .s-item.router-link-active {
    color: #677ff7 !important;
    background: #1a2032 !important;
    border-color: rgba(103, 127, 247, 0.38) !important;
    box-shadow: none !important;
  }

  .settings-content {
    display: block !important;
    width: 100% !important;
    padding: 12px 12px 24px !important;
    overflow: visible !important;
    background: #141820 !important;
  }

  .settings-content > * {
    max-width: 100% !important;
  }

  .moderation-shell.has-active {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: calc(100dvh - 92px) !important;
    background: #141820 !important;
  }

  .client-snapshot {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #181d2a !important;
  }

  .client-snapshot .back-link {
    grid-column: 1 !important;
    width: 34px !important;
    height: 34px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    color: #f3f6fb !important;
    font-size: 0 !important;
    background: rgba(103, 127, 247, 0.10) !important;
  }

  .client-snapshot .back-link i {
    font-size: 16px !important;
  }

  .client-identity {
    grid-column: 2 !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
  }

  .client-identity .p-avatar {
    width: 34px !important;
    height: 34px !important;
    font-size: 15px !important;
  }

  .client-identity h2 {
    margin: 0 !important;
    color: #f3f6fb !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .client-identity span {
    color: #8fa0bb !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .client-snapshot .snapshot-section,
  .client-snapshot .account-highlight {
    display: none !important;
  }

  .client-snapshot .p-button {
    grid-column: 3 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }

  .client-snapshot .p-button .p-button-label {
    display: none !important;
  }

  .moderation-chat-room {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    min-height: calc(100dvh - 190px) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #181d2a !important;
  }

  .moderation-chat-room .chat-room-header {
    min-height: 0 !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    border-bottom: 1px solid rgba(103, 127, 247, 0.14) !important;
    background: #181d2a !important;
  }

  .moderation-chat-room .chat-room-header > div:first-child {
    width: 100% !important;
    gap: 8px !important;
  }

  .moderation-chat-room .mobile-back-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }

  .moderation-chat-room .profile-trigger img,
  .moderation-chat-room .profile-trigger .p-avatar {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 50% !important;
    font-size: 14px !important;
  }

  .moderation-chat-room .profile-trigger + div {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .moderation-chat-room .profile-trigger + div div[style*="font-weight:800"] {
    color: #f3f6fb !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    max-width: 150px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .moderation-chat-room .chat-room-header .muted {
    font-size: 11px !important;
    max-width: 180px !important;
  }

  .moderation-chat-room .chat-room-header .p-tag {
    padding: 3px 7px !important;
    font-size: 10px !important;
  }

  .moderation-chat-room .chat-room-header .btn-row {
    flex: 0 0 auto !important;
    gap: 6px !important;
    margin-left: auto !important;
  }

  .moderation-chat-room .chat-room-header .btn-row .p-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }

  .moderation-chat-room .chat-room-header .btn-row .p-button-label {
    display: none !important;
  }

  .moderation-chat-room .chat-messages {
    gap: 8px !important;
    padding: 10px !important;
    background: #141820 !important;
  }

  .moderation-chat-room .scroll-hint {
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
  }

  .moderation-chat-room .bubble {
    max-width: 86% !important;
    padding: 9px 11px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .moderation-chat-room .bubble.ai,
  .moderation-chat-room .bubble.manager {
    margin-left: auto !important;
  }

  .moderation-chat-room .bubble.system {
    align-self: center !important;
    max-width: 92% !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
  }

  .moderation-chat-room .bubble-meta {
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    opacity: 0.72 !important;
  }

  .moderation-chat-room .composer {
    display: grid !important;
    grid-template-columns: repeat(3, 38px) minmax(0, 1fr) 42px !important;
    align-items: end !important;
    gap: 7px !important;
    padding: 8px 10px !important;
    border-top: 1px solid rgba(103, 127, 247, 0.14) !important;
    background: #181d2a !important;
  }

  .moderation-chat-room .composer > .p-button {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border-radius: 13px !important;
  }

  .moderation-chat-room .composer > .p-button:last-child {
    width: 42px !important;
    min-width: 42px !important;
  }

  .moderation-chat-room .composer > .p-button:last-child .p-button-label {
    display: none !important;
  }

  .moderation-chat-room .composer-grow {
    min-width: 0 !important;
  }

  .moderation-chat-room .composer textarea,
  .moderation-chat-room .composer .p-inputtextarea {
    min-height: 38px !important;
    max-height: 94px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 430px) {
  .queue-header h1 {
    font-size: 26px !important;
  }

  .ticket-row {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .filter-chip {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .moderation-chat-room .chat-room-header .muted {
    display: none !important;
  }

  .moderation-chat-room .profile-trigger + div div[style*="font-weight:800"] {
    max-width: 118px !important;
  }

  .moderation-chat-room .composer {
    grid-template-columns: repeat(3, 36px) minmax(0, 1fr) 40px !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .moderation-chat-room .composer > .p-button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  .moderation-chat-room .composer > .p-button:last-child {
    width: 40px !important;
    min-width: 40px !important;
  }
}
