:root {
  --ch-primary: #4f46e5;
  --ch-primary-hover: #4338ca;
  --ch-primary-strong: #3730a3;
  --ch-primary-soft: color-mix(in srgb, var(--ch-primary) 10%, #ffffff);
  --ch-primary-subtle: color-mix(in srgb, var(--ch-primary) 6%, #ffffff);
  --ch-primary-border: color-mix(in srgb, var(--ch-primary) 28%, var(--ch-border));
  --ch-secondary: #0f766e;
  --ch-secondary-soft: color-mix(in srgb, var(--ch-secondary) 10%, #ffffff);
  --ch-page-bg: #f5f7fb;
  --ch-surface: #ffffff;
  --ch-surface-soft: color-mix(in srgb, var(--ch-surface) 72%, var(--ch-page-bg));
  --ch-surface-elevated: #ffffff;
  --ch-sidebar-bg: #0f172a;
  --ch-sidebar-text: #dbe4f0;
  --ch-sidebar-muted: #9aa7b8;
  --ch-sidebar-active-bg: #1e293b;
  --ch-sidebar-border: rgba(226, 232, 240, 0.10);
  --ch-heading: #111827;
  --ch-text: #334155;
  --ch-muted: #64748b;
  --ch-border: #dfe5ef;
  --ch-border-strong: #cbd5e1;
  --ch-success: #15803d;
  --ch-success-soft: color-mix(in srgb, var(--ch-success) 11%, #ffffff);
  --ch-warning: #b45309;
  --ch-warning-soft: color-mix(in srgb, var(--ch-warning) 13%, #ffffff);
  --ch-danger: #b42318;
  --ch-danger-soft: color-mix(in srgb, var(--ch-danger) 10%, #ffffff);
  --ch-info: #2563eb;
  --ch-info-soft: color-mix(in srgb, var(--ch-info) 10%, #ffffff);
  --ch-neutral-soft: #f1f5f9;
  --ch-focus-ring: color-mix(in srgb, var(--ch-primary) 22%, transparent);
  --ch-radius-card: 8px;
  --ch-radius-control: 10px;
  --ch-sidebar-width: 244px;
  --ch-container-max: 1320px;
  --ch-data-sidebar-width: 220px;
  --ch-data-gap: 20px;
  --ch-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  --ch-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --ch-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ch-base-font-size: 16px;
  --ch-line-height: 1.55;
  --ch-button-weight: 700;
}

@media (prefers-color-scheme: dark) {
  :root[data-ch-theme-mode="system"] {
    --ch-page-bg: #0b1120;
    --ch-surface: #111827;
    --ch-surface-soft: #182235;
    --ch-surface-elevated: #151f32;
    --ch-heading: #f8fafc;
    --ch-text: #d8dee9;
    --ch-muted: #a8b3c7;
    --ch-border: #25324a;
    --ch-border-strong: #334155;
    --ch-sidebar-bg: #020617;
    --ch-sidebar-text: #e5e7eb;
    --ch-sidebar-muted: #a8b3c7;
    --ch-sidebar-border: rgba(226, 232, 240, 0.08);
  }
}

:root[data-ch-theme-mode="dark"] {
  --ch-page-bg: #0b1120;
  --ch-surface: #111827;
  --ch-surface-soft: #182235;
  --ch-surface-elevated: #151f32;
  --ch-heading: #f8fafc;
  --ch-text: #d8dee9;
  --ch-muted: #a8b3c7;
  --ch-border: #25324a;
  --ch-border-strong: #334155;
  --ch-sidebar-bg: #020617;
  --ch-sidebar-text: #e5e7eb;
  --ch-sidebar-muted: #a8b3c7;
  --ch-sidebar-border: rgba(226, 232, 240, 0.08);
}

html {
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  scroll-behavior: auto;
}

body.ch-body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  background: var(--ch-page-bg) !important;
  color: var(--ch-text);
  font-family: var(--ch-font-family);
  font-size: var(--ch-base-font-size);
  line-height: var(--ch-line-height);
  letter-spacing: 0;
}

.ch-body *,
.ch-body *::before,
.ch-body *::after {
  box-sizing: border-box;
}

.ch-body img,
.ch-body svg,
.ch-body iframe {
  max-width: 100%;
}

.ch-body #fullpage-overlay.w-hidden {
  display: none !important;
}

.ch-topbar .w-hidden,
.ch-security-card .w-hidden,
.ch-context-toolbar .w-hidden,
.ch-body .modal .w-hidden,
.ch-body .ch-drawer-backdrop[hidden],
.ch-body .hidden {
  display: none !important;
}

.ch-body a {
  color: var(--ch-primary);
}

.ch-body a:hover {
  color: var(--ch-primary-hover);
}

.ch-skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 2000;
  transform: translateY(-140%);
  border-radius: var(--ch-radius-control);
  background: var(--ch-primary);
  color: #fff;
  padding: 10px 14px;
  font-weight: 700;
}

.ch-skip-link:focus {
  transform: translateY(0);
  color: #fff;
  outline: 3px solid var(--ch-focus-ring);
  outline-offset: 2px;
}

.ch-app {
  display: flex;
  min-height: 100vh;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

.ch-sidebar {
  position: sticky;
  inset-block-start: 0;
  display: flex;
  flex: 0 0 var(--ch-sidebar-width);
  flex-direction: column;
  width: var(--ch-sidebar-width);
  height: 100vh;
  border-inline-end: 1px solid var(--ch-sidebar-border);
  background: var(--ch-sidebar-bg);
  color: var(--ch-sidebar-text);
  z-index: 1040;
}

.ch-sidebar-header {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 12px 16px;
  border-block-end: 1px solid var(--ch-sidebar-border);
}

.ch-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.ch-brand-img {
  display: block;
  width: auto;
  max-width: 166px;
  height: 40px;
  object-fit: contain;
}

.ch-generated-logo {
  display: none;
}

.ch-sidebar-nav {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 10px 10px;
}

.ch-nav,
.ch-nav-sub,
.ch-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ch-nav + .ch-nav {
  margin-block-start: 12px;
  padding-block-start: 12px;
  border-block-start: 1px solid var(--ch-sidebar-border);
}

.ch-nav-item {
  margin-block-end: 3px;
}

.ch-nav-link,
.ch-nav-sub-link,
.ch-nav-static,
.ch-sidebar-action {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  border-radius: 9px;
  color: var(--ch-sidebar-text);
  text-decoration: none;
  overflow-wrap: anywhere;
}

button.ch-nav-link {
  inline-size: 100%;
  border-block: 0;
  border-inline-end: 0;
  background: transparent;
  font: inherit;
  text-align: start;
  cursor: pointer;
}

.ch-body .ch-nav-link,
.ch-body .ch-nav-sub-link,
.ch-body .ch-nav-static,
.ch-body .ch-sidebar-action {
  color: var(--ch-sidebar-text);
}

.ch-nav-link {
  border-inline-start: 3px solid transparent;
  padding: 8px 10px;
  font-weight: 700;
}

.ch-nav-sub[hidden] {
  display: none !important;
}

.ch-has-children.ch-nav-open > .ch-nav-sub {
  display: block;
}

.ch-nav-sub-link,
.ch-nav-static {
  border-inline-start: 3px solid transparent;
  min-height: 34px;
  padding: 7px 10px 7px 34px;
  color: var(--ch-sidebar-muted);
  font-size: 0.92rem;
}

.ch-nav-link i:first-child,
.ch-nav-fallback-icon {
  flex: 0 0 18px;
  width: 18px;
  text-align: center;
}

.ch-nav-fallback-icon {
  flex-basis: 8px;
  width: 8px;
  height: 8px;
  margin-inline: 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ch-sidebar-text) 20%, transparent);
}

.ch-nav-label {
  flex: 1 1 auto;
  min-width: 0;
}

.ch-nav-caret {
  color: var(--ch-sidebar-muted);
  font-size: 0.75rem;
  transition: transform 160ms ease;
}

.ch-nav-open > .ch-nav-toggle .ch-nav-caret {
  transform: rotate(180deg);
}

.ch-nav-link:hover,
.ch-nav-link:focus,
.ch-sidebar-action:hover,
.ch-sidebar-action:focus {
  background: color-mix(in srgb, var(--ch-sidebar-text) 9%, transparent);
  color: #fff;
  text-decoration: none;
}

.ch-nav-sub-link:hover,
.ch-nav-sub-link:focus {
  background: color-mix(in srgb, var(--ch-sidebar-text) 6%, transparent);
  color: #fff;
  text-decoration: none;
}

.ch-nav-item.active > .ch-nav-link,
.ch-nav-sub-item.active > .ch-nav-sub-link {
  border-inline-start-color: var(--ch-primary);
  background: var(--ch-sidebar-active-bg);
  color: #fff;
}

.ch-nav-item.active > .ch-nav-link i:first-child,
.ch-nav-sub-item.active > .ch-nav-sub-link i:first-child,
.ch-nav-item.active > .ch-nav-link .ch-nav-fallback-icon {
  color: #fff;
}

.ch-nav-divider {
  height: 1px;
  margin: 8px 12px;
  background: var(--ch-sidebar-border);
}

.ch-badge,
.badge {
  border-radius: 999px;
  font-weight: 700;
}

.ch-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  padding: 2px 7px;
  background: color-mix(in srgb, var(--ch-sidebar-text) 14%, transparent);
  color: currentColor;
  font-size: 0.75rem;
}

.ch-sidebar-footer {
  display: grid;
  gap: 8px;
  padding: 12px 10px calc(12px + env(safe-area-inset-bottom));
  border-block-start: 1px solid var(--ch-sidebar-border);
}

.ch-sidebar-action {
  padding: 8px 10px;
  color: var(--ch-sidebar-text);
}

.ch-page {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

.ch-topbar {
  position: sticky;
  inset-block-start: 0;
  z-index: 1020;
  border-block-end: 1px solid var(--ch-border);
  background: color-mix(in srgb, var(--ch-surface) 88%, var(--ch-page-bg));
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

:root[data-ch-theme-mode="dark"] .ch-topbar,
:root[data-ch-theme-mode="system"] .ch-topbar {
  background: var(--ch-page-bg);
}

.ch-topbar-main,
.ch-topbar-sub,
.ch-container {
  width: 100%;
  max-width: var(--ch-container-max);
  margin-inline: auto;
  padding-inline: clamp(18px, 2vw, 28px);
}

.ch-topbar-main {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 74px;
}

.ch-topbar-sub {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-block: 0 14px;
}

.ch-title-block {
  min-width: 0;
}

.ch-title-kicker {
  margin: 0;
  color: var(--ch-muted);
  font-size: 0.78rem;
  font-weight: 720;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ch-page-title,
.ch-body h1,
.ch-body h2,
.ch-body h3,
.ch-body h4,
.ch-body h5,
.ch-body h6 {
  color: var(--ch-heading);
  letter-spacing: 0;
}

.ch-page-title {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ch-topbar-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-inline-start: auto;
  min-width: 0;
}

.ch-icon-btn,
.ch-login-link,
.ch-account-link,
.ch-return-admin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-control);
  background: var(--ch-surface);
  color: var(--ch-text);
  text-decoration: none;
  box-shadow: var(--ch-shadow-sm);
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.ch-icon-btn {
  position: relative;
  padding: 0 12px;
}

.ch-icon-btn:hover,
.ch-login-link:hover,
.ch-account-link:hover,
.ch-return-admin:hover {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
  text-decoration: none;
}

.ch-drawer-close {
  display: none;
  margin-inline-start: auto;
  border-color: var(--ch-sidebar-border);
  background: color-mix(in srgb, var(--ch-sidebar-text) 9%, transparent);
  color: #fff;
}

.ch-menu-toggle {
  display: none;
}

.ch-dot-count {
  position: absolute;
  inset-block-start: -6px;
  inset-inline-end: -6px;
  min-width: 20px;
  min-height: 20px;
  padding: 1px 5px;
  border: 2px solid var(--ch-page-bg);
  border-radius: 999px;
  background: var(--ch-danger);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 16px;
  text-align: center;
}

.ch-account-link {
  gap: 9px;
  max-width: 240px;
  padding: 5px 12px 5px 6px;
}

.ch-admin-return-link {
  gap: 8px;
  max-width: 210px;
  padding: 5px 12px;
  color: var(--ch-muted);
  font-size: 0.9rem;
  font-weight: 760;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
}

.ch-admin-return-link span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ch-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ch-primary-soft);
  color: var(--ch-primary-strong);
  font-weight: 800;
  text-transform: uppercase;
}

.ch-account-name {
  min-width: 0;
  overflow: hidden;
  color: var(--ch-text);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ch-login-link {
  padding: 0 16px;
  font-weight: 800;
}

.ch-breadcrumb {
  min-width: 0;
}

.ch-breadcrumb .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 0.9rem;
}

.ch-breadcrumb .breadcrumb-item,
.ch-breadcrumb .breadcrumb-item a {
  color: var(--ch-muted);
}

.ch-kb-search {
  width: min(360px, 100%);
}

.ch-kb-search .input-group {
  overflow: hidden;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-control);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
}

.ch-kb-search .form-control {
  min-height: 42px;
  border: 0;
  background: transparent;
}

.ch-kb-search .btn {
  min-width: 46px;
  border-radius: 0;
}

.ch-main-body {
  padding-block: 24px 34px;
}

.ch-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.ch-content-grid.ch-has-context {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 18px;
}

.ch-context-toolbar-region {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.ch-context-toolbar-region .sidebar,
.ch-context-toolbar-region .sidebar-secondary {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.ch-context-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
}

.ch-context-toolbar__heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  max-inline-size: 100%;
  color: var(--ch-heading);
  font-size: 0.9rem;
  font-weight: 820;
  white-space: nowrap;
}

.ch-context-toolbar__summary,
.ch-context-toolbar__footer {
  flex: 1 1 220px;
  min-width: 0;
  color: var(--ch-text);
  font-size: 0.9rem;
  line-height: 1.5;
}

.ch-context-toolbar__summary p,
.ch-context-toolbar__footer p {
  margin-block-end: 0;
}

.ch-context-toolbar__items {
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ch-context-toolbar .list-group {
  flex-direction: row;
}

.ch-context-toolbar .list-group-item + .list-group-item {
  border-top-width: 1px;
}

.ch-context-item,
.ch-context-toolbar .list-group-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: auto;
  max-inline-size: 100%;
  min-height: 38px;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--ch-border);
  border-radius: 999px;
  background: var(--ch-surface-soft);
  color: var(--ch-text);
  font-size: 0.88rem;
  font-weight: 720;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ch-context-item__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ch-context-item__icon,
.ch-context-toolbar__heading > i {
  flex: 0 0 auto;
  color: var(--ch-primary-strong);
}

.ch-context-item.active,
.ch-context-toolbar .list-group-item.active,
.ch-context-item:hover,
.ch-context-item:focus {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-soft);
  color: var(--ch-primary-strong);
  text-decoration: none;
}

.ch-context-item.disabled,
.ch-context-toolbar .list-group-item.disabled {
  pointer-events: none;
  opacity: 0.55;
}

.ch-context-item--static {
  cursor: default;
}

.ch-context-badge,
.ch-context-toolbar .badge {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--ch-primary-soft);
  color: var(--ch-primary-strong);
  font-weight: 800;
}

.ch-primary-content {
  min-width: 0;
}

.ch-body .card,
.ch-body .panel,
.ch-body .tile,
.ch-body .list-group,
.ch-body .modal-content {
  border-color: var(--ch-border);
  border-radius: var(--ch-radius-card);
}

.ch-body .card,
.ch-body .panel,
.ch-body .tile {
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
}

.ch-body .card-header,
.ch-body .card-footer,
.ch-body .panel-heading,
.ch-body .panel-footer {
  border-color: var(--ch-border);
  background: var(--ch-surface);
}

.ch-body .panel-heading,
.ch-body .card-sidebar .card-header {
  min-height: 48px;
  padding: 12px 14px;
}

.ch-body .panel-title,
.ch-body .card-sidebar .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ch-heading);
  font-size: 0.98rem;
  font-weight: 820;
  line-height: 1.25;
}

.ch-body .card-title {
  color: var(--ch-heading);
  font-size: 1rem;
  font-weight: 800;
}

.ch-body .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 42px;
  border-width: 1px;
  border-radius: var(--ch-radius-control);
  padding: 0.58rem 1rem;
  color: var(--ch-heading);
  font-size: 0.95rem;
  font-weight: var(--ch-button-weight);
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.ch-body .btn i {
  flex: 0 0 auto;
}

.ch-body .btn-sm {
  min-height: 36px;
  padding: 0.45rem 0.75rem;
  font-size: 0.88rem;
}

.ch-body .btn-xs {
  min-height: 32px;
  padding: 0.34rem 0.58rem;
  border-radius: 8px;
  font-size: 0.82rem;
}

.ch-body .btn-lg {
  min-height: 50px;
  padding: 0.78rem 1.2rem;
  font-size: 1rem;
}

.ch-body .btn-primary,
.ch-body .btn-success,
.ch-body .bg-color-blue {
  border-color: var(--ch-primary);
  background-color: var(--ch-primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--ch-primary) 18%, transparent);
}

.ch-body .btn-primary:hover,
.ch-body .btn-primary:focus,
.ch-body .btn-success:hover,
.ch-body .btn-success:focus {
  border-color: var(--ch-primary-hover);
  background-color: var(--ch-primary-hover) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--ch-primary) 24%, transparent);
}

.ch-body .btn-default,
.ch-body .btn-secondary,
.ch-body .btn-outline-primary,
.ch-body .btn-light {
  border-color: var(--ch-border-strong);
  background: var(--ch-surface);
  color: var(--ch-heading);
  box-shadow: var(--ch-shadow-sm);
}

.ch-body .btn-default:hover,
.ch-body .btn-default:focus,
.ch-body .btn-secondary:hover,
.ch-body .btn-secondary:focus,
.ch-body .btn-outline-primary:hover,
.ch-body .btn-outline-primary:focus,
.ch-body .btn-light:hover,
.ch-body .btn-light:focus {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
}

.ch-body .btn-warning {
  border-color: var(--ch-warning);
  background-color: var(--ch-warning) !important;
  color: #fff !important;
}

.ch-body .btn-danger {
  border-color: var(--ch-danger);
  background-color: var(--ch-danger) !important;
  color: #fff !important;
}

.ch-body .btn-info {
  border-color: color-mix(in srgb, var(--ch-info) 28%, var(--ch-border));
  background: var(--ch-info-soft);
  color: var(--ch-info);
}

.ch-body .btn-info:hover,
.ch-body .btn-info:focus {
  border-color: var(--ch-info);
  background: color-mix(in srgb, var(--ch-info) 16%, var(--ch-surface));
  color: var(--ch-info);
}

.ch-body .btn-link {
  color: var(--ch-primary-strong);
  font-weight: 720;
  min-height: auto;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  padding-inline: 0.2rem;
}

.ch-body .btn-link:hover,
.ch-body .btn-link:focus {
  color: var(--ch-primary-hover);
  text-decoration: underline;
}

.ch-body .btn.disabled,
.ch-body .btn:disabled,
.ch-body fieldset:disabled .btn {
  opacity: 0.55;
  box-shadow: none;
}

.ch-body .btn-block {
  display: flex;
  width: 100%;
}

.ch-body .btn-group > .btn,
.ch-body .input-group-append .btn,
.ch-body .input-group-prepend .btn {
  white-space: nowrap;
}

.ch-body .form-control,
.ch-body .custom-select,
.ch-body input[type="text"],
.ch-body input[type="email"],
.ch-body input[type="password"],
.ch-body input[type="search"],
.ch-body input[type="tel"],
.ch-body input[type="url"],
.ch-body input[type="number"],
.ch-body textarea,
.ch-body select {
  min-height: 42px;
  border-color: var(--ch-border);
  border-radius: var(--ch-radius-control);
  background-color: var(--ch-surface);
  color: var(--ch-text);
  font-size: 16px;
  line-height: 1.45;
  box-shadow: none;
}

.ch-body .form-control:focus,
.ch-body .custom-select:focus,
.ch-body input:focus,
.ch-body textarea:focus,
.ch-body select:focus,
.ch-body button:focus,
.ch-body a:focus {
  border-color: var(--ch-primary);
  box-shadow: 0 0 0 3px var(--ch-focus-ring);
  outline: 0;
}

.ch-field-label {
  display: block;
  margin-block-end: 7px;
  color: var(--ch-heading);
  font-size: 0.92rem;
  font-weight: 750;
}

.ch-body label,
.ch-body .control-label,
.ch-body .col-form-label {
  color: var(--ch-heading);
  font-weight: 700;
}

.ch-body .input-group {
  min-width: 0;
}

.ch-body .input-group-text,
.ch-body .input-group-addon,
.ch-body .input-group-btn {
  border-color: var(--ch-border);
  background: var(--ch-surface-soft);
  color: var(--ch-muted);
}

.ch-body .input-group > .form-control,
.ch-body .input-group > .custom-select {
  min-width: 0;
}

.ch-body input[type="checkbox"],
.ch-body input[type="radio"] {
  accent-color: var(--ch-primary);
}

.ch-body .custom-control-label,
.ch-body .form-check-label {
  color: var(--ch-text);
}

.ch-body .dropdown-menu {
  border-color: var(--ch-border);
  border-radius: var(--ch-radius-card);
  box-shadow: var(--ch-shadow);
}

.ch-body .dropdown-item {
  color: var(--ch-text);
  font-weight: 650;
}

.ch-body .dropdown-item:hover,
.ch-body .dropdown-item:focus,
.ch-body .dropdown-item.active {
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
}

.ch-body .bootstrap-switch {
  display: inline-block;
  min-height: 42px;
  border-color: var(--ch-border);
  border-radius: 999px;
  background: var(--ch-surface-soft);
  color: var(--ch-text);
  overflow: hidden;
  white-space: nowrap;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.ch-body .bootstrap-switch .bootstrap-switch-container {
  white-space: nowrap !important;
}

.ch-body .bootstrap-switch .bootstrap-switch-handle-on,
.ch-body .bootstrap-switch .bootstrap-switch-handle-off,
.ch-body .bootstrap-switch .bootstrap-switch-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 780;
  line-height: 1.2;
  vertical-align: top;
  white-space: nowrap !important;
}

.ch-body .bootstrap-switch .bootstrap-switch-label {
  background: transparent;
}

.ch-body .bootstrap-switch-on .bootstrap-switch-handle-on {
  background: var(--ch-primary);
  color: #fff;
}

.ch-body .bootstrap-switch-off .bootstrap-switch-handle-off {
  background: var(--ch-heading);
  color: #fff;
}

.ch-body .bootstrap-switch-focused,
.ch-body .bootstrap-switch:focus-within {
  border-color: var(--ch-primary);
  box-shadow: 0 0 0 3px var(--ch-focus-ring);
}

body.ch-authenticated {
  --ch-sidebar-bg: #ffffff;
  --ch-sidebar-text: #253041;
  --ch-sidebar-muted: #64748b;
  --ch-sidebar-active-bg: var(--ch-primary-soft);
  --ch-sidebar-border: var(--ch-border);
  --ch-shadow: var(--ch-shadow-sm);
}

body.ch-authenticated .ch-topbar-main {
  min-height: 64px;
}

body.ch-authenticated .ch-title-kicker {
  display: none;
}

body.ch-authenticated .ch-page-title {
  font-size: 1.28rem;
}

body.ch-dashboard-page .ch-topbar-sub {
  display: none;
}

body.ch-dashboard-page .ch-main-body {
  padding-block-start: 20px;
}

body.ch-dashboard-page .network-issue-alert .container {
  min-height: 46px;
  padding-block: 8px;
}

body.ch-dashboard-page .btn-return-to-admin,
.ch-body .btn-return-to-admin {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
}

body.ch-authenticated .ch-sidebar {
  border-inline-end: 1px solid var(--ch-border);
}

body.ch-authenticated .ch-sidebar-header,
body.ch-authenticated .ch-sidebar-footer {
  border-color: var(--ch-border);
}

body.ch-authenticated .ch-nav + .ch-nav {
  border-color: var(--ch-border);
}

body.ch-authenticated .ch-nav-link:hover,
body.ch-authenticated .ch-nav-link:focus,
body.ch-authenticated .ch-sidebar-action:hover,
body.ch-authenticated .ch-sidebar-action:focus {
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
}

body.ch-authenticated .ch-nav-sub-link:hover,
body.ch-authenticated .ch-nav-sub-link:focus {
  color: var(--ch-primary-strong);
}

body.ch-authenticated .ch-nav-item.active > .ch-nav-link,
body.ch-authenticated .ch-nav-sub-item.active > .ch-nav-sub-link {
  border-inline-start-color: var(--ch-primary);
  background: var(--ch-sidebar-active-bg);
  color: var(--ch-primary-strong);
}

body.ch-authenticated .ch-nav-fallback-icon {
  background: var(--ch-primary);
}

body.ch-authenticated .ch-nav-divider {
  background: var(--ch-border);
}

:root[data-ch-theme-mode="dark"] body.ch-authenticated {
  --ch-sidebar-bg: #111827;
  --ch-sidebar-text: #e5e7eb;
  --ch-sidebar-muted: #a7b0bf;
  --ch-sidebar-active-bg: color-mix(in srgb, var(--ch-primary) 24%, transparent);
}

:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-nav-link:hover,
:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-nav-link:focus,
:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-sidebar-action:hover,
:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-sidebar-action:focus {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-nav-sub-link:hover,
:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-nav-sub-link:focus,
:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-nav-item.active > .ch-nav-link,
:root[data-ch-theme-mode="dark"] body.ch-authenticated .ch-nav-sub-item.active > .ch-nav-sub-link {
  color: #fff;
}

@media (prefers-color-scheme: dark) {
  :root[data-ch-theme-mode="system"] body.ch-authenticated {
    --ch-sidebar-bg: #111827;
    --ch-sidebar-text: #e5e7eb;
    --ch-sidebar-muted: #a7b0bf;
    --ch-sidebar-active-bg: color-mix(in srgb, var(--ch-primary) 24%, transparent);
  }

  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-nav-link:hover,
  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-nav-link:focus,
  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-sidebar-action:hover,
  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-sidebar-action:focus {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
  }

  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-nav-sub-link:hover,
  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-nav-sub-link:focus,
  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-nav-item.active > .ch-nav-link,
  :root[data-ch-theme-mode="system"] body.ch-authenticated .ch-nav-sub-item.active > .ch-nav-sub-link {
    color: #fff;
  }
}

.ch-body .alert {
  border-radius: var(--ch-radius-card);
  border-width: 1px;
  box-shadow: none;
}

.ch-body .network-issue-alert {
  border-color: color-mix(in srgb, var(--ch-info) 24%, var(--ch-border));
  background: color-mix(in srgb, var(--ch-info) 9%, var(--ch-surface));
  color: var(--ch-primary-strong);
}

.ch-body .network-issue-alert .alert-link {
  color: var(--ch-heading);
  font-weight: 780;
}

.ch-body .alert-success,
.ch-body .badge-success,
.ch-body .label-success {
  border-color: color-mix(in srgb, var(--ch-success) 28%, var(--ch-border));
  background-color: var(--ch-success-soft);
  color: var(--ch-success);
}

.ch-body .alert-warning,
.ch-body .badge-warning,
.ch-body .label-warning {
  border-color: color-mix(in srgb, var(--ch-warning) 30%, var(--ch-border));
  background-color: var(--ch-warning-soft);
  color: var(--ch-warning);
}

.ch-body .alert-danger,
.ch-body .badge-danger,
.ch-body .label-danger {
  border-color: color-mix(in srgb, var(--ch-danger) 28%, var(--ch-border));
  background-color: var(--ch-danger-soft);
  color: var(--ch-danger);
}

.ch-body .alert-info,
.ch-body .badge-info,
.ch-body .label-info {
  border-color: color-mix(in srgb, var(--ch-info) 28%, var(--ch-border));
  background-color: var(--ch-info-soft);
  color: var(--ch-info);
}

.ch-body .label,
.ch-body .status,
.ch-body .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  min-height: 24px;
  border: 1px solid var(--ch-border);
  border-radius: 999px;
  background: var(--ch-neutral-soft);
  color: var(--ch-text);
  padding: 0.18rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.2;
  white-space: nowrap;
}

.ch-body .status-active,
.ch-body .status-paid,
.ch-body .status-completed,
.ch-body .status-accepted,
.ch-body .status-delivered {
  border-color: color-mix(in srgb, var(--ch-success) 30%, var(--ch-border));
  background: var(--ch-success-soft);
  color: var(--ch-success);
}

.ch-body .status-pending,
.ch-body .status-unpaid,
.ch-body .status-inprogress,
.ch-body .status-in-progress,
.ch-body .status-onhold,
.ch-body .status-on-hold,
.ch-body .status-collections {
  border-color: color-mix(in srgb, var(--ch-warning) 30%, var(--ch-border));
  background: var(--ch-warning-soft);
  color: var(--ch-warning);
}

.ch-body .status-suspended,
.ch-body .status-terminated,
.ch-body .status-cancelled,
.ch-body .status-canceled,
.ch-body .status-expired,
.ch-body .status-fraud,
.ch-body .status-lost,
.ch-body .status-dead {
  border-color: color-mix(in srgb, var(--ch-danger) 30%, var(--ch-border));
  background: var(--ch-danger-soft);
  color: var(--ch-danger);
}

.ch-body .status-open,
.ch-body .status-answered,
.ch-body .status-customer-reply,
.ch-body .status-custom {
  border-color: color-mix(in srgb, var(--ch-info) 28%, var(--ch-border));
  background: var(--ch-info-soft);
  color: var(--ch-info);
}

.ch-body .table,
.ch-body table {
  color: var(--ch-text);
}

.ch-body .table-container,
.ch-body .listtable {
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
}

.ch-body .listtable {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  grid-template-areas:
    "info filter"
    "table table"
    "length paginate";
  align-items: center;
  gap: 12px 16px;
  padding: 14px 16px;
}

.ch-body .dataTables_filter .form-control,
.ch-body .dataTables_length .custom-select,
.ch-body .dataTables_length select {
  min-height: 40px;
}

.ch-body .dataTables_filter {
  grid-area: filter;
  justify-self: end;
  margin: 0;
}

.ch-body .dataTables_filter label {
  display: block;
  margin: 0;
}

.ch-body .dataTables_filter input {
  width: min(280px, 100%);
  margin: 0;
}

.ch-body .dataTables_info {
  grid-area: info;
  color: var(--ch-muted);
  font-size: 0.92rem;
  line-height: 1.35;
}

.ch-body .dataTables_wrapper table,
.ch-body .listtable table {
  grid-area: table;
  grid-column: 1 / -1;
  width: 100% !important;
  margin: 0 !important;
}

.ch-body .dataTables_length,
.ch-body .dataTables_paginate {
  margin-block-start: 0;
}

.ch-body .dataTables_length {
  grid-area: length;
  justify-self: start;
}

.ch-body .dataTables_paginate {
  grid-area: paginate;
  justify-self: end;
}

.ch-body .dataTables_length label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--ch-text);
  font-size: 0.92rem;
  font-weight: 650;
}

.ch-body .dataTables_paginate {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}

.ch-table-identifier {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  max-inline-size: 100%;
  color: var(--ch-heading);
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
}

.ch-table-identifier:hover,
.ch-table-identifier:focus {
  color: var(--ch-primary-strong);
  text-decoration: underline;
}

.ch-table-identifier-label {
  flex: 0 0 auto;
}

.ch-table-identifier-value {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  word-break: normal;
}

.ch-body .ch-mobile-card-action {
  display: none;
}

.ch-body .dataTables_paginate .paginate_button,
.ch-body .pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  border: 1px solid var(--ch-border);
  border-radius: 9px;
  background: var(--ch-surface);
  color: var(--ch-text) !important;
  padding: 0.4rem 0.65rem;
  font-weight: 700;
  text-decoration: none;
}

.ch-body .dataTables_paginate .paginate_button.current,
.ch-body .dataTables_paginate .paginate_button:hover,
.ch-body .dataTables_paginate .paginate_button:focus,
.ch-body .pagination .active .page-link,
.ch-body .pagination .page-link:hover,
.ch-body .pagination .page-link:focus {
  border-color: var(--ch-primary);
  background: var(--ch-primary);
  color: #fff !important;
}

.ch-body .dataTables_paginate .paginate_button.disabled,
.ch-body .pagination .disabled .page-link {
  opacity: 0.55;
  pointer-events: none;
}

.ch-body .listtable.ch-datatable-single-page {
  grid-template-areas:
    "info filter"
    "table table";
}

.ch-body .listtable.ch-datatable-single-page .dataTables_paginate,
.ch-body .listtable.ch-datatable-hide-length .dataTables_length {
  display: none;
}

.ch-body .table th,
.ch-body .table td,
.ch-body table th,
.ch-body table td {
  border-color: var(--ch-border);
  vertical-align: middle;
  overflow-wrap: normal;
  word-break: normal;
  padding: 14px 16px;
  font-size: 0.94rem;
}

.ch-body .table td,
.ch-body table td {
  overflow-wrap: anywhere;
}

.ch-body .table thead th,
.ch-body table thead th {
  border-block-end-width: 1px;
  background: var(--ch-surface-soft);
  color: var(--ch-heading);
  font-size: 0.8rem;
  font-weight: 780;
  letter-spacing: 0.015em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ch-body .table tbody tr,
.ch-body table tbody tr {
  transition: background-color 140ms ease;
}

.ch-body .table tbody tr:hover,
.ch-body table tbody tr:hover {
  background: var(--ch-primary-subtle);
}

.ch-body .table-responsive,
.ch-body .dataTables_wrapper,
.ch-body .listtable {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ch-empty-state {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-height: 128px;
  padding: 28px 18px;
  color: var(--ch-muted);
  text-align: center;
}

.ch-empty-state i {
  color: var(--ch-primary);
  font-size: 1.35rem;
}

.ch-empty-state strong {
  color: var(--ch-heading);
  font-size: 1rem;
}

.ch-body td.dataTables_empty {
  padding: 0 !important;
}

.ch-body .tiles .tile {
  display: block;
  height: 100%;
  margin: 0;
  border: 1px solid var(--ch-border);
  padding: 20px;
  color: var(--ch-text);
  text-align: start;
}

.ch-body .tiles .tile .stat {
  color: var(--ch-heading);
  font-size: 1.75rem;
  font-weight: 850;
}

.ch-body .tiles .tile .title {
  color: var(--ch-muted);
  font-weight: 700;
}

.ch-body .tiles .tile i {
  color: var(--ch-primary);
}

.ch-body .product-status {
  overflow: hidden;
  border: 1px solid var(--ch-border);
  background: var(--ch-neutral-soft);
}

.ch-body .product-status-text {
  color: var(--ch-heading);
  font-weight: 780;
}

.ch-body .product-status-active {
  background: var(--ch-success-soft);
}

.ch-body .product-status-pending {
  background: var(--ch-warning-soft);
}

.ch-body .product-status-suspended,
.ch-body .product-status-cancelled,
.ch-body .product-status-terminated,
.ch-body .product-status-fraud {
  background: var(--ch-danger-soft);
}

.ch-body .client-home-cards .card {
  margin-block-end: 18px;
}

.ch-body .sidebar .card {
  border: 1px solid var(--ch-border);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
  overflow: hidden;
}

.ch-body .card-sidebar .list-group-item {
  display: flex;
  align-items: center;
  min-height: 40px;
  border-color: var(--ch-border);
  color: var(--ch-text);
  padding: 10px 14px;
  overflow-wrap: anywhere;
}

.ch-body .card-sidebar .list-group-item.active {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-soft);
  color: var(--ch-primary-strong);
}

.ch-body .card-sidebar .list-group-item:hover,
.ch-body .card-sidebar .list-group-item:focus {
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
}

.ch-body .card-sidebar .sidebar-menu-item-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.ch-body .card-sidebar .sidebar-menu-item-label {
  flex: 1 1 auto;
  min-width: 0;
}

.ch-body .card-sidebar .sidebar-menu-item-badge {
  flex: 0 0 auto;
}

.ch-body .card-sidebar .card-minimise {
  margin-inline-start: auto;
  color: var(--ch-muted);
  font-size: 0.8rem;
}

.ch-dashboard-hero,
.ch-urgent-actions {
  display: grid;
  gap: 16px;
  margin-block-end: 20px;
}

.ch-dashboard-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow);
  padding: 22px;
}

.ch-dashboard-hero h2 {
  margin: 0 0 4px;
  font-size: 1.45rem;
  font-weight: 850;
}

.ch-dashboard-hero p {
  margin: 0;
  color: var(--ch-muted);
}

.ch-dashboard-eyebrow {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: none;
}

.ch-quick-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.ch-quick-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ch-urgent-actions {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.ch-urgent-item {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  color: var(--ch-text);
  padding: 14px 16px;
  text-decoration: none;
  box-shadow: var(--ch-shadow-sm);
}

.ch-urgent-item:hover,
.ch-urgent-item:focus {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-subtle);
  color: var(--ch-text);
  text-decoration: none;
}

.ch-urgent-item i {
  color: var(--ch-primary);
}

.ch-urgent-danger i {
  color: var(--ch-danger);
}

.ch-urgent-item strong,
.ch-urgent-item small {
  display: block;
}

.ch-urgent-item small {
  color: var(--ch-muted);
}

.ch-dashboard-page .ch-container {
  max-width: min(1480px, 100%);
}

.ch-dashboard-start {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-block-end: 18px;
  border: 1px solid var(--ch-border);
  border-radius: 12px;
  background: linear-gradient(135deg, var(--ch-surface) 0%, color-mix(in srgb, var(--ch-primary-subtle) 72%, var(--ch-surface)) 100%);
  box-shadow: var(--ch-shadow-sm);
  padding: clamp(20px, 2.4vw, 28px);
  text-align: start;
}

.ch-dashboard-copy {
  max-width: 680px;
}

.ch-dashboard-start h2 {
  margin: 0 0 6px;
  color: var(--ch-heading);
  font-size: clamp(1.55rem, 2.1vw, 2.05rem);
  font-weight: 820;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.ch-dashboard-start p {
  margin: 0;
  color: var(--ch-muted);
  font-size: 0.98rem;
}

.ch-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.ch-dashboard-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  max-width: 100%;
  border-radius: var(--ch-radius-control);
  padding-inline: 15px;
  white-space: normal;
}

.ch-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-block-end: 18px;
}

.ch-metric-card {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  color: var(--ch-text);
  padding: 14px;
  text-decoration: none;
  box-shadow: var(--ch-shadow-sm);
}

.ch-metric-card:hover,
.ch-metric-card:focus {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-subtle);
  color: var(--ch-text);
  text-decoration: none;
}

.ch-metric-icon {
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--ch-primary-border);
  border-radius: 10px;
  background: var(--ch-primary-soft);
  color: var(--ch-primary-strong);
}

.ch-metric-attention .ch-metric-icon {
  border-color: color-mix(in srgb, var(--ch-danger) 28%, var(--ch-border));
  background: var(--ch-danger-soft);
  color: var(--ch-danger);
}

.ch-metric-body {
  display: grid;
  min-width: 0;
}

.ch-metric-value {
  color: var(--ch-heading);
  font-size: 1.55rem;
  font-weight: 850;
  line-height: 1;
}

.ch-metric-label {
  color: var(--ch-muted);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.ch-dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(248px, 280px);
  align-items: start;
  gap: 18px;
}

.ch-dashboard-feed,
.ch-dashboard-tools {
  min-width: 0;
}

.ch-dashboard-tools {
  display: grid;
  gap: 14px;
}

.ch-dashboard-panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ch-body .client-home-cards .card,
.ch-dashboard-panel {
  margin: 0;
}

.ch-dashboard-panel .card-header,
.ch-tool-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 50px;
  padding: 14px 16px;
  border-block-end: 1px solid var(--ch-border);
  background: var(--ch-surface);
}

.ch-dashboard-panel .card-title,
.ch-tool-card-header h3 {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
  margin: 0;
  color: var(--ch-heading);
  font-size: 0.98rem;
  font-weight: 820;
}

.ch-dashboard-panel .card-title span,
.ch-tool-card-header h3 span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ch-dashboard-panel .card-title i,
.ch-tool-card-header h3 i {
  color: var(--ch-primary);
}

.ch-dashboard-panel .card-body {
  padding: 16px;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] {
  grid-column: 1 / -1;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 14px;
  inline-size: 100%;
  min-inline-size: 0;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-status {
  min-inline-size: max-content;
  text-align: start;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-status .label:not(.label-placeholder) {
  inline-size: auto;
  max-inline-size: 8rem;
  padding: 7px 12px;
  border-radius: 999px;
  color: var(--ch-heading);
  font-size: 0.82rem;
  font-weight: 800;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-name {
  min-inline-size: 0;
  margin: 0;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-name > span {
  display: block;
  max-inline-size: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-name .font-weight-bold {
  color: var(--ch-heading);
  font-size: 0.98rem;
  font-weight: 820;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-name .text-domain {
  color: var(--ch-text);
  font-size: 0.93rem;
  font-weight: 650;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-inline-size: 0;
  max-inline-size: 100%;
  margin: 0;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons .btn-group,
.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons .btn {
  max-inline-size: 100%;
}

.ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons .btn {
  min-block-size: 42px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ch-dashboard-panel .list-group-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  border-color: var(--ch-border);
  color: var(--ch-text);
  overflow-wrap: anywhere;
}

.ch-dashboard-panel .list-group-item-action:hover,
.ch-dashboard-panel .list-group-item-action:focus {
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
}

.ch-panel-action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-color: var(--ch-border-strong) !important;
  background: var(--ch-surface) !important;
  color: var(--ch-heading) !important;
  box-shadow: var(--ch-shadow-sm);
}

.ch-panel-action:hover,
.ch-panel-action:focus {
  border-color: var(--ch-primary-border) !important;
  background: var(--ch-primary-subtle) !important;
  color: var(--ch-primary-strong) !important;
}

.ch-tool-card {
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
  overflow: hidden;
}

.ch-account-summary-card {
  padding: 0;
}

.ch-account-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}

.ch-account-summary-avatar {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--ch-primary-border);
  border-radius: 50%;
  background: var(--ch-primary-soft);
  color: var(--ch-primary-strong);
  font-weight: 850;
  text-transform: uppercase;
}

.ch-account-summary-text {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.ch-account-summary-text strong {
  color: var(--ch-heading);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ch-account-summary-text small {
  color: var(--ch-muted);
  overflow-wrap: anywhere;
}

.ch-account-summary-card .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: calc(100% - 32px);
  margin: 0 16px 16px;
}

.ch-tool-list {
  display: grid;
  gap: 4px;
  padding: 10px;
}

.ch-tool-link {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 9px;
  min-height: 40px;
  border-radius: var(--ch-radius-control);
  color: var(--ch-text);
  padding: 8px 10px;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.ch-tool-link i {
  flex: 0 0 18px;
  color: var(--ch-primary);
  text-align: center;
}

.ch-tool-link span:first-of-type {
  min-width: 0;
}

.ch-tool-link:hover,
.ch-tool-link:focus,
.ch-tool-link.active {
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
  text-decoration: none;
}

.ch-security-card .card-body {
  padding: 24px;
}

.ch-security-card .card-title {
  margin-block-end: 14px;
  font-size: 1.08rem;
}

.ch-security-card .twofa-config-link:not(.btn) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid var(--ch-border);
  border-radius: 999px;
  background: var(--ch-neutral-soft);
  color: var(--ch-text);
  padding: 0.35rem 0.7rem;
  font-weight: 700;
}

.ch-security-state {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-inline-size: 100%;
  min-height: 34px;
  border: 1px solid var(--ch-border);
  border-radius: 999px;
  background: var(--ch-neutral-soft);
  color: var(--ch-text);
  padding: 0.35rem 0.7rem;
  font-weight: 740;
  line-height: 1.25;
}

.ch-security-state--enabled {
  border-color: color-mix(in srgb, var(--ch-success) 24%, var(--ch-border));
  background: var(--ch-success-soft);
  color: var(--ch-success);
}

.ch-security-state--disabled {
  border-color: color-mix(in srgb, var(--ch-warning) 28%, var(--ch-border));
  background: var(--ch-warning-soft);
  color: var(--ch-warning);
}

.ch-security-card .twofa-config-link:not(.btn) strong {
  color: var(--ch-heading);
}

.ch-security-card .alert {
  margin-block: 16px;
}

.ch-sso-control {
  display: grid;
  gap: 10px;
  margin-block: 16px;
}

.ch-sso-label {
  margin: 0;
  color: var(--ch-heading);
  font-weight: 820;
}

.ch-sso-toggle-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.ch-sso-card .bootstrap-switch {
  flex: 0 0 auto;
  max-width: 116px;
}

.ch-sso-card .bootstrap-switch .bootstrap-switch-container {
  display: inline-block !important;
}

.ch-security-help {
  margin-block: 12px 0;
  color: var(--ch-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

.ch-tool-body,
.ch-tool-footer {
  padding: 12px 16px;
}

.ch-home-domain-search {
  border-block-end: 1px solid var(--ch-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--ch-surface) 84%, var(--ch-primary-subtle)) 0%, var(--ch-page-bg) 100%);
  padding-block: 30px;
}

.ch-home-domain-search form,
.ch-home-domain-search .home-domain-search {
  margin: 0;
  background: transparent !important;
}

.ch-home-domain-search .home-domain-search .container {
  max-width: var(--ch-container-max);
}

.ch-home-domain-search .home-domain-search .p-5 {
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
  padding: 28px !important;
}

.ch-home-domain-search h2 {
  margin-block-end: 20px;
  color: var(--ch-heading);
  font-size: 1.65rem;
  font-weight: 850;
}

.ch-home-domain-search .input-group-wrapper {
  max-width: 980px;
  margin-inline: auto;
}

.ch-home-domain-search .input-group {
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-control);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
}

.ch-home-domain-search .form-control {
  min-height: 58px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 1rem;
}

.ch-home-domain-search .input-group-append {
  gap: 8px;
  padding: 8px;
}

.ch-home-domain-search .btn {
  min-width: 112px;
}

.ch-home-domain-search .btn-success {
  border-color: var(--ch-secondary);
  background: var(--ch-secondary);
  color: #fff;
}

.ch-home-domain-search .btn-link {
  color: var(--ch-primary);
}

.ch-body .card-columns.home {
  column-gap: 18px;
}

.ch-body .card-columns.home .card {
  break-inside: avoid;
  border: 1px solid var(--ch-border);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-sm);
}

.ch-body .card-columns.home .card-body {
  padding: 24px !important;
}

.ch-body .card-columns.home .pricing-card-title {
  margin-block-end: 8px;
  font-size: 1.1rem;
}

.ch-body .card-columns.home .btn-outline-primary {
  border-color: var(--ch-primary-border);
  color: var(--ch-primary-strong);
}

.ch-body .card-columns.home .btn-outline-primary:hover,
.ch-body .card-columns.home .btn-outline-primary:focus {
  background: var(--ch-primary);
  color: #fff;
}

.ch-body .action-icon-btns a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 132px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-card);
  background: var(--ch-surface);
  color: var(--ch-text);
  box-shadow: var(--ch-shadow-sm);
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.ch-body .action-icon-btns a:hover,
.ch-body .action-icon-btns a:focus {
  border-color: var(--ch-primary-border);
  background: var(--ch-primary-subtle);
  color: var(--ch-primary-strong);
  text-decoration: none;
}

.ch-body .action-icon-btns .ico-container {
  display: block;
  margin-block-end: 8px;
  color: var(--ch-primary-strong);
  font-size: 1.4rem;
}

.ch-footer {
  border-block-start: 1px solid var(--ch-border);
  background: color-mix(in srgb, var(--ch-surface) 84%, var(--ch-page-bg));
  color: var(--ch-muted);
  padding-block: 22px;
}

.ch-footer-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ch-footer-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 18px;
}

.ch-footer-custom {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--ch-muted);
  font-size: 0.92rem;
}

.ch-footer-custom a {
  color: var(--ch-muted);
  font-weight: 700;
}

.ch-footer-links a,
.ch-language-btn {
  color: var(--ch-muted);
  font-weight: 700;
}

.ch-language-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding-inline: 0;
  text-align: start;
  white-space: normal;
}

.ch-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1030;
  background: rgba(15, 23, 42, 0.48);
}

.ch-auth-header {
  display: none;
}

.ch-auth-page {
  --ch-page-bg: #f5f7fb;
  --ch-container-max: none;
}

body.ch-auth-page {
  height: auto;
  min-block-size: 100vh;
  min-block-size: 100dvh;
  overflow-x: clip;
  overflow-y: visible;
}

.ch-auth-page .ch-sidebar,
.ch-auth-page .ch-topbar,
.ch-auth-page .ch-footer,
.ch-auth-page .ch-drawer-backdrop {
  display: none !important;
}

.ch-auth-page .ch-app {
  display: block;
  min-block-size: 100vh;
  min-block-size: 100dvh;
  background: var(--ch-page-bg);
}

.ch-auth-page .ch-page {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(min-content, 1fr) auto;
  min-block-size: 100vh;
  min-block-size: 100dvh;
}

.ch-auth-page .ch-auth-header {
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(14px, 2.5dvh, 22px) clamp(18px, 4vw, 64px) clamp(8px, 1.5dvh, 14px);
}

.ch-auth-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.ch-auth-brand .ch-brand-img {
  width: auto;
  max-width: 170px;
  height: 42px;
}

.ch-auth-home-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border: 1px solid var(--ch-border);
  border-radius: 14px;
  background: var(--ch-surface);
  color: var(--ch-heading);
  padding-inline: 16px;
  font-size: 0.95rem;
  font-weight: 750;
  text-decoration: none;
}

.ch-auth-home-link:hover,
.ch-auth-home-link:focus {
  color: var(--ch-heading);
  text-decoration: none;
}

.ch-auth-page .network-issue-alert {
  margin: 0 !important;
  border-block: 0 1px;
  border-inline: 0;
  border-radius: 0;
  padding: 0;
}

.ch-auth-page .network-issue-alert .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: none;
  padding: 9px clamp(18px, 4vw, 64px);
}

.ch-auth-page .network-issue-alert .alert-link {
  float: none !important;
  margin-inline-start: auto;
  white-space: nowrap;
}

.ch-auth-page #main-body {
  display: grid;
  min-block-size: 0;
  padding: 0;
}

.ch-auth-page .ch-main-body > .container-fluid {
  display: grid;
  min-block-size: 100%;
  max-width: none;
  padding: 0;
}

.ch-auth-page .ch-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0;
  min-block-size: 100%;
  width: 100%;
}

.ch-auth-page .ch-primary-content {
  display: grid;
  align-content: safe center;
  justify-items: center;
  width: 100%;
  min-block-size: 100%;
  padding: clamp(14px, 2.5dvh, 28px) clamp(16px, 4vw, 48px);
}

.ch-register-page .ch-primary-content {
  align-content: start;
  padding-block-start: clamp(18px, 3dvh, 36px);
}

.ch-auth-form,
.ch-password-reset {
  width: min(100%, 500px);
  margin: 0;
}

.ch-auth-card {
  width: 100%;
  margin-block: 0 !important;
  border: 1px solid var(--ch-border);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.07);
}

.ch-auth-card .card-body {
  padding: clamp(22px, 2.4vw, 32px) !important;
}

.ch-auth-card .card-footer {
  border-block-start: 1px solid var(--ch-border);
  background: var(--ch-surface);
  padding: 0 clamp(24px, 3vw, 40px) clamp(22px, 3vw, 32px);
}

.ch-auth-title {
  margin-block-end: 20px;
  text-align: center;
}

.ch-auth-title h1 {
  margin: 0;
  color: var(--ch-heading);
  font-size: clamp(1.85rem, 2.4vw, 2.35rem);
  font-weight: 820;
  line-height: 1.08;
}

.ch-auth-title p {
  max-width: 560px;
  margin: 8px auto 0;
  color: var(--ch-muted);
  font-size: 0.98rem;
}

.ch-auth-provider-block .social-signin-btns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
}

.ch-auth-provider-block .social-signin-btns > * {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  border-radius: 12px;
  overflow: hidden;
}

.ch-auth-provider-block .social-signin-btns a,
.ch-auth-provider-block .social-signin-btns button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  border-radius: 12px;
}

.ch-auth-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 20px 0;
  color: var(--ch-muted);
  font-weight: 650;
}

.ch-auth-divider::before,
.ch-auth-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--ch-border);
}

.ch-auth-submit {
  margin-block-start: 16px;
}

.ch-auth-submit .btn,
.ch-auth-submit input[type="submit"] {
  width: 100%;
  min-height: 48px;
  font-size: 1rem;
}

.ch-auth-remember {
  margin-block-start: 12px;
  text-align: start;
}

.ch-auth-register {
  width: min(100%, 860px);
}

.ch-register-form {
  width: 100%;
}

.ch-register-form .card {
  border: 1px solid var(--ch-border);
  border-radius: 18px;
  box-shadow: none;
}

.ch-register-form .card-body {
  padding: clamp(22px, 3vw, 34px) !important;
}

.ch-register-form .card-title {
  margin-block-end: 20px;
  color: var(--ch-heading);
  font-size: 1.05rem;
  font-weight: 820;
  line-height: 1.3;
}

body.ch-auth-page #registration label:not(.field-icon),
body.ch-auth-page #registration .form-control-label,
.ch-register-form label:not(.field-icon),
.ch-register-form .form-control-label {
  display: block;
  margin-block-end: 8px;
  color: var(--ch-heading);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
}

.ch-auth-page .prepend-icon .field-icon {
  display: none;
}

.ch-auth-page .prepend-icon > .field,
.ch-auth-page .prepend-icon > .form-control,
.ch-auth-page .prepend-icon > input,
.ch-auth-page .prepend-icon > select {
  width: 100%;
  padding-inline-start: 14px !important;
}

.ch-auth-page .form-group {
  margin-block-end: 16px;
}

.ch-auth-page .form-control,
.ch-auth-page .field,
.ch-auth-page select {
  min-height: 48px;
  font-size: 1rem;
}

body.ch-auth-page #registration .field,
body.ch-auth-page #registration .form-control,
body.ch-auth-page #registration select,
body.ch-auth-page #registration textarea,
.ch-register-form .field,
.ch-register-form .form-control,
.ch-register-form select,
.ch-register-form textarea {
  height: auto;
  min-height: 48px;
  border-color: var(--ch-border);
  border-radius: 10px;
  background-color: var(--ch-surface);
  color: var(--ch-text);
  font-size: 1rem;
  line-height: 1.45;
  padding: 0.72rem 0.9rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

body.ch-auth-page #registration textarea.field,
body.ch-auth-page #registration textarea.form-control,
.ch-register-form textarea.field,
.ch-register-form textarea.form-control {
  min-height: 110px;
}

body.ch-auth-page #registration .field:focus,
body.ch-auth-page #registration .form-control:focus,
body.ch-auth-page #registration select:focus,
body.ch-auth-page #registration textarea:focus,
.ch-register-form .field:focus,
.ch-register-form .form-control:focus,
.ch-register-form select:focus,
.ch-register-form textarea:focus {
  border-color: var(--ch-primary);
  box-shadow: 0 0 0 3px var(--ch-focus-ring);
  outline: 0;
}

body.ch-auth-page #registration select.field,
body.ch-auth-page #registration select.form-control,
.ch-register-form select.field,
.ch-register-form select.form-control {
  padding-inline-end: 2.25rem;
}

.ch-auth-page .input-group-text {
  min-width: 46px;
  justify-content: center;
  background: var(--ch-surface-soft);
  border-color: var(--ch-border);
  color: var(--ch-muted);
}

.ch-auth-page .btn-reveal-pw {
  min-width: 46px;
  min-height: 48px;
  border-color: var(--ch-border);
  color: var(--ch-muted);
}

.ch-auth-page #default-captcha-domainchecker {
  align-items: center;
  gap: 10px;
  margin-inline: 0;
  padding-bottom: 0 !important;
}

.ch-auth-page #default-captcha-domainchecker p {
  flex: 0 0 100%;
  max-width: 100%;
  margin-bottom: 0.35rem;
  color: var(--ch-muted);
  font-size: 0.92rem;
  line-height: 1.35;
}

.ch-auth-page #default-captcha-domainchecker .captchaimage,
.ch-auth-page #default-captcha-domainchecker > .col-6 {
  flex: 0 0 calc(50% - 5px);
  max-width: calc(50% - 5px);
  padding-inline: 0;
}

.ch-auth-page .captchaimage img {
  max-width: 100%;
  max-height: 40px;
}

.ch-auth-page #inputCaptcha {
  min-height: 40px;
}

.login-form .ch-auth-card .card-footer {
  display: none;
}

.ch-register-form .field::placeholder,
.ch-register-form .form-control::placeholder {
  color: var(--ch-muted);
}

.ch-register-form .intl-tel-input,
.ch-register-form .iti {
  width: 100%;
}

.ch-register-form .intl-tel-input .selected-flag,
.ch-register-form .iti__selected-flag {
  border-radius: 10px 0 0 10px;
  background: var(--ch-surface-soft);
}

.ch-register-form .generate-password {
  min-height: 42px;
  border: 1px solid var(--ch-border);
  border-radius: 10px;
  background: var(--ch-surface);
  color: var(--ch-heading);
  font-weight: 750;
}

.ch-register-form .generate-password:hover,
.ch-register-form .generate-password:focus {
  border-color: var(--ch-primary);
  color: var(--ch-primary);
  text-decoration: none;
}

.ch-register-form .password-strength-meter .progress {
  height: 8px;
  border-radius: 999px;
  background: var(--ch-surface-soft);
  overflow: hidden;
}

.ch-register-form .password-strength-meter .progress-bar {
  border-radius: inherit;
}

.ch-register-form .password-strength-meter .small {
  margin-block-start: 8px;
  color: var(--ch-muted) !important;
}

.ch-register-form input[type="checkbox"]:not(.toggle-switch-success) {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--ch-primary);
}

.ch-register-form .form-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: var(--ch-text);
  text-align: start;
}

.ch-register-form .form-check-input {
  position: static;
  margin: 0.2rem 0 0;
  flex: 0 0 auto;
}

.ch-register-form .ch-marketing-card p {
  max-width: 68rem;
  margin-block-end: 18px;
  color: var(--ch-text);
  font-size: 1rem;
  line-height: 1.65;
}

.ch-toggle-field {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
}

.ch-register-form .bootstrap-switch {
  position: relative;
  display: inline-block;
  width: 148px !important;
  min-width: 148px;
  max-width: 100%;
  min-height: 46px;
  border: 1px solid var(--ch-border);
  border-radius: 999px;
  background: var(--ch-surface-soft);
  padding: 4px;
  overflow: hidden;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.ch-register-form .bootstrap-switch-container {
  position: relative;
  display: grid !important;
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100% !important;
  min-height: 36px;
  margin-left: 0 !important;
  transform: none !important;
  transition: none !important;
  white-space: nowrap;
}

.ch-register-form .bootstrap-switch-handle-on,
.ch-register-form .bootstrap-switch-handle-off {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0;
  min-height: 36px;
  border-radius: 999px;
  background: transparent !important;
  color: var(--ch-muted);
  font-weight: 780;
  line-height: 1.2;
  padding: 0 12px;
  white-space: nowrap;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.ch-register-form .bootstrap-switch-label {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px;
  padding: 0 !important;
  background: transparent !important;
  cursor: pointer;
  opacity: 0;
}

.ch-register-form .bootstrap-switch-on .bootstrap-switch-handle-on {
  background: var(--ch-success) !important;
  color: #ffffff;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--ch-success) 20%, transparent);
}

.ch-register-form .bootstrap-switch-off .bootstrap-switch-handle-off {
  background: var(--ch-heading) !important;
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
}

.ch-register-form .bootstrap-switch-on .bootstrap-switch-handle-off,
.ch-register-form .bootstrap-switch-off .bootstrap-switch-handle-on {
  color: var(--ch-muted);
}

.ch-register-form .bootstrap-switch:hover,
.ch-register-form .bootstrap-switch-focused {
  border-color: var(--ch-primary-border);
  box-shadow: 0 0 0 3px var(--ch-focus-ring);
}

.ch-register-form .bootstrap-switch input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  min-width: 0 !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0;
}

.ch-auth-page .alert {
  text-align: start;
}

.ch-auth-admin-footer {
  padding: 0 clamp(16px, 4vw, 48px) clamp(16px, 2.5dvh, 28px);
  text-align: center;
}

.ch-auth-admin-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  border: 1px solid var(--ch-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--ch-surface) 70%, transparent);
  color: var(--ch-muted);
  padding: 7px 12px;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.ch-auth-admin-link:hover,
.ch-auth-admin-link:focus {
  color: var(--ch-heading);
  text-decoration: none;
  background: var(--ch-surface);
}

.ch-password-reset .mb-4 {
  text-align: center;
  margin-bottom: 1.25rem !important;
}

.ch-password-reset h1,
.ch-password-reset h2,
.ch-password-reset h3,
.ch-password-reset h4,
.ch-password-reset h5,
.ch-password-reset h6 {
  color: var(--ch-heading);
  font-size: clamp(1.85rem, 2.4vw, 2.35rem);
  font-weight: 820;
  line-height: 1.1;
}

.ch-password-reset form .btn-primary,
.ch-password-reset form input[type="submit"] {
  width: 100%;
  min-height: 50px;
}

@media (max-width: 1199.98px) {
  .ch-content-grid.ch-has-context {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-context-toolbar {
    align-items: flex-start;
  }

  .ch-context-toolbar__items {
    flex: 1 1 100%;
  }

  .ch-dashboard-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-dashboard-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1023.98px) {
  .ch-app {
    display: block;
  }

  .ch-sidebar {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    width: min(var(--ch-sidebar-width), calc(100vw - 42px));
    transform: translate3d(-100vw, 0, 0);
    transition: transform 180ms ease;
  }

  [dir="rtl"] .ch-sidebar {
    transform: translate3d(100vw, 0, 0);
  }

  .ch-drawer-open .ch-sidebar {
    transform: translate3d(0, 0, 0);
  }

  .ch-drawer-close,
  .ch-menu-toggle {
    display: inline-flex;
  }

  .ch-topbar {
    position: relative;
  }

  .ch-topbar-main,
  .ch-topbar-sub,
  .ch-container {
    padding-inline: 16px;
  }

  .ch-topbar-sub {
    align-items: stretch;
    flex-direction: column;
  }

  .ch-kb-search {
    width: 100%;
  }

  .ch-nav-link,
  .ch-sidebar-action {
    min-height: 44px;
  }

  .ch-nav-sub-link,
  .ch-nav-static {
    min-height: 42px;
    padding-block: 9px;
  }

  .ch-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ch-dashboard-panel-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-auth-page .ch-primary-content {
    padding-block: clamp(16px, 3dvh, 28px);
  }
}

@media (max-width: 767.98px) {
  .ch-topbar-main {
    min-height: 64px;
    gap: 10px;
  }

  .ch-title-kicker,
  .ch-account-name,
  .ch-breadcrumb {
    display: none;
  }

  .ch-page-title {
    font-size: 1.15rem;
  }

  .ch-topbar-actions {
    gap: 6px;
  }

  .ch-account-link {
    padding: 5px;
  }

  .ch-icon-btn,
  .ch-account-link,
  .ch-login-link {
    min-width: 44px;
    min-height: 44px;
  }

  .ch-main-body {
    padding-block: 16px 28px;
  }

  .ch-body .card-body {
    padding: 16px;
  }

  .ch-body .listtable {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-context-toolbar-region {
    gap: 8px;
  }

  .ch-context-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 9px;
  }

  .ch-context-toolbar__heading,
  .ch-context-toolbar__summary,
  .ch-context-toolbar__footer {
    width: 100%;
  }

  .ch-context-toolbar__items {
    flex-wrap: nowrap;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    padding-block-end: 2px;
    scrollbar-width: thin;
  }

  .ch-context-item,
  .ch-context-toolbar .list-group-item {
    flex: 0 0 auto;
    max-inline-size: min(82vw, 320px);
    min-height: 44px;
  }

  .ch-body .dataTables_filter,
  .ch-body .dataTables_paginate {
    justify-self: stretch;
  }

  .ch-body .dataTables_filter input {
    width: 100%;
  }

  .ch-body .dataTables_paginate {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .ch-body .listtable {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "filter"
      "info"
      "table"
      "length"
      "paginate";
    align-items: stretch;
    gap: 12px;
    padding: 12px;
  }

  .ch-body .listtable.ch-datatable-single-page {
    grid-template-areas:
      "filter"
      "info"
      "table";
  }

  .ch-body .dataTables_filter {
    order: 1;
  }

  .ch-body .dataTables_info {
    order: 2;
  }

  .ch-body .dataTables_wrapper table,
  .ch-body .listtable table {
    order: 3;
  }

  .ch-body .dataTables_length {
    order: 4;
  }

  .ch-body .dataTables_paginate {
    order: 5;
  }

  .ch-body .table-container table.table-list:not(.ch-mobile-card-table),
  .ch-body .table-responsive > table:not(.ch-mobile-card-table) {
    min-inline-size: 680px;
  }

  .ch-body .ch-mobile-card-table,
  .ch-body .dataTables_wrapper table.ch-mobile-card-table,
  .ch-body .listtable table.ch-mobile-card-table {
    display: block;
    inline-size: 100% !important;
    min-inline-size: 0;
    border: 0;
  }

  .ch-body .ch-mobile-card-table thead {
    display: none;
  }

  .ch-body .ch-mobile-card-table tbody {
    display: grid;
    gap: 12px;
  }

  .ch-body .ch-mobile-card-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    border: 1px solid var(--ch-border);
    border-radius: 14px;
    background: var(--ch-surface);
    padding: 14px;
    box-shadow: var(--ch-shadow-sm);
    cursor: pointer;
  }

  .ch-body .ch-mobile-card-table tr:hover,
  .ch-body .ch-mobile-card-table tr:focus-within {
    background: var(--ch-surface);
    border-color: var(--ch-primary-border);
  }

  .ch-body .ch-mobile-card-table td,
  .ch-body .ch-mobile-card-table th {
    display: grid;
    grid-template-columns: minmax(88px, 34%) minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    grid-column: 1 / -1;
    border: 0;
    padding: 0;
    color: var(--ch-text);
    font-size: 0.94rem;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  .ch-body .ch-mobile-card-table td::before {
    content: attr(data-ch-label);
    color: var(--ch-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.25;
    text-transform: uppercase;
    white-space: normal;
  }

  .ch-body .ch-mobile-card-table td[data-ch-label=""]::before,
  .ch-body .ch-mobile-card-table .ch-mobile-card-control::before,
  .ch-body .ch-mobile-card-table .ch-mobile-card-title::before,
  .ch-body .ch-mobile-card-table .ch-mobile-card-status::before,
  .ch-body .ch-mobile-card-table td.dataTables_empty::before {
    display: none;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-title {
    display: block;
    grid-column: 1;
    grid-row: 1;
    min-inline-size: 0;
    color: var(--ch-heading);
    font-size: 1rem;
    font-weight: 800;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-title strong,
  .ch-body .ch-mobile-card-table .ticket-subject {
    display: block;
    color: var(--ch-heading);
    font-size: 1rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-title a,
  .ch-body .ch-mobile-card-table .ticket-number {
    display: inline-block;
    margin-block-start: 3px;
    color: var(--ch-muted);
    font-size: 0.86rem;
    font-weight: 650;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-title .ch-table-identifier {
    display: inline-flex;
    margin-block-start: 0;
    max-inline-size: 100%;
    color: var(--ch-heading);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-status {
    display: flex;
    justify-content: flex-end;
    grid-column: 2;
    grid-row: 1;
    min-inline-size: max-content;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-status .status,
  .ch-body .ch-mobile-card-table .ch-mobile-card-status .label,
  .ch-body .ch-mobile-card-table .ch-mobile-card-status .badge {
    white-space: nowrap;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-control {
    display: flex;
    align-items: center;
    grid-column: 1 / -1;
    min-block-size: 0;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-cell-empty {
    display: none;
  }

  .ch-body .ch-mobile-card-table td:not(.ch-mobile-card-title):not(.ch-mobile-card-status):not(.ch-mobile-card-control) {
    padding-block-start: 2px;
  }

  .ch-body .ch-mobile-card-table td:not(.ch-mobile-card-title):not(.ch-mobile-card-status):not(.ch-mobile-card-control) small,
  .ch-body .ch-mobile-card-table td:not(.ch-mobile-card-title):not(.ch-mobile-card-status):not(.ch-mobile-card-control) .text-muted {
    display: inline;
    color: var(--ch-muted) !important;
  }

  .ch-body .ch-mobile-card-table .ch-mobile-card-action {
    display: flex;
    justify-content: center;
    inline-size: 100%;
    margin-block-start: 10px;
    white-space: nowrap;
  }

  .ch-body .ch-mobile-card-table td.dataTables_empty {
    display: block;
    grid-column: 1 / -1;
  }

  .ch-body .table:not(.ch-mobile-card-table) th,
  .ch-body .table:not(.ch-mobile-card-table) td,
  .ch-body table:not(.ch-mobile-card-table) th,
  .ch-body table:not(.ch-mobile-card-table) td {
    padding: 12px 14px;
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-item {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    padding: 16px;
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-status {
    padding-block-start: 2px;
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-name .font-weight-bold {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-name .text-domain {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons {
    grid-column: 1 / -1;
    justify-content: stretch;
    inline-size: 100%;
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons .btn-group,
  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons .btn-view-details {
    flex: 1 1 min(100%, 220px);
  }

  .ch-dashboard-panel[menuItemName="Active Products/Services"] .div-service-buttons .btn-group > .btn:not(.dropdown-toggle) {
    flex: 1 1 auto;
    min-inline-size: 0;
  }

  .ch-dashboard-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-quick-actions {
    justify-content: flex-start;
  }

  .ch-dashboard-start {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 12px;
    padding: 24px 18px;
    text-align: start;
  }

  .ch-dashboard-copy {
    margin-inline: 0;
  }

  .ch-dashboard-actions {
    justify-content: flex-start;
  }

  .ch-dashboard-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .ch-dashboard-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-dashboard-tools {
    grid-template-columns: minmax(0, 1fr);
  }

  .ch-auth-page .ch-auth-header {
    position: static;
    padding: 14px 16px 8px;
  }

  .ch-auth-page .ch-primary-content {
    align-content: start;
    min-block-size: auto;
    padding: 18px 16px 28px;
  }

  .ch-auth-card {
    border-radius: 14px;
  }

  .ch-auth-card .card-body {
    padding: 24px 18px !important;
  }

  .ch-auth-card .card-footer {
    padding-inline: 18px;
    padding-block-end: 24px;
  }

  .ch-auth-title {
    margin-block-end: 18px;
  }

  .ch-auth-title h1 {
    font-size: clamp(1.75rem, 8vw, 2.05rem);
  }

  .ch-auth-brand .ch-brand-img {
    max-width: 160px;
    height: 40px;
  }

  .ch-auth-page .network-issue-alert {
    margin-inline: 0 !important;
  }

  .ch-auth-page .network-issue-alert .container {
    flex-wrap: wrap;
    padding: 8px 16px;
  }

  .ch-auth-page .network-issue-alert .alert-link {
    margin-inline-start: 0;
  }

  .ch-footer-grid {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 420px) {
  .ch-topbar-main,
  .ch-topbar-sub,
  .ch-container {
    padding-inline: 12px;
  }

  .ch-alert-btn,
  .ch-admin-return-link span {
    display: none;
  }

  .ch-auth-page .ch-auth-header {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
  }

  .ch-auth-home-link {
    min-height: 38px;
    padding-inline: 14px;
  }
}

@media (max-width: 360px) {
  .ch-auth-brand .ch-brand-img {
    max-width: 142px;
    height: 38px;
  }

  .ch-auth-home-link {
    padding-inline: 10px;
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-sidebar,
  .ch-skip-link {
    transition: none;
  }
}
